Remoting异常处理:在客户端获取服务器内部错误
2011-01-03 17:45
741 查看
Remoting异常处理:在客户端获取服务器内部错误
2010-03-30 13:42
2010-03-30 13:42
用Remoting技术进行开发有些日子了,其中有个问题一直困扰着我,那就是有关在客户端获取服务器内部错误的问题。当服务器和客户端部署在同一 台机器上时,服务器端的错误能够在客户端成功地捕获。但是,一旦当服务器端和客户端被部署到两台不同的机器上时,在客户端只能捕获到一个通用的异常: System.Runtime.Remoting.RemotingException :服务器遇到内部错误...... 这样笼统的错误提示,对于客户端分析错误原因,显然没有什么帮助。我按照错误提示,修改了服务器端的配置文件信息,可是在客户端仍然捕获不到服务器 内部异常的详细信息。无奈之余,我只好在服务器端添加了一个错误日志文件,把远程对象在服务器端的异常写到这个日志文件里。客户端出现异常时,登录服务器 查看日志。虽然这样对于分析异常,查找错误有所帮助,但是操作不便。 前天在给公司其它部门的人员做培训,讲一些有关Remoting的基础知识时,突然想起自己以前那个项目中可能犯了一个错误。 以前的那个项目中,我用windows服务做Remoting的服务器端宿主。通过一个服务框架,来管理注册到服务器端的Remoting服务。在 每个服务注册到服务器端时,我用的是代码注册的方式,而不是配置文件的方式。这样,虽然我在服务器加了一个.config文件,也配置了: <?xml version="1.0" encoding="utf-8"?> <configuration> <system.runtime.remoting> <customErrors mode="off" /> </system.runtime.remoting> </configuration> 在客户端却依然获取不到服务器端的内部错误。解决这个问题的方法是,在服务器端添加两行代码: //远程抛出错误 RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; RemotingConfiguration.CustomErrorsEnabled(false); 经测试,问题解决了。 总结一下:在客户端获取服务器端内部错误的方法有两种,各有自己的适用情况。 1、当在服务器端通过配置文件实现服务注册时,即 RemotingConfiguration.Configure(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); 时,则在配置文件中<system.runtime.remoting>下加入<customErrors mode="off" />即可实现。 2、当在服务器端通过代码实现服务注册时,即类似 RemotingConfiguration.RegisterWellKnownServiceType ( typeof(RemotingAdminObject), "RemotingAdmin", WellKnownObjectMode.Singleton ); 时,则要通过以下的代码实现: //远程抛出错误 RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; RemotingConfiguration.CustomErrorsEnabled(false); |
相关文章推荐
- Remoting异常处理:在客户端获取服务器内部错误
- Remoting异常处理:在客户端获取服务器内部错误
- 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或打开对每个 Microsoft .NET Framework SDK 文档的跟踪并检查服务器跟踪日志。
- 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,
- WCF异常信息:由于内部错误,服务器无法处理该请求
- 异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- 关于wcf异常异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- 报表服务器上出现内部错误。有关详细信息,请参阅错误日志。 (rsInternalError) 获取联机帮助 用户的配置文件是临时配置文件。 (异常来自 HRESULT:0x80090024)
- WCF异常信息:由于内部错误,服务器无法处理该请求...
- 异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults
- Remoting异常处理:在客户端获取服务器内部错误
- 异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- 异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- jsp有错误处理页面 居然第一次还是显示 HTTP 500 内部服务器错误
- MVC 自定义过滤器(Filter)实现路由控制、异常处理、授权处理(获取客户端信息)
- Retrofit+RxJava 优雅的处理服务器返回异常、错误
- ASP.NET AJAX 异常处理及在客户端显示用户用好的错误信息
- 客户端访问sharepoint服务器时出现Http 500内部服务器错误的解决方法
- 客户端不能访问网站并报HTTP 500内部服务器错误
- Android客户端项目全局异常处理和服务器数据保存