#wcf #iis-6 #wsdualhttpbinding
#wcf #iis-6 #wsdualhttpbinding
Вопрос:
чтобы сделать длинную историю как можно короче, я создал дуплексную службу WCF, используя wsdualhttpbinding, протестировал ее на своем локальном компьютере с помощью Visual Studio и используя IIS7, все работает нормально (мне пришлось использовать аутентификацию Windows на IIS7, чтобы заставить ее работать thu). В любом случае, я опубликовал службу duplex в сети моей компании (локальная сеть, домен Windows, IIS 6), которую я использовал для многих служб WCF (привязки basic и ws http и работали нормально), и проблема в том, что я не могу заставить службу работать, я перепробовал все возможные конфигурации для файлов app.config и web.config, все еще я не могу заставить ее работать.. Проблема в том, что когда клиент начинает вызывать службу duplex, она зависает и нет сообщения об ошибке или чего-либо еще, и через несколько минут это выдает мне ошибку тайм-аута .. на стороне сервера ошибки нет (я проверил средство просмотра четности). Нет ошибки о порту 80 или привилегиях доступа. Есть ли что-нибудь, чего мне не хватает? что-нибудь, о чем я должен позаботиться, и я забыл? я не спал в течение 20 часов, пытаясь найти решение, потому что у меня есть график, которому нужно следовать, иначе мой босс распорядится () мной..
я пробовал следующее:
1- Я установил IsOneWay = true ..
2- Я запускаю программу от имени администратора.
3- Я я установил базовый адрес на другой порт .. тот же результат..
4- Я использовал аутентификацию Windows, нет … тот же результат..
5- я попробовал другую машину для тестирования клиента .. тот же результат.. оно зависает без ответа.
6- Я также пытался запустить клиент в Windows vista, 7 и xp … тот же результат..
7- Я поиграл со всеми типами конфигураций в файлах конфигурации и убедился, что они одинаковы в обоих файлах (app.config и web.config)..
8- Я добавил статический конструктор на стороне службы, чтобы узнать, была ли служба когда-либо достигнута клиентом, я добавил несколько строк, чтобы добавить значение в БД .. и в БД ничего не было записано .. так что оно так и не было достигнуто ..
9- Да, когда я захожу на страницу service SVC, я вижу страницу, и она работала нормально.. Я также мог получить доступ к метаданным ..
10- перезапуск сервера, перезапуск сервера IIS, утилизация AppPool … и т.д..
Я перепробовал все это и многие другие решения и хитрости.. тот же результат, когда приложение находится в IIS .. странно то, что на стороне сервера нет ошибки .. и я получаю только ошибку тайм-аута (если я ее получаю).. Хотя, если я попробовал службу на локально установленном IIS, она работает нормально.. измените файл конфигурации, чтобы он указывал на сервер IIS компании,,, не повезло!
Есть ли что-нибудь, чего мне не хватает??? могло быть что-то простое, но я просто пропустил это..
Комментарии:
1. Запускали ли вы fiddler на компьютере веб-сервера, чтобы проверить, принимается ли когда-либо запрос веб-сервером?
2. Предложения: 1) немного поспать. 2) Установите службу на локальном сервере IIS аналогично тому, как она работает в рабочей среде.
3. @competent_tech Я только что попробовал fiddler.. Он отправляет запрос (конверт SOAP).. итак, я предполагаю, что запрос отправлен.. что-то не так на стороне сервера.. но почему нет ответа от сервера .. ничего в средстве просмотра событий … здесь что-то странное.. предложения?
4. @JohnSaunders, я попробую установить IIS6 на ПК и протестировать там .. и теперь я точно буду спать .. надеясь получить ответы к тому времени, как проснусь
5. Я могу придумать только две вещи: 1) У вас есть условие блокировки в вашем коде на сервере (бесконечный цикл, взаимоблокировка, ожидание недоступного ресурса), 2) Ответ отправляется обратно на другой порт, который по какой-то причине заблокирован брандмауэром или перенаправлен на другой адрес (fiddler должен иметь возможность перехватывать исходящий ответ, если таковой имеется).