С# Remoting - Как отключить CustomErrors
Я получаю следующую ошибку, когда пытаюсь подключиться к моему серверному приложению, используя удаленный доступ:
Проблема, похоже, произошла при подключении к удаленному серверу:
Сервер обнаружил внутреннюю ошибку. Для получения дополнительной информации отключите customErrors в файле .config сервера.
Это код моего приложения для сервера:
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Кажется, что он работает в первый раз, но если серверное приложение не перезапущено, возникает ошибка.
Я бы предположил, что что-то не очищается должным образом, но я не уверен, что, поскольку customError все еще включен.
Любые идеи, с которых я начинаю. Спасибо.
[EDIT] - Благодаря Gulzar, я изменил свой код выше на следующий, и теперь отображаются ошибки:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Ответы
Ответ 1
Для .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 свойство
Ответ 2
В файле сервера используйте:
RemotingConfiguration.CustomErrorsEnabled(bool);
Ответ 3
Чтобы отключить customErrors, откройте web.config file
на сервере. Если есть тег customErrors
, измените его. Если его нет, добавьте его.
Для этой цели это должно быть <customErrors mode="Off"/>
.
Если вы действительно используете страницу пользовательской ошибки, вы захотите изменить этот параметр, как только найдете свою проблему.