繁体   English   中英

IIS中的主机WCF

[英]Host WCF in IIS

你们所有聪明的人都好。

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

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

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

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

为了在IIS中托管我的服务,我创建了一个名为“HostIISTcp”的文件夹,你可以在解决方案中看到,在那里我添加了我的dll和我的pdb在“bin”文件夹下。 据我所知,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 framework 4.5并坐在皮椅上。

所以我明白了。

顺便说一句,对于vauge问题,我很担心为什么我的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。

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

希望这可以帮助别人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM