Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#web api 2-任何包装所有路由的方法;网站关闭了;?_C#_Asp.net Web Api2 - Fatal编程技术网

c#web api 2-任何包装所有路由的方法;网站关闭了;?

c#web api 2-任何包装所有路由的方法;网站关闭了;?,c#,asp.net-web-api2,C#,Asp.net Web Api2,我试图解决的高层次问题: 鉴于我们的设计 -c#用于修改实体和检索视图模型的web api -反应水疗前端 我希望能够有条件地关闭c#web api,并告诉SPA“网站已关闭,需要维护”。这样做的目的是防止在过渡期间有人使用站点时客户端出现奇怪的错误 我解决这个问题的最初想法是将每个调用都包装在一个web.config检查中,以查看站点是否关闭,如果关闭,则返回一个硬编码的错误响应,前端知道如何处理。然而,我能想到的最干净的方法是将服务注入每个web api控制器,并在每个路由的开始处调用它。相

我试图解决的高层次问题:

鉴于我们的设计
-c#用于修改实体和检索视图模型的web api
-反应水疗前端

我希望能够有条件地关闭c#web api,并告诉SPA“网站已关闭,需要维护”。这样做的目的是防止在过渡期间有人使用站点时客户端出现奇怪的错误

我解决这个问题的最初想法是将每个调用都包装在一个web.config检查中,以查看站点是否关闭,如果关闭,则返回一个硬编码的错误响应,前端知道如何处理。然而,我能想到的最干净的方法是将服务注入每个web api控制器,并在每个路由的开始处调用它。相反,我希望找到一种方法来避免这种陈词滥调


在node中,我将在一个包装器函数中装饰所有路由。C#对我来说有点陌生。

如果您将WebAPI作为自己的ASP.NET站点托管,那么您可以在IIS根目录中放置一个
app#u offline.htm
文件,它将自动进入维护模式


ASP.NET将立即为所有新请求提供服务器503和页面内容,同时允许完成现有请求。

如果您将WebAPI作为自己的ASP.NET站点托管,则可以在IIS根目录中放置一个
app_offline.htm
文件,它将自动进入维护模式


ASP.NET将立即为所有新请求提供服务器503和页面内容,同时允许完成现有请求。

解决方案的可能副本肯定是相同的。似乎每个meta stackexchange将此作为副本关闭是正确的方法。解决方案的可能副本肯定是相同的。似乎将此作为副本关闭是每个meta stackexchange的正确方式。我不确定“将您的WebAPI作为自己的ASP.NET站点托管”是什么意思,请原谅我对.NET知识的缺乏。现在我们只有前端资产(index.html、js、css等)由IIS静态提供服务。我不知道ASP.NET有任何部分,它似乎是web api 2的合适标签,这是一个非常基本的主题。IIS使用ASP.NET托管/运行.NET站点,包括WebForms、MVC、WebAPI等,到那时可能就可以了。我现在来测试一下。我对ASP的理解有限,因为它包含了页面的服务器端呈现,例如经典ASP和mvc。我没有意识到它也包含了WebAPI。非常好用。非常感谢您的时间,我不知道您所说的“将您的WebAPI作为自己的ASP.NET站点托管”是什么意思,请原谅我对.NET知识的缺乏。现在我们只有前端资产(index.html、js、css等)由IIS静态提供服务。我不知道ASP.NET有任何部分,它似乎是web api 2的合适标签,这是一个非常基本的主题。IIS使用ASP.NET托管/运行.NET站点,包括WebForms、MVC、WebAPI等,到那时可能就可以了。我现在来测试一下。我对ASP的理解有限,因为它包含了页面的服务器端呈现,例如经典ASP和mvc。我没有意识到它也包含了WebAPI。非常好用。非常感谢你抽出时间