我试图找到答案,但似乎没有直接讨论过很多.我有一个我的应用程序的组合根,我创建一个DI容器并在那里注册所有内容,然后解决所有依赖项所需的顶级类.由于这一切都在内部发生 - 因此很难对组合根进行单元测试.你可以做虚拟方法,受保护的字段等等,但我不是为了能够进行单元测试而引入这些东西的忠实粉丝.其他类没有大问题,因为它们都使用构造函数注入.所以问题是 - 根本测试组合根是否有意义?它确实有一些额外的逻辑,但并不多,在大多数情况下,在应用程序启动期间会弹出任何故障.我有一些代码:
public void Initialize(/*Some configuration parameters here*/)
{
m_Container = new UnityContainer();
/*Regestering dependencies*/
m_Distributor = m_Container.Resolve<ISimpleFeedMessageDistributor>();
}
public void Start()
{
if (m_Distributor == null)
{
throw new ApplicationException("Initialize should be called before start");
}
m_Distributor.Start();
}
public void Close()
{
if (m_Distributor != null)
{
m_Distributor.Close();
}
}
Run Code Online (Sandbox Code Playgroud) 我已经将项目设置为在IIS上运行了一段时间,当我按F5时它确实连接没有问题.但最近这停止了工作,当我按F5 /按下时我确实收到了这个错误Debug->Start debugging:
无法在Web服务器上启动调试.远程服务器返回错误:(404)Not Found.
这是我的设置:
我不确定发生了什么,可能是一些VS更新或Windows更新,但我试图谷歌无处不在,没有任何工作.如前所述,附加到流程工作正常,但这种更简单的方法停止了这一操作.
更新:
尝试过Process Monitor来找出出错的地方,看起来w3wp尝试访问路径MyProjectFolder\debugattach.aspx,结果是"NAME NOT FOUND".不知道这是否是问题的根源.
我想在我的Azure函数中实现一个非常简单的行为:如果在处理过程中出现异常,我想推迟下一次重试一段时间。据我所知,在服务总线中没有直接的可能性,例如(除非创建一条新消息),但服务总线触发器有可能ExponentialBackoffRetry。
我还没有找到任何有关服务总线连接如何工作的文档。即函数执行失败后消息会发生什么。
一种可能的方法是将消息保留在功能基础设施中,并在我认为的持续时间内不断更新锁定。关于我想知道的一些更实际的问题:
azure azureservicebus azure-functions azure-functions-runtime
我试图找到一些关于这两个目标的性能数据进行比较,但没有成功.我对在Windows上运行的asp.net5 Web应用程序感兴趣(例如,或者azure web app).在性能方面是否有任何显着差异,或者从目标角度来看,目标大致相等?
我已经检查过,当我将ASP.NET5部署到azure web应用程序时,在Web响应中服务器是IIS,所以我想IIS平台处理程序用于将其重定向到Kestrel.所以我想知道是否可以直接在Kestrel上运行,以及有什么好处/缺点(可能无论是否在Azure中).我想它会更快一些,因为IIS将从pipline中排除,但我认为它不应该是太多的开销......
当我尝试在Visual Studio Online中构建项目时出现此错误:
前端\ src \前端\ Startup.cs(65,49):错误CS0518:未定义或导入预定义类型'System.Void'C:\ a\1\s\Frontend\src\Frontend\Startup.cs(65 ,49):DNXCore,Version = v5.0错误CS0518:未定义或导入预定义类型'System.Void'[C:\ a\1\s\Frontend\src\Frontend\Frontend.xproj]
似乎错误发生在我引用另一个库(包类库)的地方.
PS我在这里有一些关于此的讨论:在Visual Studio Team Services中构建和部署(到Azure)ASP.NET 5的简单方法,但毕竟没有答案,所以我仍然无法构建它...
Web project.json:
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Web.Common": "1.0.0-*"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
Run Code Online (Sandbox Code Playgroud)
图书馆project.json
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516" …Run Code Online (Sandbox Code Playgroud) 我已经设置了带有角度的webpack 2,而且大多数它似乎都有效.它似乎并没有tree-shaking,因为我有一个几乎什么也没做的应用程序,而且vendor.js仍然是800+ KB.
似乎关于如何打开树摇晃的信息很少,但据我所知,它为ES6模块自动打开,但不适用于ES5.是这样吗?
最重要的是:如何使用webpack2对treecript/angular2应用树摇动?
有一些属性(例如CallerMemberNameC# 中的属性)非常方便,特别是对于日志记录目的。每个人(或者至少是我)似乎都缺乏的是CallerClassName,我们可以轻松地记录这样的内容,而无需显式传递this或带有类名的字符串:
MyClass.MyMethod 执行期间发生异常
是否有任何限制可以让我们更容易了解方法而不是类,或者它只是我们可以要求添加的缺失功能?
当我在 kubernetes 中定义例如部署时,有一个包含容器列表的部分,每个容器都包含一组端口,例如:
apiVersion: apps/v1
kind: Deployment
spec:
template:
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
现在这里的文档明确表示它不会影响连接:
要从容器公开的端口列表。在此处公开端口可为系统提供有关容器使用的网络连接的附加信息,但主要是信息性的。在此处不指定端口不会阻止该端口被公开。任何侦听容器内默认“0.0.0.0”地址的端口都可以从网络访问。无法更新。
现在看来它并没有真正影响任何东西,只是信息性的,但这究竟意味着什么,它在哪里使用?
我发现它的一个用途是,如果端口定义了一个名称,则可以通过该名称从服务中引用它。
是它还是这个规范还有其他用途?
kubernetes kubernetes-deployment kubernetes-container kubernetes-service kubernetes-networking
asp.net-core ×3
c# ×3
.net ×2
dnx ×2
angular ×1
asp.net ×1
async-await ×1
attributes ×1
azure ×1
azure-devops ×1
c#-8.0 ×1
coreclr ×1
dapper ×1
debugging ×1
iis ×1
kubernetes ×1
msbuild ×1
sql-server ×1
tfsbuild ×1
tree-shaking ×1
typescript ×1
webpack ×1