验证Azure托管服务的端点

时间:2012-12-13 08:06:40

标签: azure azure-web-roles

我已经部署了一个azure WCF托管服务。我创建了一个服务和一个服务合同。如果我将其称为以下内容,一切正常:

http://myexampleservice.cloudapp.net/TestSertvice.svc/Test1

现在,我们要捕获所有无效请求,这些请求没有正确的服务名称或正确的操作名称。例如,以下表格的所有请求:

http://myexampleservice.cloudapp.net/TestSertvice12.svc/Test1

有没有办法做到这一点?

如果我在无效请求上面调用,那么服务会将响应状态返回为404.如果天花板流量管理器收到太多此类请求,是否有可能降级该服务?

-Manish

1 个答案:

答案 0 :(得分:0)

这实际上很容易做到。首先,您需要捕获在您的实例上发生的404请求:

<customErrors mode="On" >
       <error statusCode="404" redirect="~/Errors/Error404.aspx" />
</customErrors>   

每次发生404错误时,用户/消费者都将被重定向到Error404.aspx,您可以将此事件添加到本地计数器(文件或静态变量)或共享计数器(如果您有多个实例)(SQL Azure,表存储,...)。

查看配置流量管理器时的选项:

enter image description here

您可以设置监控端点。这将指向不同的页面(如/Status/CanBeUsed.aspx)。如果该页面决定不应使用部署,则该页面应返回不同于200的HTTP状态代码(即:如果您的本地/共享计数器包含太多404错误)。流量管理器将监控此页面,在3个请求失败后,它将故障转移到其他部署。