2015-03-04 5 views
0

У меня есть веб-сайт, размещенный на IIS, который работает нормально.Хостинг первой службы WCF на IIS

В Visual Studio мой проект называется Geomaps. Он содержит веб-страницу, которая отлично работает, а также веб-службу wcf.

Веб-сервис работает нормально на моей машине dev, но я пытаюсь разместить его на удаленном сервере IIS.

Я понятия не имею, как установить это. Я пробовал различные конфигурации. web.config, в Geomaps является:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.serviceModel> 
     <services> 
      <service name="Service1" 
        behaviorConfiguration="MEX"> 
       <endpoint 
        address="http://150.158.0.87:8000/MEX" 
        behaviorConfiguration="CountryProvinceBehavior" 
        binding="webHttpBinding" 
        contract="IMetadataExchange" /> 
      </service> 
     </services> 
     <behaviors> 
      <serviceBehaviors> 
       <behavior name="CommentSessionIDBehavior"> 
        <serviceMetadata httpGetEnabled="true"/> 
        <serviceDebug includeExceptionDetailInFaults="true"/> 
       </behavior> 
      </serviceBehaviors> 
      <endpointBehaviors> 
       <behavior name="MEX"> 
        <serviceMetadata/> 
       </behavior> 
      </endpointBeahaviors> 
     </behaviors> 
    </system.serviceModel> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 
</configuration> 

Может кто-то пожалуйста, помогите мне. Я адресности ошибку ниже:

Cannot add the 'serviceMetadata' behavior extension to 'MEX' endpoint behavior because the underlying behavior type does not implement the IEndpointBehavior interface

ответ

0

попробовать что-то вроде этого:

<system.serviceModel> 
    <services> 
    <service name="Service1" behaviorConfiguration="MyMexServiceBehavior"> 
     <endpoint address="http://150.158.0.87:8000" 
       binding="basicHttpBinding" 
       bindingConfiguration="BasicHttpEndpointBinding" 
       contract="MyNamespace.MyIService"> 
     </endpoint> 
     <endpoint address="mex" 
       binding="mexHttpBinding" 
       contract="IMetadataExchange" /> 
    </service> 
    </services> 
    <behaviors> 
    <serviceBehaviors> 
     <basicHttpBinding> 
     <binding name="BasicHttpEndpointBinding" 
      maxBufferSize="9000000" 
      maxReceivedMessageSize="9000000"> 
      <security mode = "None" /> 
     </binding> 
     </basicHttpBinding> 
     <behavior name="MyMexServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" 
         httpGetUrl="http://150.158.0.87:8000/MEX" 
         httpsGetEnabled="false"/> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
     <behavior name="MEX"> 
     <serviceMetadata/> 
     </behavior> 
    </endpointBehaviors> 
    </behaviors> 
</system.serviceModel> 
+0

все еще получаю ошибку: – user4316519

+0

Не удается добавить расширение поведения «serviceMetadata» на поведение конечных точек «Mex», так как основной тип поведения не реализует интерфейс IEndpointBehavior. – user4316519

+0

Я сделал некоторые изменения, чтобы имитировать то, что у меня есть ... это работает для меня. – granadaCoder

Смежные вопросы