OWIN 中间件:查找请求是否具有匹配的路由
OWIN Middleware: find if the request has a matched route
我们想编写一个 OWIN 中间件来查看当前请求并查看它是否匹配任何映射的路由(我们正在使用 web.api,因此我们使用 httpRouteCollection.MapHttpRoute
注册路由方法。
如果当前请求与任何已知的配置路由不匹配,我们将使用自定义 404 消息拒绝它。
是否可以从 OWIN 上下文中确定当前请求是否与定义的路由之一匹配?
简短的回答是,不,你不能。 OWIN 中间件并非设计用于执行此操作。它独立于应用程序。
如果您想要自定义 404 错误页面,您可以在 web.config 文件中添加一个设置来为您完成此操作:
<configuration>
<system.webServer>
<httpErrors>
<error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
希望对您有所帮助。
我们想编写一个 OWIN 中间件来查看当前请求并查看它是否匹配任何映射的路由(我们正在使用 web.api,因此我们使用 httpRouteCollection.MapHttpRoute
注册路由方法。
如果当前请求与任何已知的配置路由不匹配,我们将使用自定义 404 消息拒绝它。
是否可以从 OWIN 上下文中确定当前请求是否与定义的路由之一匹配?
简短的回答是,不,你不能。 OWIN 中间件并非设计用于执行此操作。它独立于应用程序。
如果您想要自定义 404 错误页面,您可以在 web.config 文件中添加一个设置来为您完成此操作:
<configuration>
<system.webServer>
<httpErrors>
<error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
希望对您有所帮助。