nettcpを使用してWindowsサービスとしてWCFをホストしています。私がサービスを開始したときにWindowsサービスをインストールした後、そのサービスが開始され、停止したことになります。WindowsサービスとしてのWCFのホスティング「サービスが開始され、停止しました」
エラーは、サービス 'MYService'にエンドポイントを追加するために、空でない契約名を指定する必要があります。
:
protected override void OnStart(string[] args)
{
try
{
if (myServiceHost != null)
{
myServiceHost.Close();
}
myServiceHost = new ServiceHost(typeof(MYservice));
myServiceHost.Open();
}
catch (Exception ex)
{
log.Error("ONStart", ex);
throw;
}
}
次のように設定ファイルがあるが、以下のように私のOnStart関数であるSystem.ServiceModel.Description.ConfigLoader.LookupContract(文字列contractName、文字列serviceNameの)
で
<serviceHostingEnvironment minFreeMemoryPercentageToActivateService="10" />
<services>
<service behaviorConfiguration="myServiceBehavior"
name="myNamespace.myTestService">
<endpoint binding="netTcpBinding" bindingConfiguration="netTCPBindingConfig" contract="myNamespace.ServiceInterface.ImyTestService" />
<endpoint binding="mexTcpBinding" bindingConfiguration="" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://10.1.3.69:8523/TestService" />
</baseAddresses>
<timeouts closeTimeout="10:00:10" openTimeout="10:01:00" />
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="myServiceBehavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
あなたのWCF設定を投稿してください –
設定ファイルにエラーがあります。この動作は、サービス開始時に何らかの例外が発生した場合に特有です。あなたの設定を投稿してください。 – paramosh