【发布时间】:2013-05-19 22:25:07
【问题描述】:
你好所有聪明的人。
所以,我敢于让自己成为 WCF 服务。 当我在 WCF 测试实用程序中运行它时,它按原样工作。
但是在下一步我遇到了一些麻烦。 在 IIS 中托管 WCF 服务。
如前所述,该服务与测试实用程序一起使用。
我的解决方案:
为了在 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 并坐在皮椅上。
【问题讨论】:
-
如果我没记错的话,诀窍是以某种方式创建一个 svc 文件,然后将其放入 IIS 应用程序文件夹中......
-
你遇到了什么错误?
-
如果您使用的是 Visual Studio,您可以在 IIS 服务器上创建一个新的 Web 项目,该项目将生成您需要的 web.config,然后您可以通过添加新项目添加 Web 服务。
-
感谢您的快速响应,据我所知,在 .net 4.0 和 4.0 之前使用 svc 文件,并且更高版本没有 svc。所以我想避免在我的解决方案中放入网络项目。