WCFサービスを作成し、Windowsサービス経由でホストしたいと考えています。Windowsサービス(TCP)でWCFサービスをホストする際のトラブル
私はここでチュートリアルhttps://msdn.microsoft.com/en-us/library/ff649818.aspx
に応じてすべてのものを作成しましたが、私のWCF services library
App.configをです。私はその後、私はWindowsサービスプロジェクトにApp.configファイルをコピーし
<system.serviceModel>
<services>
<service name="WCFServiceLibrary.Service1">
<endpoint address="" binding="netTcpBinding" bindingConfiguration=""
contract="WCFServiceLibrary.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:3000/Service1" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
をTCPプロトコルを使用してのためにそれを変更しました。 は、私はまた、Windowsサービスのインストーラを追加し、私はプロパティを変更:
StartType - Automatic
Account - NetWorkService
は、その後、私はこのプロジェクトを構築し、 が正常に私が追加しようとしているとき、そしてInstallutil WindowsService.exe
を使用してでも、それをインストールサービス(net.tcp:// localhostを:3000 /サービス1)私のWPFClientProject参照
それが表示されます。
URIプレフィックスが認識されません。メタデータには、 が解決できない参照が含まれています: 'net.tcp:// localhost:3000/Service1'。 をnet.tcp:// localhost:3000/Service1に接続できませんでした。接続の試行 は、00:00:02.0641450の時間間隔で続きました。 TCPエラーコード10061:
私はホストがないようです。 私は何が間違っていますか?
Windowsサービスコード
public partial class Service1: ServiceBase
{
internal static ServiceHost myServiceHost = null;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
if (myServiceHost != null)
{
myServiceHost.Close();
}
myServiceHost = new ServiceHost(typeof(Service1));
myServiceHost.Open();
}
protected override void OnStop()
{
if (myServiceHost != null)
{
myServiceHost.Close();
myServiceHost = null;
}
}
}
サービス参照を追加しようとするとWindowsサービスが実行されていますか?ポート3000でリッスンするものがあることを確認しましたか?サービスホストを起動する場所にWindowsサービスコードを投稿できますか? – Tim
私のWCFクライアントは別のソリューションに配置されています。たぶんそれはその問題の理由ですか? Windowsサービスコードを追加します。 – Destroy
私の個人的な好みはコードからWCFを設定することです、私は入力と実行中にもより良いコントロールを感じます。 –