Deploy WCF service in IIS 7.5

此生再无相见时 提交于 2019-12-08 00:23:26

问题


I am newbie to WCF. I am looking to steps to deploy WCF on IIS and consume the service. I have follow the steps same as to deploy the Website on IIS, also set the default document to Service1.svc

Now when I am trying to consume this wcf service it is giving me the following error.

Metadata contains a reference that cannot be resolved: 'http://manish-pc:8000/Service1.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://manish-pc:8000/Service1.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost:8000/Service1.svc'.
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:8000/Service1.svc.  The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.

Follwing is my Service Details in Web.Config file

<system.serviceModel>
    <services>
      <service behaviorConfiguration="DemoWCF.Service1Behavior" name="DemoWCF.Service1">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/Service1.svc"/>
          </baseAddresses>
        </host>
        <endpoint address="http://localhost:8000/Service1.svc"
                  binding="basicHttpBinding"
                  contract="DemoWCF.IService1"
                  bindingConfiguration="basicBinding">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint> 
        <endpoint address="mex" 
                  binding="mexHttpBinding" 
                  contract="IMetadataExchange" />
      </service>
    </services>

    <bindings>
      <basicHttpBinding>
        <binding name="basicBinding" textEncoding="utf-8"></binding>
      </basicHttpBinding>
    </bindings>

    <behaviors>
      <serviceBehaviors>
        <behavior name="DemoWCF.Service1Behavior">
          <serviceMetadata httpGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

Please guide me where I'm lacking and what steps to make. Thanks.


回答1:


After search on google and watching videos. Finally I got the solution.

This error occur due to IIS configuration that I was not bother about.

  1. open your IIS Manager console.
  2. Make a separate applicaiton pool.
    a). Set .NET Framework version to 4.0
    b). Managed pipeline mode : Classic
  3. Set Applicaiton Pool Identity to "LocalSystem".
  4. Follow the steps same as to deploy a web application on IIS like creating a Virtual Directory.
  5. Creatig the Virtual Directory set that Application Pool you have created.

And consume the WCF Service in Client application.

Click here to watch the video

Kindly Update this question / answer thread, if you find more about this.
Thanks :)



来源:https://stackoverflow.com/questions/14724125/deploy-wcf-service-in-iis-7-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!