.Net 2.0 потребляет WCF - PullRequest
       12

.Net 2.0 потребляет WCF

0 голосов
/ 09 марта 2011

Я работаю над проектом, используя веб-приложение .Net 2.0, а также WCF.Если я использую WCF в конфигурации по умолчанию, то когда проект .Net 2.0 вызывает его метод, он генерирует исключение для неподдерживаемого сообщения SOAP.

Очнулся и обнаружил, что люди упоминали, что WCF нужно изменить привязку на BasicHttpBinding -> http://msdn.microsoft.com/en-us/library/ms731134.aspx

Попробовал это, и поскольку я размещаюсь в IIS, я не выполнял реализацию BasicHttpBinding, как в примере, показанном ниже.

// Create a BasicHttpBinding instance
BasicHttpBinding binding = new BasicHttpBinding();

Однако на этот раз я даже не могу запустить службу WCF.Когда я запускаю, используя правый клик, просматриваю в браузере, я получаю страницу с

«Имя службы» имеет нулевые конечные точки приложения (не инфраструктура)

Моя веб-конфигурациядля WCF - это то же самое, что и ссылка, которую я дал, только то, что я изменил контракт в соответствии с моим файлом.

Кто-нибудь с опытом, который хочет помочь?Спасибо

Web.config

<system.serviceModel>
    <services>
      <service name="MyService" behaviorConfiguration="HttpGetMetadata">
        <endpoint address="" contract="MyContractName" binding="basicHttpBinding" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="HttpGetMetadata">
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

1 Ответ

1 голос
/ 10 марта 2011

Да, я только что сделал это сегодня.

  • Определите службу WCF с помощью BasicHttpBinding
  • На вашем клиенте добавьте веб-ссылку, и она создаст SoapClient
  • Если вам нужна безопасность, вам нужно использовать WSE 2.0 с пакетом обновления 3 (SP3).

В моем случае требовалось ввести имя пользователя и пароль в виде открытого текста с помощью SSL, и я с радостью получил его, используя this .

...