我遇到了最新的.net版本和.xdocument库的问题.
我的project.json看起来像这样:
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-beta4",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
"System.Xml.XDocument": "4.0.10-beta-23109"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx451": { }
},
Run Code Online (Sandbox Code Playgroud)
我的代码是这样的:
var xd = XDocument.Parse(str);
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:
Severity Code Description Project File Line
Error CS0433 The type 'XDocument' exists in both 'System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System.Xml.XDocument, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' WebApplication2.DNX 4.5.1 ValuesController.cs 23
Run Code Online (Sandbox Code Playgroud)
只是尝试使用System.Xml.Linq.XDocument xd =或System.Xml.XDocument xd =似乎没有工作来解决它,我还能尝试什么?
我似乎无法在新的Asp.net MVC 6中更改我的controller-method的返回内容类型.
我尝试了各种变化:
Context.Response.Headers.Add("Content-type", "text/x-vcard");
Run Code Online (Sandbox Code Playgroud)
在旧的WebApi时代,我可以使用它,并更改格式化程序:
return Request.CreateResponse(HttpStatusCode.OK, data, JsonMediaTypeFormatter.DefaultMediaType);
Run Code Online (Sandbox Code Playgroud)
我可以在MVC 6中做类似的事情吗?
我想知道处理嵌套mysql查询的最佳方法是nodejs.
所以像这样:
connection.query("SELECT * FROM blogs ORDER BY time DESC", function(err, blogs, fields) {
for (blog in blogs) {
connection.query("SELECT * FROM tags WHERE blog_id='blog.id' ", function(err, tags, fields) {
blog.tags = tags
});
}
res.send(blogs)
});
Run Code Online (Sandbox Code Playgroud)
由于异步性质,这显然不起作用.在获取标记之前已经返回结果.
我一直在阅读节点和回调,承诺似乎是要走的路.但我无法看到在这个小例子中我最好如何使用它们.
谢谢!
目前,当我们更新 Docker Swarm 服务时,我们只需在每个环境中运行相关命令即可。因此,例如,如果我们需要将安装添加到外部文件夹,我们只需在测试和生产中运行“docker service --mount-add ...”。
然而,这似乎与基础设施即代码的想法不一致。目前,很难重现任何正在运行的 Docker 服务,我们依靠文档来了解这些服务的配置方式。
Docker Swarm 中有什么可以避免这个问题的吗?所以我想在配置文件中指定我的服务配置,并让 Docker Swarm 基于此配置文件更新配置。因此,当在每个环境中使用相同的“配置”文件时,我确信它们都是相同的,并且该文件成为文档。
使用 Nvidia-docker 运行时在 docker-container 中运行(保持所有 python 版本相同),然后在本地执行时,运行下面的代码片段需要两倍的时间。
我尝试了各种不同的基础映像,但它们的运行时间相似(较慢)。我原以为在 Docker 容器内运行代码不会影响运行时性能?所以我觉得我错过了一些东西。
import numpy as np
from time import time
import torch
def run():
print("doing run")
random_data = []
for _ in range(320):
random_data.append(np.random.randint(256, size=(1, 84, 84)))
tensor = torch.tensor(random_data, device="cuda")
print(tensor.shape)
n_runs = int(1e3)
runtimes = []
for i in range(n_runs):
start = time()
run()
end = time()
took = end-start
runtimes.append(took)
print(f"It took {took} second")
print("====")
print(f"avg_runtime: {np.average(runtimes)}")
Run Code Online (Sandbox Code Playgroud) 我们目前正在使用Neo4j数据库,我们需要某种id来识别节点.
例如,我们有像CurrentUserHasAccess(NodeId)这样的函数
在其他Stackoverflow帖子上,我读到使用内部neo4j-identifier是一个坏主意,因为它可能会随着时间的推移而改变.但是,当我们不使用此ID链接数据时,我认为这不是问题.
但是我似乎无法找到关于这个主题的任何官方消息来源.
我想使用此ID,因为我们不需要担心唯一性,更重要的是索引.
我是RabbitMQ的新手,我在文档中有些迷失.
目前作为一个例子,我正在尝试构建一个监听队列的小型邮件服务器.但我有点卡在我应该放置我的服务所具有的参数(目的地,主题,......)
我应该将它们放在某些编码格式(json)中,在我的消息中,还是应该使用header-construction,如下例所示:
string message = "Hello World!";
var body = Encoding.UTF8.GetBytes(message);
var properties = new BasicProperties();
properties.Headers = new Dictionary<string, object>();
properties.Headers.Add("destination", "matthias123@localhost");
channel.BasicPublish(exchange: "", routingKey: "sendmail", basicProperties: properties,body: body);
Run Code Online (Sandbox Code Playgroud)
使用标题是否提供额外的好处?例如,是否可以过滤发送到特定目的地的消息?
我正在尝试为我的WebApi项目创建自定义授权属性.
在这个属性中,我想注入一个IAuthModule对象.我不知道如何实现这一点.我在网上找到了一些解决方案,但我没有成功.
这是我到目前为止:
public void Configuration(IAppBuilder app)
{
// WebApi config
HttpConfiguration config = new HttpConfiguration();
// SimpleInjector
var container = new SimpleInjector.Container();
container.Register<IAuthModule, CoreAuthModule>();
container.RegisterWebApiFilterProvider(config);
container.RegisterWebApiControllers(config);
container.Verify();
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
// Setup Oauth
ConfigureOAuth(app, container.GetInstance<IAuthModule>());
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
Run Code Online (Sandbox Code Playgroud)
和属性:
public class CustomAuthorizationAttribute : AuthorizeAttribute
{
// how can I inject something here?
public IAuthModule AuthModule { get; set; }
protected override bool IsAuthorized(HttpActionContext actionContext)
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 最近,我遇到了一个必须基于参数选择类型的问题。例如:用于发送通知的类,该类应根据输入参数选择正确的通道(电子邮件,短信,...)。
我看起来像这样:
public class NotificationManager
{
IEmail _email;
ISms _sms;
public NotificationManager (IEmail email, ISMS sms)
{
_email = email;
_sms = sms;
}
public void Send(string type)
{
switch(type)
{
case "email":
_email.send;
break;
case "sms":
_sms.send;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当我使用这种构造时,构造函数在发送通知的所有不同方法中迅速增长。
我真的不喜欢这样,这使得对选择单元进行单元测试变得难以操作。
我不能简单地说,new email();因为通知类型的电子邮件将依赖IEmailManager,这只会解决问题。
是否有某种模式可以执行相同的操作,但是方式更好,更清洁?
asp.net-core ×2
c# ×2
docker ×2
.net ×1
architecture ×1
asp.net ×1
docker-swarm ×1
messaging ×1
mysql ×1
neo4j ×1
node.js ×1
pytorch ×1
rabbitmq ×1
xml ×1