0
我目前正在嘗試學習如何創建WCF服務,而且我正面臨一個問題。循環依賴問題
我有一個項目叫做MainProject
這是一個控制檯應用程序,第二個項目叫做SoapServer
,它被創建爲一個類庫。
MainProject
不需要引用SoapServer
,但SoapServer
確實需要引用來自MainProject
內的東西。
但是,儘管MainProject
不需要訪問SoapServer
,但它可以讓控制檯應用程序在WCF服務上啓動主機。
但是,這顯然會導致循環依賴,因爲我不能讓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();
}
}
感謝您提供任何幫助。
添加一個額外的項目/程序集,其中包含兩個項目共享的類型。 http://java.dzone.com/articles/breaking-dependency-cycles – rene 2013-03-04 19:42:48