那么,在下面的代码片段中,为什么ReadAsStringAsync是异步方法?
var response = await _client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Run Code Online (Sandbox Code Playgroud)
最初我希望SendAsync发送请求并将响应流加载到内存中,此时读取该流将是进程内CPU工作(而不是真正的异步).
走下源代码兔洞,我到达了这个:
int count = await _stream.ReadAsync(destination, cancellationToken).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)
这让我觉得可能连接是打开的,直到响应流实际从进程外的某些源读取?我完全相信我缺少一些关于Http Connections流如何工作的基础知识.
我在单独的撰写文件中创建了两个容器(为应用程序隔离而完成——每个应用程序可能在撰写文件中定义了多个容器,例如后备数据库)。
这些容器通过名为“common”的外部网络链接。
一个示例撰写文件是:
version: '2'
services:
rabbitmq:
image: "rabbitmq:3-management"
hostname: "rabbitmq"
container_name: "rabbitmq"
environment:
RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG"
RABBITMQ_DEFAULT_USER: "rabbitmq"
RABBITMQ_DEFAULT_PASS: "rabbitmq"
RABBITMQ_DEFAULT_VHOST: "/"
ports:
- "15672:15672"
- "5672:5672"
networks:
default:
external:
name: common
Run Code Online (Sandbox Code Playgroud)
Docker 版本:
root@server:~/# docker version
Client:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Mon, 10 Oct 2016 21:38:17 +1300
OS/Arch: linux/amd64
Server:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Mon, 10 Oct 2016 21:38:17 +1300
OS/Arch: linux/amd64
root@server:~/# …Run Code Online (Sandbox Code Playgroud) 运行时:netcoreapp2.0
ASP.Net 核心:2.0.1
英孚核心:2.0.1
Microsoft.EntityFrameworkCore.SqlServer:2.0.1
因此,我正在开发一个被许多服务使用的旧数据库,原始创建者将一个表的 PK 定义为短表,并将该表的 FK 定义为 int。我有可能处理这个案子吗?
注意:此时改变列类型是不可行的。
考虑两个类:
public class Database {
public short DatabaseId { get; set; }
public Database { get; set; }
}
public class Client {
public int ClientId { get; set; }
public int DatabaseId { get; set; }
public Database Database { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试:
public int DatabaseId { get; set; }
[ForeignKey("DatabaseId")] public Database Database { get; set; }
Run Code Online (Sandbox Code Playgroud)
投掷
System.InvalidOperationException: The …Run Code Online (Sandbox Code Playgroud) 我正在向 WebAPI 发出 GET 请求并返回一个对象,如下所示: http ://s12.postimg.org/leoykz3rh/debug1.png
但是,当我在客户端检索对象时,Elements中的对象是空的,没有结构: http://s12.postimg.org/cie6h1d59/debug2.jpg
这是Elements中包含的对象的类定义
public class LineElement
{
int ID { get; set; }
int X { get; set; }
int Y { get; set; }
int W { get; set; }
int H { get; set; }
string Code { get; set; }
string Color { get; set; }
public LineElement(int pID, int? pX, int? pY, int? pW, int? pH, string pCode, string pColor)
{
ID = pID;
X = …Run Code Online (Sandbox Code Playgroud)