0

2日間解決できなかった問題があります。

コンソール アプリでは、このコードは正常に機能します。

url="http://www.reuters.com/finance/currencies/quote?srcAmt=1.00&srcCurr=USD&destAmt=&destCurr=ASD&historicalDate=MMddyyyy"
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.Timeout = 3000000;

using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
{
   // ...
}

しかし、私の Windows サービスでGetResponse()は、「リモート名を解決できませんでした: 'www.reuters.com'」という例外がスローされます。

何が間違っているのかわかりません。おそらく何か間違った設定をしていServiceInstallerます。

正しい道を示してくれてありがとう、しかし追加の問題があります。

仮想マシンで作業しています (管理者権限はありますが、管理の経験はまったくありません)。

ユーザーのサービスインストーラーでアカウントを設定した場合 (およびログインの詳細を提供した場合)、データベース (Odbc) への接続に問題があります。接続を開くとスローされます:

ERROR [08001] [MERANT][ODBC Sybase driver]
Allocation of a Sybase Open Client Context failed.  
Sybase normally generates a SYBINIT.ERR file containing more specific reasons for failing.\r\n
ERROR [01S00] [MERANT][ODBC Sybase driver]
Invalid attribute in connection string: Port.

したがって、Account User を設定ServiceInstallerすると DB に接続できません。それ以外の場合、Account を LocalSystem に設定すると、DB への接続を開くことはできますが、使用できませんGetResponse()

問題は、すべてが Windows ターミナル サーバーに配置されている場合、どうすればよいかということです。

管理者権限に何か問題がある可能性があると思います。これを修正するにはどうすればよいですか? 再度、感謝します。

4

1 に答える 1

1

Windows サービス アプリケーションはデフォルトで LocalSystem アカウントで実行されますが、コンソール アプリはユーザー アカウントで実行されるため、アクセス許可の問題 (Windows ファイアウォール?) に遭遇する可能性があります。

これにより問題が解決するかどうかを確認するには、管理者アカウントでサービスを実行する必要があります。

于 2011-10-11T09:51:27.227 に答える