WCF全局异常 可记录服务器端全部异常信息
2013-10-09 11:51
323 查看
1、构建异常记录类
2、构建处理类
3、在你的服务上加上这个标记
public class GlobalException : IErrorHandler { public bool HandleError(Exception error) { return true; } public void ProvideFault(Exception error, System.ServiceModel.Channels.MessageVersion version, ref System.ServiceModel.Channels.Message fault) { //服务器端能够获取到错误方法 var ex = new FaultException(string.Format("Wcf错误接口方法{0}", error.TargetSite.Name)); MessageFault mf = ex.CreateMessageFault(); //fault = Message.CreateMessage(version, mf, ex.Action); } }
2、构建处理类
public class GlobalExceptionHandlerBehaviourAttribute : Attribute, IServiceBehavior { private Type _Type; public GlobalExceptionHandlerBehaviourAttribute(Type ExcepType) { this._Type = ExcepType; } public void AddBindingParameters(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase, System.Collections.ObjectModel.Collection<ServiceEndpoint> endpoints, System.ServiceModel.Channels.BindingParameterCollection bindingParameters) { } public void ApplyDispatchBehavior(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase) { var Handle = (IErrorHandler)Activator.CreateInstance(_Type); foreach (ChannelDispatcherBase dispatcherBase in serviceHostBase.ChannelDispatchers) { var channelDispatcher = dispatcherBase as ChannelDispatcher; if (channelDispatcher != null) channelDispatcher.ErrorHandlers.Add(Handle); } } public void Validate(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase) { } }
3、在你的服务上加上这个标记
[GlobalExceptionHandlerBehaviour(typeof(GlobalException))] public class LoginService : ILoginContract { public string Login(string UserName, string UserPwd) { if (string.IsNullOrEmpty(UserPwd)) { throw new Exception(); } return UserName; } }
相关文章推荐
- 在程序异常中记录堆栈信息(使用ExWatcher)
- winform 记录全局异常捕获
- Spring Boot实战之全局异常捕获 实现参数异常检查返回统一错误信息
- 编程必备*错误异常信息记录工具—log4j使用方法
- java的异常(Exception)信息的详细记录
- WCF全局异常处理
- (4.1.35)Android捕获全局异常信息并实现上传
- log4j日志打印全部异常信息
- *教你查看系统各种状况的全部信息记录*【乡巴佬】
- python错误处理记录完整的异常堆栈信息
- WCF服务全局异常处理机制
- struts2全局异常处理及配合log4j进行异常日志记录
- 百度定位服务使用过程中的异常信息记录及解决方案
- python日志记录完整的异常信息traceback stack
- 关于wcf异常异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- springmvc如何设置全局异常信息处理
- python错误处理记录完整的异常堆栈信息
- struts2全局异常处理及配合log4j异常日志记录
- Windows下如何将Tomcat的控制台信息全部记录到日志
- Log4j中将控制台出现的异常信息完整的记录到日志文件