有一个在任务中执行的过程.我不希望其中一个同时执行.
这是检查任务是否已在运行的正确方法吗?
private Task task;
public void StartTask()
{
if (task != null && (task.Status == TaskStatus.Running || task.Status == TaskStatus.WaitingToRun || task.Status == TaskStatus.WaitingForActivation))
{
Logger.Log("Task has attempted to start while already running");
}
else
{
Logger.Log("Task has began");
task = Task.Factory.StartNew(() =>
{
// Stuff
});
}
}
Run Code Online (Sandbox Code Playgroud) 第一次调用我们的API总是非常慢.例如,下面演示了第一次调用完成所需的CPU使用率和时间:

第一次通话最多可能需要30秒,并且几乎可以占用100%的CPU.呼叫2和3需要200ms(他们应该这样做).在回收应用程序池之后,它将在第一次调用时执行相同的操作.
我已经阅读了一些有关IIS"热身"的内容,并完成了以下操作,但没有任何改变:
IIS 8应用程序初始化已安装:

我在IIS中有以下设置:




我实际上是在代码中设置这些RoleEntryPoint.OnStart().
using (var serverManager = new ServerManager())
{
serverManager.ApplicationPoolDefaults.ProcessModel.IdleTimeout = TimeSpan.Zero;
foreach (var application in serverManager.Sites.SelectMany(x => x.Applications))
{
application["preloadEnabled"] = true;
}
foreach (var applicationPool in serverManager.ApplicationPools)
{
applicationPool.AutoStart = true;
applicationPool["startMode"] = "AlwaysRunning";
applicationPool.ProcessModel.IdleTimeout = TimeSpan.Zero;
applicationPool.Recycling.PeriodicRestart.Time = TimeSpan.Zero;
}
serverManager.CommitChanges();
}
Run Code Online (Sandbox Code Playgroud)
我几乎可以肯定实体框架可能是罪魁祸首:
我们在EDMX模型"设计师"中生成大约100个表格的模型.
我们正在生成由EF Power Tools 生成的预编译视图.
运行以下 …
iis entity-framework iis-8 entity-framework-6 asp.net-web-api2
我试图在Visual Studio Online的Build vNext平台中使用xUnit测试适配器运行我们的xUnit测试.
根据本文的规定,我们需要提供指向的自定义测试适配器路径xunit.runner.visualstudio.testadapter.dll.
但是这个包由NuGet恢复到一个全局包文件夹,即C:\Users\{user}\.dnx\packages?
我如何在构建步骤中引用此文件夹?
我们正在使用VS 2015和DNX项目.
编辑:
我甚至尝试直接指向包路径DLL:
C:\Users\buildagent\.dnx\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build\_common
Run Code Online (Sandbox Code Playgroud)
它似乎仍然没有使用适配器:
Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe "C:\a\8ac4a4f6\Root\artifacts\bin\MyProject.UnitTest\release\dnx451\TransitApi.UnitTest.dll" /TestAdapterPath:C:\Users\buildguest\.dnx\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build\_common /UseVsixExtensions:true /logger:trx
Microsoft (R) Test Execution Command Line Tool Version 14.0.23107.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Warning: No test is available in C:\a\8ac4a4f6\Root\artifacts\bin\MyProject.UnitTest\release\dnx451\TransitApi.UnitTest.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
No results found to …Run Code Online (Sandbox Code Playgroud) xunit.net visual-studio-2015 dnx azure-devops azure-pipelines
将ASP.NET 5 Web应用程序部署到Azure Web App时,我收到500内部服务器错误.
如何获取此异常的详细信息和堆栈跟踪?
我做了以下但没有运气:
在启动时使用诊断错误页面:
app.UseErrorPage();
ASPNET_ENV在Azure门户中设置:
使用DNX beta 6.
我的计算机上安装了以下版本的.NET Core SDK:
请确认我理解其中的每一个(如果我可以卸载它们):
.NET Core SDK 1.0.0(x64)安装程序(x64):它与VS2017一起安装
.NET Core SDK 1.0.1(x64):在此处下载并手动安装.与上面的1.0.0 SDK完全相同,只是它包含对Fedora 24和OpenSUSE 42.1的支持.所以作为Windows用户,我可以卸载它吗?
其他四个Microsoft .NET Core 1.xx SDK是各种版本的VS2015(和project.json)预览工具,因此可以卸载吗?
在我的Azure环境中,我经常在修补,添加新服务,上下调整角色等等.问题是我总是不确定如何影响我的月度账单.在我不需要服务之后,我也害怕忘记杀死服务(例如,我错误地将Reporting Service运行了几周 - 非常昂贵!).
我正在寻找一个附加组件或服务,它可以让我了解我在Azure中消耗了多少钱.我不需要复杂的东西.一两个图表可能很棒(可能是烧毁).
我找到了这些但没有运气:
有谁知道这样的解决方案?
我刚刚在一台新机器上创建了一个工作区,从TFS获得了最新的项目,启用了NuGet Restore,我获得了以下(略读)输出:
1>------ Rebuild All started: Project: Caching, Configuration: Debug Any CPU ------
1> Restoring NuGet packages...
1> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
1> All packages listed in packages.config are already installed.
1> Caching Framework -> C:\MyProjLocation\Caching\bin\Debug\Caching.dll
2>------ Rebuild All started: Project: Library, Configuration: Debug Any CPU ------
2>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3245: Could not resolve this …Run Code Online (Sandbox Code Playgroud) msbuild visual-studio nuget nuget-package visual-studio-2013
我在netcoreapp2.0控制台应用程序中遇到以下NU1605依赖项错误:
NU1605 Detected package downgrade: System.Diagnostics.Debug from 4.3.0 to 4.0.11. Reference the package directly from the project to select a different version.
MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Diagnostics.Debug (>= 4.3.0)
MyProject -> System.Diagnostics.Debug (>= 4.0.11)
NU1605 Detected package downgrade: System.Runtime.Extensions from 4.3.0 to 4.1.0. Reference the package directly from the project to select a different version.
MyProject -> Colorful.Console 1.2.6 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Runtime.Extensions (>= 4.3.0)
MyProject -> …Run Code Online (Sandbox Code Playgroud) 我需要一个正在运行的发布任务的输出中的某些内容,以使其完成(身份验证代码)。但是控制台现在没有更新。我得到的只是“正在等待来自代理的控制台输出...”
在我们的自托管代理(Linux或Windows)和托管Ubuntu 1604代理上都会发生这种情况。
有问题的步骤是标准的Kubernetes任务:https : //github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/KubernetesV1
这并非总是发生。
azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline
假设我们有以下REST调用:
GET api/companies/5
Run Code Online (Sandbox Code Playgroud)
(获得id为5的公司)
如果公司'5'不存在,我们通常会返回一个404 Not Found回复.
但是现在,让我们接听这个电话:
GET api/companies/5/invoices/10
Run Code Online (Sandbox Code Playgroud)
(从公司5获得发票10)
现在,如果公司'5'不存在,我们还会退货404 Not Found吗?或者,如果无法找到最外层的资源(在这种情况下为发票10),则仅返回404.
会Bad Request也许是一个更好的选择吗?
rest api-design http-status-code-404 asp.net-web-api asp.net-web-api2
.net ×2
.net-core ×2
asp.net-core ×2
azure ×2
azure-devops ×2
dnx ×2
nuget ×2
api-design ×1
azure-pipelines-release-pipeline ×1
c# ×1
iis ×1
iis-8 ×1
msbuild ×1
rest ×1
xunit.net ×1