У меня есть проблема, которую я не могу решить в течение двух дней.
В консольном приложении этот код работает нормально:
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?
Полагаю, что-то может быть перепутано с правами администратора. Что я мог сделать, чтобы это исправить? Еще раз спасибо.