Я создал приложение на C #, которое я запускаю в качестве службы Windows. Это отлично работает.
Я недавно изменил его, чтобы он подключался к веб-службе. При запуске в Studio этот новый код работает нормально и подключается к веб-службе. Однако, когда я запускаю программу в качестве службы Windows (на том же компьютере), время ожидания программы истекает, поскольку она не может подключиться к веб-службе (исключение - невозможно подключиться к удаленному серверу).
Кто-нибудь может подумать, почему это может происходить?
Исключение при запуске в качестве службы:
System.Net.WebException was unhandled
Message="Unable to connect to the remote server"
Source="System"
StackTrace:
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at DataExtractionService.uk.co.myserver.Service1.SendEmail(String Message, String Subject, String FromAddress, String[] ToAddress, String[] AttachmentNames, Object[] AttachmentData) in C:\Documents and Settings\administrator.MLR\My Documents\Visual Studio 2005\Projects\DataExtractionService\DataExtractionService\Web References\uk.co.myserver\Reference.cs:line 111
at DataExtractionService.APDataExtractor.EmailReport(String message, String subject) in C:\Documents and Settings\administrator.MLR\My Documents\Visual Studio 2005\Projects\DataExtractionService\DataExtractionService\APDataExtractor.cs:line 610
at DataExtractionService.APDataExtractor.RunDataExtraction() in C:\Documents and Settings\administrator.MLR\My Documents\Visual Studio 2005\Projects\DataExtractionService\DataExtractionService\APDataExtractor.cs:line 63
at DataExtractionService.DataExtractionService.HandleClientComm(Object client) in C:\Documents and Settings\administrator.MLR\My Documents\Visual Studio 2005\Projects\DataExtractionService\DataExtractionService\DataExtractionService.cs:line 96
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart(Object obj)
Веб-сервис был просто добавлен в проект обычным способом в разделе «Веб-ссылки». Веб-сервис корректно работает в Studio.
Соответствующая часть exe.config показана ниже (мне пришлось изменить имя сервера, извините):
<applicationSettings>
<DataExtractionService.Properties.Settings>
<setting name="DataExtractionService_uk_co_myserver_Service1"
serializeAs="String">
<value>https://myserver.co.uk/premieremailservice/Service1.asmx</value>
</setting>
</DataExtractionService.Properties.Settings>
</applicationSettings>
Большое спасибо.