小编Dav*_*New的帖子

在开始新任务之前检查任务是否已在运行

有一个在任务中执行的过程.我不希望其中一个同时执行.

这是检查任务是否已在运行的正确方法吗?

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)

.net c# parallel-processing task-parallel-library

33
推荐指数
2
解决办法
3万
查看次数

ASP.NET Web Api 2/EF6首先调用初始化性能

第一次调用我们的API总是非常慢.例如,下面演示了第一次调用完成所需的CPU使用率和时间:

CPU使用率

第一次通话最多可能需要30秒,并且几乎可以占用100%的CPU.呼叫2和3需要200ms(他们应该这样做).在回收应用程序池之后,它将在第一次调用时执行相同的操作.

我已经阅读了一些有关IIS"热身"的内容,并完成了以下操作,但没有任何改变:

IIS 8应用程序初始化已安装:

IIS 8应用程序初始化

我在IIS中有以下设置:

  • Start Mode设置为AlwaysRunning:

AlwaysRunning

  • 回收超时设置为0:

回收超时

  • 空闲超时设置为0:

空闲超时

  • 在网站上将Preload Enabled设置为true:

预加载已启用

我实际上是在代码中设置这些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

28
推荐指数
1
解决办法
4644
查看次数

使用xUnit适配器在TFS/VSO Build vNext中运行单元测试

我试图在Visual Studio Online的Build vNext平台中使用xUnit测试适配器运行我们的xUnit测试.

根据本文的规定,我们需要提供指向的自定义测试适配器路径xunit.runner.visualstudio.testadapter.dll.

但是这个包由NuGet恢复到一个全局包文件夹,即C:\Users\{user}\.dnx\packages

我如何在构建步骤中引用此文件夹?

VSO vNext构建测试步骤

我们正在使用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

24
推荐指数
1
解决办法
4796
查看次数

在Azure Web应用程序中显示ASP.NET 5错误页面

将ASP.NET 5 Web应用程序部署到Azure Web App时,我收到500内部服务器错误.

在此输入图像描述

如何获取此异常的详细信息和堆栈跟踪?

我做了以下但没有运气:

  • 在启动时使用诊断错误页面:

    app.UseErrorPage();

  • ASPNET_ENV在Azure门户中设置:

Azure Web App应用程序设置

使用DNX beta 6.

azure azure-web-sites asp.net-core-mvc dnx asp.net-core

24
推荐指数
2
解决办法
5695
查看次数

.NET Core SDK版本 - 要卸载哪个版本?

我的计算机上安装了以下版本的.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)预览工具,因此可以卸载吗?

.net-core asp.net-core

23
推荐指数
1
解决办法
2万
查看次数

Azure实时成本监控

在我的Azure环境中,我经常在修补,添加新服务,上下调整角色等等.问题是我总是不确定如何影响我的月度账单.在我不需要服务之后,我也害怕忘记杀死服务(例如,我错误地将Reporting Service运行了几周 - 非常昂贵!).

我正在寻找一个附加组件或服务,它可以让我了解我在Azure中消耗了多少钱.我不需要复杂的东西.一两个图表可能很棒(可能是烧毁).

我找到了这些但没有运气:

有谁知道这样的解决方案?

azure

22
推荐指数
1
解决办法
1万
查看次数

NuGet不在构建时恢复包

我刚刚在一台新机器上创建了一个工作区,从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

22
推荐指数
4
解决办法
4万
查看次数

错误NU1605检测到包降级

我在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)

.net nuget .net-core visual-studio-2017 .net-core-2.0

22
推荐指数
7
解决办法
2万
查看次数

Azure DevOps Pipelines“正在等待来自代理的控制台输出...”

我需要一个正在运行的发布任务的输出中的某些内容,以使其完成(身份验证代码)。但是控制台现在没有更新。我得到的只是“正在等待来自代理的控制台输出...”

在此处输入图片说明

在我们的自托管代理(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

22
推荐指数
1
解决办法
2232
查看次数

404 Not Found or Bad Request?

假设我们有以下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

21
推荐指数
2
解决办法
2万
查看次数