次の質問に対する最終的な回答が必要です。:-)
WCF Web サービスの状態監視を有効にできるかどうか疑問に思っていました。IIS で多数のサービスをホストしており、例外がスローされたときにチームの電子メール通知を送信するように構成しています。ヘルス モニタリングは WCF サービスでは機能せず、WCF トレースを構成する必要があると思いますhttp://msdn.microsoft.com/en-us/library/ms733025.aspx
ありがとうございました
次の質問に対する最終的な回答が必要です。:-)
WCF Web サービスの状態監視を有効にできるかどうか疑問に思っていました。IIS で多数のサービスをホストしており、例外がスローされたときにチームの電子メール通知を送信するように構成しています。ヘルス モニタリングは WCF サービスでは機能せず、WCF トレースを構成する必要があると思いますhttp://msdn.microsoft.com/en-us/library/ms733025.aspx
ありがとうございました
以前にも試してみましたが、すべてのソリューションが複雑すぎるように見えました。
結局、手動で行うだけになりました。
最初にカスタム WebEvent をセットアップします。例えば:
public class SyncError : WebBaseErrorEvent
{
public SyncError(string message, Exception e)
: base(message, "Sync", WebEventCodes.WebExtendedBase + 1, 0, e)
{
}
public override void FormatCustomEventDetails(WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
formatter.AppendLine(ErrorException.ToString());
}
}
次に次のように使用します。
// WCF method
public int Sync()
{
try
{
// do normal stuff
}
catch (Exception ex)
{
var e = new SyncError("Error in Sync", ex);
e.Raise();
throw;
}
}
最後に、web.config を変更します。
<eventMappings>
<add name="Sync Errors" type="SyncLibrary.SyncError, SyncLibrary"/>
</eventMappings>
<rules>
<add name="Sync Errors SQL" eventName="Sync Errors"
provider="SqlWebEventProvider"
profile="Default"
minInstances="1"
maxLimit="Infinite"
minInterval="00:00:00" />
</rules>
注: これは、ヘルス モニタリングがオンになっていることを前提としています。