我正在使用azure app service和DB作为我的C#ODATA API和DB作为我的手机应用程序的后端。 我只有一个托管10个端点的应用服务。有时我需要发布新版本,并且在部署期间我不想要任何传入请求。
我不介意用户在维护期间无法完成请求。
Azure或API中是否有任何内容可以让我: 1.手动关闭api / app服务? 2.能够通知用户维护正在进行中吗?
这是我的试用版: 我唯一能想到的就是这个。用户总是使用" odata"在他们的网址请求中:https://myserverl/odata/Users
在webapi.config中设置如下:
config.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());
我将routePrefix(第二个odata)放在web.config中。 当我需要关闭访问权限时,我更改了我的web.config(即使在将代码发布到Azure后我也可以手动访问),如下所示:
<add key="odata" value="noaccess" />
并在我的webapi.config中:
string odata = ConfigurationManager.AppSettings["odata"].ToString();
config.MapODataServiceRoute("odata", odata, builder.GetEdmModel());
然后保存web.config,它将重置服务器和所有传入的请求,其中包含&#34; odata&#34;会导致错误。我总是可以稍后再回来。
此方法将阻止用户在维护期间发送请求,但不会让他们知道发生了什么。
答案 0 :(得分:0)
我明白了。 当我从我的客户端调用服务器时,我验证响应是在200和200之间。 299在解析结果或任何其他进一步处理之前。 所以现在,我还检查服务器可能的响应,它可能是403(访问被拒绝)或503(服务器不可用)。我可以在其中添加代码以通知用户。
在Azure中,只需停止应用服务,就会生成其中一个错误代码。
注意:您必须检查两者:403&amp; 503.