我在localhost上到达我的WCF服务时遇到问题。当我从Visual Studio启动时,一切都很好。但是,一旦我停止调试它,该服务就不再可用。这很奇怪,因为它只发生在我自己创建的项目中。当我下载解决方案(例如this one)时,一切都很好,在我停止调试之后服务也可用。
因此,我想,这是一个配置问题。但是,我无法找到它。这是我的Web.config文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name ="svcbh">
<serviceMetadata httpGetEnabled="False"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name ="DuplexServer.CalculatorService" behaviorConfiguration ="svcbh" >
<host>
<baseAddresses>
<add baseAddress = "http//localhost:3435/CalculatorService/" />
</baseAddresses>
</host>
<endpoint name ="duplexendpoint"
address =""
binding ="wsDualHttpBinding"
contract ="DuplexServer.ICalculatorDuplex"/>
<endpoint name ="MetaDataTcpEndpoint"
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
答案 0 :(得分:2)
听起来您的解决方案/项目的设置并不是您想要的。转到WCF项目的属性并查看&#34; Web&#34;设置(关于此的网上有大量信息)
您可能需要更改&#34;使用Visual Studio开发服务器&#34;到&#34;使用本地IIS Web服务器&#34;
答案 1 :(得分:1)
假设您使用的是IIS Express,它通常是由编辑和继续引起的(右键单击项目,选择属性。它是Web选项卡中的复选框。)
禁用此功能,停止调试时服务应继续运行。
在相关的说明中,如果您希望简单地启动服务(即您不想调试,只是希望它运行),您可以使用&#34;启动而无需调试&#34 ;在调试菜单中(默认为 CTRL + F5 )