1

我们想编写一个 OWIN 中间件来查看当前请求并查看它是否匹配任何映射的路由(我们使用的是 web.api,因此我们使用该httpRouteCollection.MapHttpRoute方法注册路由。

如果当前请求与任何已知的配置路由不匹配,我们希望使用自定义 404 消息拒绝它。

是否可以从 OWIN 上下文中确定当前请求是否与定义的路由之一匹配?

4

1 回答 1

3

简短的回答是,不,你不能。OWIN 中间件并非专门为此而设计的。它独立于应用程序。

如果您想要自定义 404 错误页面,您可以在 web.config 文件中添加一个设置来为您执行此操作:

<configuration>
    <system.webServer>
        <httpErrors>
            <error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

希望有帮助。

于 2015-12-22T14:33:40.767 回答