リモーティングを使用してサーバーアプリに接続しようとすると、次のエラーが発生します。
リモートサーバーへの接続中に問題が発生したようです:
サーバーで内部エラーが発生しました。詳細については、サーバーの.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"/>
である必要があります。
実際にカスタムエラーページを使用している場合は、問題を見つけたらこの設定を変更することをお勧めします。