目前,我正在研究API包装器.如果我把一个坏的Consumer Key,服务器将返回Status如403 Forbidden在标题.它还将传递自定义标头.我如何实际检索这些自定义标头?
这是从服务器接收的响应.
Cache-Control: private
Date: Wed, 01 May 2013 14:36:17 GMT
P3P: policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE"
Server: Apache/2.2.23 (Amazon)
Status: 403 Forbidden
X-Error: Invalid consumer key.
X-Error-Code: 152
X-Powered-By: PHP/5.3.20
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)
我需要检索X-Error和X-Error-Code.目前,我正在使用HttpClient类来处理请求.如果我在VS Studio 2012的Quick Watch下观看标题响应,我可以像这样找到它
((System.Net.Http.Headers.HttpHeaders)(response.Headers)).headerStore["X-Error-Code"].ParsedValue
有没有其他方法可以做到这一点?
编辑:
headerStore无法通过代码访问,因为这是私有字段.我只能通过Quick Watch窗口访问它.
这是我的请求片段:
var response = await _httpClient.PostAsync("/v3/oauth/request", content);
Run Code Online (Sandbox Code Playgroud) 由于我不了解线程,所以我有一个问题.我想在背景和背景方法中做一些事情我想在某些条件下切换回主线程,否则在后台工作.我该如何实现这一功能?我正在使用UI类中的StartSyncThread调用(c#)
async void StartSyncThread()
{
await DoSyncAsync();
}
Task DoSyncAsync()
{
return Task.Run(() => DoSync());
}
Run Code Online (Sandbox Code Playgroud)
在DoSync方法中,我想切换回主线程,以便我可以更改UI.请给我一个简单的解决方案来做到这一点.提前致谢!
我对如何使用命名数据卷(不是数据容器)感到困惑.
我有一个命名数据卷app_src,/usr/src/app使用docker compose文件挂载.但是,在对我的源代码(本地)进行更改后,构建映像不会更新卷.
我正在构建这样的图像,
docker-compose -f development.yml build并运行它docker-compose -f development.yml up -d.
为了确认卷没有改变,我附加到正在运行的容器中,并且确实没有更新源代码.
这是我的docker撰写文件development.yml和Dockerfile我的web服务.版本:'2'
services:
web:
restart: always
build: ./web
expose:
- "8000"
volumes:
- app_src:/usr/src/app
links:
- postgres:postgres
env_file: development.env
command: ./start_web.sh
volumes:
app_src: {}
FROM python:3.4.4
WORKDIR /usr/src/app
RUN rm -rf /usr/src/app/*
COPY . /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
我可以通过像这样安装主机来使它工作,
volumes:
- ./web/src:/usr/src/app
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu 16.04上运行docker 1.11.2.我的理解错了吗?我确实看了一下文档,但是我能找到任何能很好地解释音量的东西.
我正在学习Rust,我不明白为什么这不起作用.
#[derive(Debug)]
struct Node {
value: String,
}
#[derive(Debug)]
pub struct Graph {
nodes: Vec<Box<Node>>,
}
fn mk_node(value: String) -> Node {
Node { value }
}
pub fn mk_graph() -> Graph {
Graph { nodes: vec![] }
}
impl Graph {
fn add_node(&mut self, value: String) {
if let None = self.nodes.iter().position(|node| node.value == value) {
let node = Box::new(mk_node(value));
self.nodes.push(node);
};
}
fn get_node_by_value(&self, value: &str) -> Option<&Node> {
match self.nodes.iter().position(|node| node.value == *value) {
None => None, …Run Code Online (Sandbox Code Playgroud) 基于Docker的Postgres 文档,我可以在其中创建任何*.sql文件/docker-entrypoint-initdb.d并使其自动运行。
我有init.sql包含CREATE DATABASE ronda;
在我的docker-compose.yaml,我有
web:
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
volumes:
- /usr/src/app/static
env_file: .env
command: /usr/local/bin/gunicorn ronda.wsgi:application -w 2 -b :8000
nginx:
restart: always
build: ./nginx/
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
restart: always
build: ./postgres/
volumes_from:
- data
ports:
- "5432:5432"
data:
restart: always
build: ./postgres/
volumes:
- /var/lib/postgresql
command: "true"
Run Code Online (Sandbox Code Playgroud)
还有我的postgres Dockerfile,
FROM …Run Code Online (Sandbox Code Playgroud) 我正在学习为WP7(芒果)创建一个应用程序,并以某种方式解决这个问题.这不是我的应用程序的实际代码,而是同一问题的简化版本.我认为主要是因为缺乏对绑定如何运作的深刻理解.
XAML.
<TextBlock x:Name="PageTitle" Text="{Binding Title}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
Run Code Online (Sandbox Code Playgroud)
代码背后.
private MainPageViewModel viewModel;
// Constructor
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
viewModel = new MainPageViewModel();
this.DataContext = viewModel;
}
private void ApplicationBarIconButton_Click(object sender, EventArgs e)
{
viewModel.GenerateTitle();
}
Run Code Online (Sandbox Code Playgroud)
和我的ViewModel.
private static int counter = 0;
private string title;
public string Title
{
get { return title; }
set
{
if (title != value)
{
title = value;
OnPropertyChanged("Title");
}
}
} …Run Code Online (Sandbox Code Playgroud)