WCFServiceException: Обязательный атрибут 'binding' не найден - PullRequest
0 голосов
/ 05 июня 2010

Служба WCF при размещении выдает ошибку:

Служба WCF PayThisException: Обязательный атрибут 'привязка' не найден. (C: \ Temp \ WCFVirtualDirPath \ web.config строка 278)

Пожалуйста, помогите мне с некоторым решением.

Ура, Рави Сантлани

1 Ответ

1 голос
/ 05 июня 2010

Покажите нам ваш web.config !! Особенно все в разделе <system.serviceModel>.

Если у вас нет файла web.config или у вашего web.config нет раздела <system.serviceModel> - это ваша проблема!

Пока вы на самом деле не показываете свой настоящий файл конфигурации, я могу только догадываться, что может быть не так. Вот пример того, как должна выглядеть конфигурация службы WCF:

  <system.serviceModel>
    <services>
      <service name="WCFBindings.Service1" 
               behaviorConfiguration="ServiceBehavior1">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:7876/YourService/" />
          </baseAddresses>
        </host>
        <!-- Service Endpoints -->
        <!-- Unless fully qualified, address is relative to base address 
             supplied above -->
        <endpoint 
             address="" 
             binding="wsHttpBinding" 
             contract="WCFBindings.IService1">
           <!-- 
              Upon deployment, the following identity element should be 
              removed or replaced to reflect the identity under which the 
              deployed service runs. If removed, WCF will infer an 
              appropriate identity automatically.
           -->
           <identity>
              <dns value="localhost"/>
           </identity>
        </endpoint>
        <!-- Metadata Endpoints -->
        <!-- The Metadata Exchange endpoint is used by the service to 
             describe itself to clients. --> 
        <!-- This endpoint does not use a secure binding and should be 
             secured or removed before deployment -->
        <endpoint 
             address="mex" 
             binding="mexHttpBinding" 
             contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior1">
          <!-- To avoid disclosing metadata information, set the value 
               below to false and remove the metadata endpoint above 
               before deployment -->
          <serviceMetadata httpGetEnabled="True"/>
          <!-- To receive exception details in faults for debugging 
               purposes, set the value below to true.  Set to false 
               before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

В вашем сообщении говорится, что "атрибут привязки отсутствует", поэтому, скорее всего, вы не указали ABC of WCF - Адрес, привязку, контракт для <endpoint> в конфигурации службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...