1

お客様のサイトにアプリケーションをデプロイしたときに、非常に奇妙な状況に遭遇しました。このアプリケーションは、.NET 3 で C# を使用してサービスとして実装されています。アプリケーションは、gSOAP を使用して作成された Web サービスと通信します。.NET アプリケーションでは、Web サービスをラップするクラスは、Visual Studio で「サービスの追加」を実行し、WSDL を参照して作成されました。通信は HTTPS を使用して実行されますが、ポート 35000 を使用します。

私たちが見ているのは、アプリケーションが「ローカル管理者アカウント」として実行されると、すべてがうまく機能することです。ただし、「ローカル システム アカウント」やネットワーク管理者権限を持つユーザー アカウントなど、他のアカウントとしてアプリケーションを実行すると、Web サービス メソッドの呼び出しがタイムアウトすることがあります。それ以外の場合は成功しますが、非常に長い時間が経過した後、たとえば、予想どおり 1 秒未満ではなく 100 秒かかります。

このお客様は、自社のネットワークで Cisco スイッチを使用しています。

他のサイトでこの動作に遭遇したことはありません。洞察や提案をいただければ幸いです。

4

2 に答える 2

1

タイムアウト、例外などのイベント ログ メッセージはありますか?

アプリケーションは Windows サービスですか? 別のユーザー コンテキストで実行するために RunAs を使用していますか? デスクトップとのやり取りが必要ですか、それとも System.Windows.Forms への参照がありますか?

@コメント 1: Windows サービス、Web サービス、WCF サービス?

サービスが使用する可能性のあるリソースについて、ローカル マシンとリモート マシンの両方のセキュリティ監査を有効にします。

もう1つのことは、このようなデバッグレベルのログを追加することです...(疑似VBで申し訳ありません)

Sub OnStart(args())
 LogToFile("Starting Service, processing arguments")
 'process args'
 LogToFile("ArgsProcessed calling main worker method")
 'call main worker method'
End OnStart

Sub LogToFile(message as String)
 If (AppConfigKeys[debugLogging] = True) Then
   'writes "DateTime.Now.ToString() & "-" & message" to a text file log' 
 End If
End Sub

失敗する可能性のあるプロセスの前後に、この種のログインをアプリケーションに組み込みます。

于 2008-11-11T21:47:11.940 に答える
1

お客様は、ファイアウォール ハードウェアに BI ルールを設定していますか? (私はストローを把握していますが、ファイアウォールでいくつかのファンキーな BI ルールを有効にしたため、数年前にクライアントの 1 つが私たちのサービスの 1 つを使用して同様の動作をしました。)

于 2008-11-11T21:52:11.150 に答える