質問

リモート処理を使用してサーバーアプリに接続しようとすると、次のエラーが表示されます。

  

リモートサーバーへの接続中に問題が発生したようです:
  サーバーで内部エラーが発生しました。詳細については、サーバーの.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"/>でなければなりません。

実際にカスタムエラーページを使用している場合は、問題が見つかったらこの設定を変更する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top