Вам нужно открыть клиентский брандмауэр для WS-AT для работы с WCF? - PullRequest
1 голос
/ 07 сентября 2010

Я получаю следующую ошибку при попытке связаться с WCF -> WCF через Интернет с помощью SSL-сертификата. У меня проверено «Не требуется проверка подлинности» в конфигурации WS-AT на сервере.

Через несколько секунд я получаю следующее сообщение на своем клиенте и пытаюсь выяснить, что не так в моей конфигурации (или в понимании WS-AT).

Потоковая транзакция не может быть unmarshaled. Следующее исключение произошло: WS-AtomicTransaction Служба протокола не смогла демонтировать протекающая транзакция. Следующие возникла исключительная ситуация: сообщение об ошибке с Код CoordinatorRegistrationFailed был получено. Причина вины заключается в следующем: Служба протокола WS-AT не смогла зарегистрироваться у своего координатора. не удалось установить соединение.

Глядя на файл журнала на сервере, я нахожу ссылку на http://msdn.microsoft.com/en-us/library/aa702582(VS.90).aspx и следующее сообщение трассировки

Microsoft.Transactions.TransactionBridge.RegistrationCoordinatorFailed Отслеживается, если локальный TransactionManager не может Зарегистрируйтесь у своего начальника TransactionManager из-за невозможность отправить сообщение.

Так что мне интересно ... пытается ли сервер связаться с клиентом через канал, отличный от SSL-соединения, изначально установленного клиентом. Я почти уверен, что это то, что он пытается сделать для меня, чтобы закончить с этим сообщением. Клиент - мой ноутбук (в настоящее время в Starbucks), поэтому нет никаких шансов на входящие соединения.

Так можно ли использовать транзакции WS-AT, где только сервер имеет открытый брандмауэр? Предполагая, что это возможно - что мне нужно сделать, чтобы это сделать? Я нахожу очень мало информации о необходимой конфигурации - даже в моей большой книге по программированию WCF.


Бонус: Вот несколько небольших советов для тех, кто пытается заставить работать WS-AT:

  • Если при попытке установить вкладку WS-AT вы не сможете ее отобразить - и у вас установлена ​​операционная система x64 - убедитесь, что вы используете x64 версию RegAsm.exe : C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ RegAsm.exe / codebase wsatui.dll
  • Если после установки WS-AT, настройки его для входящих подключений и перезапуска MCAT вы все равно получаете ошибки об отключенном протоколе, возможно, вы забыли перезапустить IIS (!)
...