.net - WCF Web 服务和 native ASP.NET 健康监控

标签 .net wcf silverlight web-services health-monitoring

我需要以下问题的最终答案! :-)

我想知道您是否可以为 WCF Web 服务启用健康监控。我在 IIS 中托管了许多服务,并将其配置为在抛出任何异常时向团队发送电子邮件通知。我觉得 Health Monitoring 不适用于 WCF Services,我必须配置 WCF Tracing 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>

注意:这假定您已打开运行状况监控。

关于.net - WCF Web 服务和 native ASP.NET 健康监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926851/

相关文章:

c# - 为什么我不能像这样使用空合并运算符?

.net - ASP.NET 中的套接字编程?

c# - WCF 服务协定是否可以具有可为 null 的输入参数?

silverlight - 在 Silverlight 中允许跨域调用

c# - ASP.NET Core Web Api 发送 Access-Control-Allow-Origin : null CORS header and chrome is erroring, 如何修复?

.net - 有哪些方法可用于在 Storyboard Animations 中使用非固定值?

c# - 什么会导致 WCF 服务返回类型为 "object"的对象

silverlight - WP7 绑定(bind)到局部变量

silverlight - 具有 .net Ria 服务和 SilverlightFX 的 Silverlight 应用程序

c# - 如何将表单的背景图像设置为用户选择的图像?