0

太い winforms クライアントへの net.tcp 通信を使用する WCF サービスがあります。Windows サービスのインストールは、次のような install.bat で行われます。

@ECHO OFF

REM The following directory is for .NET 4.0
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319
set PATH=%PATH%;%DOTNETFX2%

echo Installing IEPPAMS Win Service...
echo ---------------------------------------------------
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil "%~dp0MyApp.WindowsService.exe"
echo ---------------------------------------------------
pause
echo Done.

一部のコンピューターでは、このバットを ASKI として保存し、.NET Framework 4.0 フォルダーに対する完全な権限を取得する必要がありますが、それ以外の場合、サービスは通常問題なくインストールおよび開始されます。

しかし、一部のコンピューターでは、サービスを開始しようとすると、次のメッセージが表示されます。

MyComputer の MyApp サービスが開始され、その後停止しました。一部のサービスは、他のサービスまたはプログラムによって使用されていない場合、自動的に停止します。

Windows イベント ログには、次の例外が記録されています。

サービスを開始できません。System.ServiceModel.FaultException`1[MyApp.DataContracts.FaultContracts.Generellt.GeneralFault]: (Fault Detail は MyApp.DataContracts.FaultContracts.Generellt.GeneralFault と同じです)。

サービス 3 を開始すると、WCF サービスが開始され、すべてのサービスに独自のベースアドレスとポート番号があります。

これは、特別に安全な環境と関係があると思いますか? しかし、私はそれを解決する方法がわかりません。

これは、Windows 2003 および 2008 R2 でテスト済みです。

4

3 に答える 3

0

ここでの問題は、データベースからのデータにエラーがあり、起動時に例外処理が機能しなかったことです。

于 2013-03-25T08:35:27.980 に答える
0

サービスの呼び出し中にAFaultExceptionがスローされます。完全な例外を投稿すると、それが表示されると思います。

このような例外は、WCF がサービスから SOAP Fault メッセージを受信したときに発生します。サービスがFaultException<MyApp.DataContracts.FaultContracts.Generellt.GeneralFault>.

なぜそうしているのかをサービスに尋ねる必要があります。:-)

于 2013-03-15T01:34:46.227 に答える
-1

可変性を説明する権利の問題かもしれません。ポートにリスナーを設定するには、ホスト サーバーに対する「管理者」権限が必要です。以下のコマンドを (CMD プロンプトから) 実行して、開始時に Web サービスに権限の問題がないことを確認できます。

netsh http add urlacl url=http://+:8000/MyUri user=\everyone listen=yes

明らかに、これは開発とテスト専用であり、本番用ではありません。

ここに説明があります:http://msdn.microsoft.com/en-us/library/windows/desktop/cc307223(v=vs.85).aspx

于 2013-03-08T13:44:36.107 に答える