我正在努力解决的高级别问题:
鉴于我们的设计
- c#web api修改实体并检索视图模型
- 反应SPA前端
我希望能够有条件地将c#web api“关闭”并告诉SPA“网站已关闭进行维护”。这样做的目的是在过渡期间有人使用网站的情况下防止客户端出现奇怪的错误。
我必须解决的最初想法是在web.config检查中包装每个调用以查看该站点是否已关闭,如果是,则返回前端知道如何处理的硬编码错误响应。然而,我能想到的最简洁的方法是将服务注入每个web api控制器并在每个路由的开头调用它。我反而希望有办法避免这种样板。
在节点中,我将装饰执行此操作的包装函数中的所有路由。 C#对我来说有点陌生。
答案 0 :(得分:2)
如果您将WebAPI作为自己的ASP.NET站点托管,那么您可以在IIS根目录中放置一个app_offline.htm
文件,它将自动进入维护模式。
ASP.NET将立即为所有新请求提供服务器503和页面内容,同时允许现有请求完成。