您如何将 Web 服务置于维护模式?
我已经尝试过app_offline.htm
,似乎不适用于 Web 服务。确实适用于网站。
app_offline.htm
适用于网站,但不适用于 Web 服务。当我通过据称正在维护的代码调用 Web 服务功能时(将app_offline.htm
IIS Web 服务的根目录下),我仍然像往常一样得到正确的响应。
理想情况下,我希望正在维护的 Web 服务向我返回一条消息,例如“正在维护”。
您如何将 Web 服务置于维护模式?
我已经尝试过app_offline.htm
,似乎不适用于 Web 服务。确实适用于网站。
app_offline.htm
适用于网站,但不适用于 Web 服务。当我通过据称正在维护的代码调用 Web 服务功能时(将app_offline.htm
IIS Web 服务的根目录下),我仍然像往常一样得到正确的响应。
理想情况下,我希望正在维护的 Web 服务向我返回一条消息,例如“正在维护”。
您可以按照this answer to another question的建议编辑您的 Global.asax 。然后在您处于维护模式时通过设置标志来触发它
我认为,当服务不可用时,您应该以503 Service Unavailable 状态响应;但是你可以对响应做任何你喜欢的事情。
为您的 Web 服务创建一个实用程序函数,该函数检查app_offline.htm
您网站的根路径是否存在,并做出相应的响应。
请注意,如果您想使用它,您可以使用 WCF 管道的一部分(假设您使用的是 WCF 而不是旧的 .ASMX 服务)通过使用属性(例如,此方法)来修改您的服务/方法)。