停止调试后,Localhost WCF服务不可用

时间:2014-06-05 09:03:32

标签: c# wcf visual-studio

我在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>

2 个答案:

答案 0 :(得分:2)

听起来您的解决方案/项目的设置并不是您想要的。转到WCF项目的属性并查看&#34; Web&#34;设置(关于此的网上有大量信息)

您可能需要更改&#34;使用Visual Studio开发服务器&#34;到&#34;使用本地IIS Web服务器&#34;

答案 1 :(得分:1)

假设您使用的是IIS Express,它通常是由编辑和继续引起的(右键单击项目,选择属性。它是Web选项卡中的复选框。)

禁用此功能,停止调试时服务应继续运行。

在相关的说明中,如果您希望简单地启动服务(即您不想调试,只是希望它运行),您可以使用&#34;启动而无需调试&#34 ;在调试菜单中(默认为 CTRL + F5