【发布时间】:2017-03-09 07:50:48
【问题描述】:
我正在为我的 C# ODATA API 和数据库使用天蓝色应用服务和数据库作为我的手机应用程序的后端。 我只有一个托管 10 个端点的应用程序服务。有时我需要发布新版本,并且在部署期间我不希望收到任何传入请求。
我不介意用户在维护期间无法完成他们的请求。
Azure 或 API 中有什么可以让我: 1.手动关闭api/app服务? 2. 能够通知用户正在进行维护吗?
这是我的试验: 我唯一能想到的就是这个。虽然用户总是在他们的 url 请求中使用“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,所有具有“odata”的传入请求都将导致错误。我可以稍后再设置它。
此方法将阻止用户在维护期间发送请求,但不会让他们知道发生了什么。
【问题讨论】:
标签: c# azure asp.net-web-api odata