現在、WCF サービスを作成する方法を学習しようとしていますが、問題に直面しています。
MainProject
コンソールアプリケーションであるプロジェクトとSoapServer
、クラスライブラリとして作成される2番目のプロジェクトを呼び出します。
はMainProject
を参照する必要はありませんSoapServer
が、SoapServer
は 内から参照する必要がありますMainProject
。
ただし、現時点ではMainProject
アクセスする必要はありませんが、コンソール アプリケーションが WCF サービスでホストを起動できるようにするためです。SoapServer
ただし、MainProject で SoapServer を参照したり、その逆を参照したりすることはできないため、これは明らかに循環依存を引き起こします。これを丸くする方法はありますか?
以下は、WCF サービスの接続を開く方法です。
public class SoapServer : ISoapServerInterface
{
public void startSoapServer()
{
Uri baseAddress = new Uri("http://localhost:6525/hello");
using (ServiceHost host = new ServiceHost(typeof(SoapServer), baseAddress))
{
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(smb);
host.Open();
Console.WriteLine("The service is ready at: {0}", baseAddress);
Console.WriteLine("Press <Enter> to stop the service");
Console.ReadLine();
host.Close();
}
}
ご協力いただきありがとうございます。