Служба Windows на Windows Server 2003 (виртуальная машина Amazon). Некоторые приложения могут общаться с ним (используя каналы, но для этого есть обертка). Он протестирован и работает. Кроме того, есть веб-служба, написанная на C# (ASP.NET), которая взаимодействует с упомянутой службой Windows. Когда вызывается Web Method, он создает экземпляр класса и вызывает функцию - функция «подключается» к службе Windows и отправляет задание на нее. Но если внутри Web-метода создается поток, а функция, которая «подключается» к службе Windows, вызывается внутри потока - соединение терпит неудачу. Подключение к службе Windows использует каналы. Веб-сервис работает на IIS7. Стоит упомянуть, что все работает на моей локальной машине, либо от отладчика (локальный сервер, запущенный VS 2010), либо от IE, когда я вызываю веб-метод на веб-службе, который работает на локальном IIS7. В местных все работает - но на Amazon Instance нет. Я не веб-программист, поэтому я думаю, что есть проблема с безопасностью. Любой намек? Благодарю.Проблема веб-службы ASMX Связь с службой Windows в отдельной теме
EDIT: комментарий Uwe напомнил мне - веб-метод сначала пытается загрузить некоторые файлы с помощью http и сохраняет их на путь C: \ intetpub \ wwwroot \ files \. Он работает, если файлы загружаются из веб-метода , но загрузка завершается с ошибкой, если она выполнена из другого потока, созданного в веб-методе. Исключение: доступ запрещен. Поэтому я изменил параметры безопасности в указанной папке и явно разрешил пользователю, созданному IIS7 (IIS_IUSRS), читать/записывать папку и . Теперь файлы могут быть загружены кажется, что источник этих проблем является тот же
EDIT:.. решение перемещается в ответ на предложение Уилла
Можете ли вы разместить информацию о том, как «соединение сбой» на самом деле ведет себя? То есть подробное сообщение об ошибке, трассировка стека, поведение и т. д. –
Как сбои подключения не имеют отношения к делу, так как «соединение» является вызовом функции. Проблема в том, что я могу общаться с сервисом Windows из веб-службы, если связь происходит из того же потока, в котором выполняется Web-метод; если Web-метод создает новый поток - связь не выполняется. У меня больше нет данных от упомянутой службы Windows. Так как это работа из одного потока на виртуальной машине Amazon, а не в том случае, если потоки разные, а также работает на моем локальном компьютере даже с разными потоками, я думал, что это что-то связано с безопасностью или разрешениями. Благодарю. – Vladimir
@ Vladimir: если не удается установить соединение, почему бы не притвориться, что он вообще не терпит неудачу? Конечно, это актуально. –