Windows服务(托管WCF服务)在启动时立即停止

nor*_*pro 4 c# wcf windows-services

我的问题:安装服务后我无法导航到基地址,因为服务不会继续运行(立即停止).我需要在服务器或我的机器上做什么来使baseAddress有效吗?

背景:我正在尝试学习如何使用Windows服务中托管的WCF服务.我已经阅读了几个关于如何实现这一目标的教程,看起来非常简单.我查看了这篇MSDN文章,并逐步构建它.我可以在我的机器和服务器上安装该服务,但是当我启动该服务时,它会立即停止.然后我找到了本教程,它基本上是相同的,但它包含一些使用WCF服务的客户端.我下载了源代码,编译,安装,但是当我启动服务时,它立即停止了.

在搜索SO时,我发现了一个可能的解决方案,即在实例化ServiceHost时定义baseAddress,但这也没有帮助.

我的serviceHost定义为:

serviceHost = new ServiceHost( typeof( CalculatorService ), 
                 new Uri( "http://localhost:8000/ServiceModelSamples/service" ) );
Run Code Online (Sandbox Code Playgroud)

我的服务名称,基地址和端点:

<service name="Microsoft.ServiceModel.Samples.CalculatorService" behaviorConfiguration="CalculatorServiceBehavior">
        <host>
            <baseAddresses>
                <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
            </baseAddresses>
        </host>
        <endpoint address="" binding="wsHttpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    </service>
Run Code Online (Sandbox Code Playgroud)

我已经验证了名称空间是相同的.令人沮丧的是,教程似乎假设只要遵循所有规定的步骤,Windows服务就会启动.我错过了什么,它可能就在我面前.请帮忙!

Jan*_*Jan 8

当您的Windows服务立即停止时,OnStart方法中会出现异常.请尝试捕获并记录该异常.