Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有性能计数器的Microsoft Owin自主机在退出时挂起_C#_.net_Asp.net Web Api_Owin_Performancecounter - Fatal编程技术网

C# 带有性能计数器的Microsoft Owin自主机在退出时挂起

C# 带有性能计数器的Microsoft Owin自主机在退出时挂起,c#,.net,asp.net-web-api,owin,performancecounter,C#,.net,Asp.net Web Api,Owin,Performancecounter,我在windows上安装了Owin自托管web api应用程序(没有任何控制器),其中包含性能计数器,当我尝试停止它(停止所有内部服务、线程、dispose web主机等)时,它会挂起约10秒,然后关闭。我的应用程序中没有剩余线程。它只需等待约10秒,然后退出。 如果删除性能计数器逻辑或web主机创建,则应用程序将正常关闭 使用的Nuget软件包: Microsoft.Owin.3.0.1 Microsoft.Owin.Host.HttpListener.3.0.1 Microsoft.Owin

我在windows上安装了Owin自托管web api应用程序(没有任何控制器),其中包含性能计数器,当我尝试停止它(停止所有内部服务、线程、dispose web主机等)时,它会挂起约10秒,然后关闭。我的应用程序中没有剩余线程。它只需等待约10秒,然后退出。 如果删除性能计数器逻辑或web主机创建,则应用程序将正常关闭

使用的Nuget软件包:

Microsoft.Owin.3.0.1
Microsoft.Owin.Host.HttpListener.3.0.1
Microsoft.Owin.Hosting.3.0.1
Newtonsoft.Json.6.0.8
Owin.1.0
System.Net.Http
System.Net.Http.Formatting (Microsoft.AspNet.WebApi.Client.5.2.3)
System.Web.Http (Microsoft.AspNet.WebApi.Core.5.2.3)
System.Web.Http.Owin (Microsoft.AspNet.WebApi.Owin.5.2.3)
使用的.Net框架:v4.5

Program.cs

public class Program
{
    private static PerformanceCounter Counter;

    public static void Main(string[] args)
    {
        using (var webHost = WebApp.Start<Startup>("http://127.0.0.1:5000/"))
        {
            var process = Process.GetCurrentProcess();
            Counter = new PerformanceCounter("Process", "Thread Count", process.ProcessName, true);

            Console.WriteLine(Counter.NextValue());

            Console.ReadLine();

            Console.WriteLine("Exit1");
        }

        Console.WriteLine("Exit2"); // hangs after this
    }
}
有什么想法吗?
提前感谢。

您能在github上分享一个示例吗?我来试试。试试这个。试试这个。没有遇到任何问题(尝试了调试/发布模式,无论是否连接了调试器)。也许是你的电脑?我的同事也有同样的问题。我在家里检查了这个,结果是一样的。尝试了VS2012和VS2015社区版。还尝试了framework v4.6-结果相同。此问题仅在Windows 7上出现。我们在Win8和Win10上进行了检查-效果良好。您有机会在win7上查看它吗?您可以在github上共享一个示例吗?我来试试。试试这个。试试这个。没有遇到任何问题(尝试了调试/发布模式,无论是否连接了调试器)。也许是你的电脑?我的同事也有同样的问题。我在家里检查了这个,结果是一样的。尝试了VS2012和VS2015社区版。还尝试了framework v4.6-结果相同。此问题仅在Windows 7上出现。我们在Win8和Win10上进行了检查-效果良好。您有机会在win7上检查它吗?
public class Startup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        var config = new HttpConfiguration();

    // Web API routes
        config.MapHttpAttributeRoutes();
        config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly;
    }
}