1

Azure WCF ホステッド サービスを 1 つデプロイしました。1 つのサービスと 1 つのサービス契約を作成しました。以下のように呼び出すと、すべて正常に動作します。

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

ここで、正しいサービス名または正しい操作名を持たない無効なリクエストをすべてキャッチしたいと考えています。たとえば、以下のフォームのすべてのリクエスト:

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

これを行う方法はありますか?

上記の無効な要求を呼び出すと、サービスは応答ステータスを 404 として返します。そのような要求が多すぎると、Azure Traffic Manager がサービスを低下させる可能性はありますか?

-マニッシュ

4

1 に答える 1

0

これは実際には非常に簡単です。そのため、最初にインスタンスで発生する 404 リクエストをキャッチする必要があります。

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

404 エラーが発生するたびに、ユーザー/コンシューマーは Error404.aspx にリダイレクトされ、このイベントをローカル カウンター (ファイルまたは静的変数) に追加するか、複数のインスタンス (SQL Azure、Table Storage、 ...)。

トラフィック マネージャーを構成するときのオプションを見てみましょう。

ここに画像の説明を入力

監視エンドポイントをセットアップできます。これは、別のページ (/Status/CanBeUsed.aspx など) を指します。このページは、展開を使用しないと判断した場合 (つまり、ローカル/共有カウンターに含まれる 404 エラーが多すぎる場合)、200 以外の HTTP ステータス コードを返す必要があります。Traffic Manager はこのページを監視し、要求が 3 回失敗すると、別のデプロイにフェールオーバーします。

于 2012-12-13T08:19:56.430 に答える