我在Visual Studio中有一个WCF服务应用程序项目,其中包含以下文件
我试图将Web Service托管在IIS中,但是当我从IIS浏览到Web Service时,Web Service根本无法加载。它只是在浏览器中显示“正在加载”。
这是我的WebConfig文件:
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="false" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1"/>
</system.web>
<system.serviceModel>
<services>
<service behaviorConfiguration="Default"
name="WCFWebService.ZooWCFService">
<endpoint address="" binding="basicHttpBinding"
contract="WCFWebService.IZooWCFService" />
<endpoint address="mex" binding="mexHttpBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="Default">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
我做了以下事情,所以我做错了什么?
答案 0 :(得分:1)
要在IIS中启用WCF,您可能必须先为.net框架启用HTTP激活功能。
完成此操作后,您可以尝试将WCF直接从Visual Studio部署到本地IIS>
右键单击WCF项目->转到属性->属性窗口中->选择Web选项卡->在服务器部分中选择本地IIS,然后单击创建虚拟目录。
现在从Visual Studio中运行WCF,它将在本地IIS中托管WCF。
答案 1 :(得分:1)
我们不需要在配置文件中指定要在网站绑定模块中设置的基址。
https://social.msdn.microsoft.com/Forums/vstudio/en-US/d42fc165-052d-476a-9580-1240b3d0293d/specify-endpoint-in-wcf-webconfig?forum=wcf
那么我们应该在IIS中启用WCF功能。
最后,我们可以在http://ip:port/xxxx.svc中看到Web服务描述。
随时让我知道是否有什么可以帮助您的。