自托管中的代码可以工作两次

时间:2016-03-04 11:35:17

标签: c# asp.net-web-api owin self self-hosting

在我的OWIN自主应用程序中,我有控制器:

[AllowAnonymous]
public class AnonController : ApiController
{
    [AllowAnonymous]
    public string Get()
    {
        Debug.WriteLine("DEBUG");
        return "succesful";
    }
}

因此,在发出请求后,在调试窗口中我看到以下内容:

DEBUG
DEBUG

我试图调试 - 似乎代码执行一次。

我运行主机作为服务,应用程序--WindowsService。 WinService.cs中的部分代码

using (WebApp.Start<Startup>(url: siteUrl))
{
   Thread.Sleep(Timeout.Infinite);
}

直到这一刻代码执行一次。

1 个答案:

答案 0 :(得分:3)

你是如何提出要求的?

不确定这是否相关但我在过去从Chrome测试 GET 操作时发现了类似行为。

Chrome似乎试图在地址栏中输入资源时“预取”资源,然后在实际提交请求时再次“