0

私は 1 つの WCF サービスを作成しました。このサービスでは、C# コーディングを使用して HttpWebRequest と HttpWebResponse を介してフィードと新しいフィードの msn を読み取ります。ローカル PC でサービスを実行すると、システムだけでなく、ほとんどすべてのネットワーク システムでも、正常に動作し、適切にフィードを取得します。CredentialCache.DefaultNetworkCredentialsHttpWebRequest プロキシ資格情報へのデフォルトのネットワーク資格情報として割り当てを使用し、HttpWebRequestHttpWebRequest.DefaultWebProxyのプロキシにも与えています。私のPCではすべて正常に動作しています。そして、サーバーPCにサービスをWindowsサービスにインストールしてサービスを開始すると、次のように予期しないエラーがスローされるたびに

System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()

サーバー アプリケーションでこのバグを修正できません。サービスで要求している uri をブラウザにコピーして、サーバー pc でフィードを取得します。しかし、Windows サービス (services.msc) を実行しているときに例外がスローされるのはなぜですか?? 誰でもこの問題を解決するのを手伝ってくれることを願っています。

編集:

実際、プロキシ資格情報のプロキシユーザー名とパスワードを指定し、構成エントリを介してプロキシアドレスを指定する前に、その時点では正常に機能していました。しかし、私たちの計画は、毎回プロキシの IP アドレス、ユーザー名、パスワードを提供する負担を取り除くことです。そのため、システムに保存されているデフォルトのネットワーク資格情報を使用して、上記の手順でプロキシをバイパスすることを計画しました。

4

1 に答える 1

0

認証を必要とするプロキシ サーバーを社内にセットアップしていますか?

組み込みのもの (ネットワーク サービス、ローカル システム) の代わりに自分の ID を使用してサービスを実行してみて、それが役立つかどうかを確認してください。

編集:

プロキシの構成方法に依存する可能性があると思いますが、デフォルトのプロキシ設定を使用するには、それらのプロパティが正しく設定されたドメイン アカウントでサービスを実行する必要がある場合があります。もちろん、独自のサービス アカウントではなく、専用のサービス アカウントを使用することをお勧めします。

また、ハードコーディングする代わりに、構成ファイルでプロキシを構成する方法を確認することもできます。

于 2012-01-17T07:32:37.490 に答える