自定义Owin中间件被击中两次

时间:2016-06-11 20:18:43

标签: c# asp.net owin

我有自定义owin middlware设置非常简单,并且在我更改web.config中的处理程序之前按预期工作并添加了这个:

<handlers>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <remove name="OPTIONSVerbHandler" />
  <remove name="TRACEVerbHandler" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

我希望能够使用我的API处理所有类型的请求,似乎以这种方式更新处理程序是唯一的方法,但是一旦我将其添加到配置文件中,我的自定义owin middlware就开始了每个请求点击两次:

public class RequestMiddleware : OwinMiddleware
{
    public RequestMiddleware(OwinMiddleware next) : base(next)
    {
    }

    public async override Task Invoke(IOwinContext context)
    {
        string name = context.Request.Headers["Repository"];

        if (string.IsNullOrEmpty(name))
        {
            await Next.Invoke(context);
            return;
        }

        Console.WriteLine("Custom Owin Middlware Reqeusted");

        await Next.Invoke(context);
    }
}

为什么这个中间件突然开始被击中两次?我看了每次被击中的请求,一切看起来都一样。起初我以为可能是一个OPTIONS请求,但它们都是GET请求。这并不是使用CORS请求的,但它是我脑海中唯一突出的东西。

0 个答案:

没有答案