C#Remoting-CustomErrorsをオフにする方法
-
03-07-2019 - |
質問
リモート処理を使用してサーバーアプリに接続しようとすると、次のエラーが表示されます。
リモートサーバーへの接続中に問題が発生したようです:
サーバーで内部エラーが発生しました。詳細については、サーバーの.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);
解決
.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 プロパティ
他のヒント
サーバーファイルでは、次を使用します。
RemotingConfiguration.CustomErrorsEnabled(bool);
customErrorsをオフにするには、サーバーでweb.config file
を開きます。 customErrors
タグがある場合は、それを変更します。存在しない場合は追加します。
この目的のためには<customErrors mode="Off"/>
でなければなりません。
実際にカスタムエラーページを使用している場合は、問題が見つかったらこの設定を変更する必要があります。
所属していません StackOverflow