32

当我尝试使用远程处理连接到我的服务器应用程序时出现以下错误:

连接到远程服务器时似乎出现了问题:
服务器遇到内部错误。有关详细信息,请在服务器的 .config 文件中关闭 customErrors。

这是我的服务器应用程序上的代码:

TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);

它似乎第一次工作,但除非重新启动服务器应用程序,否则会发生错误。

我猜有些东西没有被正确清理,但我不确定 customError 仍然存在。

我开始的任何想法。谢谢。

[编辑] - 感谢 Gulzar,我将上面的代码修改为以下内容,现在显示错误:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
4

3 回答 3

38

对于 .Net 1.0/1.1 ,您需要一个用于远程服务器的配置文件

如果您没有<ServerEXE>.config文件,请创建一个并在其中包含以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.runtime.remoting>    
      <customErrors mode="off" />
   </system.runtime.remoting>
</configuration>

对于 .Net 2.0,您可以使用RemotingConfiguration.CustomErrorsMode属性

于 2008-10-16T16:16:08.853 回答
5

在服务器文件中,使用:

RemotingConfiguration.CustomErrorsEnabled(bool);
于 2008-10-16T16:35:02.217 回答
0

要关闭 customErrors,请web.config file在服务器上打开。如果有customErrors标签,请更改它。如果没有,请添加它。

应该是<customErrors mode="Off"/>为了这个目的。

如果您确实在使用自定义错误页面,一旦发现问题,您将需要更改此设置。

于 2008-10-16T16:19:43.883 回答