Tag: 自定义error handling

WCF路由服务 – 动态error handling

我正在学习使用WCF路由服务可以做些什么。 仍然在’拧紧它,看看它能做什么’阶段。 我对路由服务的理解是,当消息通过时,服务将尝试将其传递给备份列表中首先出现的任何端点。 如果失败了,它将继续尝试下一个,然后是下一个,直到任何一个有效或者没有什么可以尝试。 我想做的是访问该失败事件,以便我可以: 记录失败 通过电子邮件发送端点失败的通知 (可选)从备份列表中删除端点,以便它不会减慢将来的消息流过系统的速度 无法找到如何扩展WCF框架以获取此特定事件。 这是WCF路由服务可以做的事情吗? 任何推动正确的方向将不胜感激。 目前,我在IIS下托管了30-beh动态生成的路由服务(或者更确切地说,是Visual Studio 2010的ASP.NET开发服务器)。 我正在设置Global.asax中服务的路由,如下所示。 protected void Application_Start(object sender, EventArgs e) { List serviceTypes = ServiceUtility.GetServiceTypes(); foreach (Type st in serviceTypes) { string route = String.Format(“Services/{0}.svc”, ServiceUtility.GetServiceName(st)); RouteTable.Routes.Add(new ServiceRoute(route, new RoutingServiceHostFactory(st), typeof(System.ServiceModel.Routing.RoutingService))); } } ServiceUtility和RoutingServiceHostFactory是自定义类。 请注意,IPolicyService是我感兴趣的程序集中的WCF服务契约接口。 public static class ServiceUtility { public static List GetServiceTypes() […]