0

你好所有聪明的人。

所以,我敢于让自己成为 WCF 服务。当我在 WCF 测试实用程序中运行它时,它按原样工作。

但是在下一步中,我遇到了一些麻烦。在 IIS 中托管 WCF 服务。

如前所述,该服务与测试实用程序一起使用。

我的解决方案:
https://dl.dropboxusercontent.com/u/21380898/RealKursusSolution.PNG

为了在 IIS 中托管我的服务,我创建了一个名为“HostIISTcp”的文件夹,正如您在解决方案中看到的那样,我在“bin”文件夹下添加了我的 dll 和我的 pdb。据我所知,IIS 无法使用 app.config 文件进行操作,因此我创建了一个 web.config 文件,我只是从类库中的 app.config 文件中复制/粘贴。

web.config :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation debug="true" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="MyWCFServices.RealKursusService.KursistService">
        <endpoint address="" binding="basicHttpBinding" contract="MyWCFServices.RealKursusService.IKursistService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/MyWCFServices/RealKursusService/KursistService/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

我相信问题出在 web.config 文件上,请原谅我是一个新手,但我一直在疯狂搜索,我真的找不到合适的解决方案。

总结一下:我在正确的轨道上吗?在 IIS 中托管 wcf 服务是否有另一种(更好的)解决方案?如果您能指出 web.config 文件中是否缺少任何内容,那就太好了。

我正在使用 Visual Studio 2012、IIS 8 .net 框架 4.5 并坐在皮椅上。

4

1 回答 1

2

所以我想通了。

顺便说一句,很抱歉这个模糊的问题,我很困惑为什么我的 wcf 服务不会被托管。

我通过以下步骤使 web.config 工作:

  1. “添加新网站”到解决方案(WCF 服务)
  2. 删除两个服务文件(Service.cs、IService.cs),因为我已经准备好在其他服务库中定义的服务。
  3. 添加对我现有服务库的引用。
  4. 编辑我新创建的网站中的 service.svc 文件,指向我现有的服务服务

    <%@ ServiceHost Language="C#" Debug="true"    Service="MyWCFServices.RealKursusService.KursistService" %>
    
  5. 在我的新站点上删除了 web.config 中的整个配置。

  6. 使用 WCF 配置工具时,使用“WCF 配置”工具(右键单击 web.config 文件)编辑 web.config,这非常简单。添加一个服务并将其指向您在 bin 目录中的引用 dll。

然后将 svc 文件托管在 iis 中我的默认站点下的新应用程序中

希望这可以帮助某人

于 2013-05-22T17:58:30.940 回答