c# web api 2 - 有什么方法可以包装 "site is down" 的所有路由?
c# web api 2 - any way to wrap all routes for "site is down"?
我要解决的高级问题:
鉴于我们的设计
- c# web api 修改实体和检索视图模型
- 反应 SPA 前端
我希望能够有条件地打开 c# web api "off" 并告诉 SPA "site is down for maintenance"。这样做的目的是为了防止在转换期间有人在使用网站时客户端出现奇怪的错误。
我必须解决这个问题的最初想法是将每个调用包装在 web.config 检查站点是否已关闭,如果是,return 一个硬编码的错误响应前端知道要做什么。然而,我能想到的最干净的方法是将服务注入每个 web api 控制器并在每个路由的开头调用它。相反,我希望有一种方法可以避免这种样板文件。
在节点中,我会在一个包装函数中装饰所有的路由。 C#对我来说有点陌生。
如果您将 WebAPI 作为自己的 ASP.NET 站点托管,那么您可以在 IIS 根目录中放置一个 app_offline.htm
文件,它会自动进入维护模式。
ASP.NET 将立即为所有新请求提供服务器 503 和页面内容,同时允许现有请求完成。
我要解决的高级问题:
鉴于我们的设计
- c# web api 修改实体和检索视图模型
- 反应 SPA 前端
我希望能够有条件地打开 c# web api "off" 并告诉 SPA "site is down for maintenance"。这样做的目的是为了防止在转换期间有人在使用网站时客户端出现奇怪的错误。
我必须解决这个问题的最初想法是将每个调用包装在 web.config 检查站点是否已关闭,如果是,return 一个硬编码的错误响应前端知道要做什么。然而,我能想到的最干净的方法是将服务注入每个 web api 控制器并在每个路由的开头调用它。相反,我希望有一种方法可以避免这种样板文件。
在节点中,我会在一个包装函数中装饰所有的路由。 C#对我来说有点陌生。
如果您将 WebAPI 作为自己的 ASP.NET 站点托管,那么您可以在 IIS 根目录中放置一个 app_offline.htm
文件,它会自动进入维护模式。
ASP.NET 将立即为所有新请求提供服务器 503 和页面内容,同时允许现有请求完成。