【问题标题】:Deploy WCF service in IIS 7.5在 IIS 7.5 中部署 WCF 服务
【发布时间】:2013-01-21 08:37:25
【问题描述】:

我是 WCF 的新手。我正在寻找在 IIS 上部署 WCF 并使用该服务的步骤。 我已按照与在 IIS 上部署网站相同的步骤,还将默认文档设置为 Service1.svc

现在当我尝试使用这个 wcf 服务时,它给了我以下错误。

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.

以下是我在 Web.Config 文件中的服务详细信息

<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>

请指导我缺少的地方以及要采取的步骤。 谢谢。

【问题讨论】:

    标签: c# wcf iis wcf-hosting


    【解决方案1】:

    在谷歌上搜索并观看视频后。终于找到解决办法了。

    这个错误是由于我不关心的 IIS 配置而发生的。

    1. 打开 IIS 管理器控制台。
    2. 创建一个单独的应用程序池。
      一种)。将 .NET Framework 版本设置为 4.0
      乙)。托管管道模式:经典
    3. 将应用程序池标识设置为“LocalSystem”。
    4. 遵循与在 IIS 上部署 Web 应用程序相同的步骤,例如创建虚拟目录。
    5. 创建您已创建的应用程序池的虚拟目录集。

    并在客户端应用程序中使用 WCF 服务。

    Click here to watch the video

    如果您发现更多相关信息,请更新此问题/答案线程。
    谢谢:)

    【讨论】:

    • 让整个应用程序池作为“LocalSystem”运行存在很大的安全风险。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2023-04-07
    • 2011-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多