HttpWebResponse: служба Windows и консольное приложение - PullRequest
0 голосов
/ 11 октября 2011

У меня есть проблема, которую я не могу решить в течение двух дней.

В консольном приложении этот код работает нормально:

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.

Так что, если установить Пользователя учетной записи в ServiceInstaller Я не могу подключиться к БД, в противном случае, если я установил Учетную запись на LocalSystem, я могу открыть соединение с БД, но не могу использовать GetResponse().

Итак, вопрос в том, что мне делать, когда все размещено на Windows Terminal Server?

Полагаю, что-то может быть перепутано с правами администратора. Что я мог сделать, чтобы это исправить? Еще раз спасибо.

1 Ответ

1 голос
/ 11 октября 2011

Приложение службы Windows по умолчанию запускается под учетной записью LocalSystem, в то время как приложение консоли запускается под вашей учетной записью пользователя, поэтому у вас могут возникнуть проблемы с разрешениями (брандмауэр Windows?)

Службу следует запускать с правами администратора.чтобы узнать, решит ли это вашу проблему.

...