我創建了一個不使用app.config來配置自身的WCF服務。但是,在某些PC上花費三到四分鐘來構建ServiceHost對象。考慮到我的服務有問題,我構建了一個簡單的Hello,World服務,並嘗試使用它。我有同樣的問題。在某些電腦上創建WCF ServiceHost對象需要三到四分鐘
根據分析器,所有這段時間都花費在配置服務中。
所以我真的有兩個問題。
是否可以禁用從XML讀配置?
更重要的是,有沒有人有任何想法,爲什麼這可能需要這麼多的時間?
下面是示例服務:
[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetString();
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class MyService : IMyService
{
public string GetString()
{
return "Hello, world!";
}
}
class Program
{
static void Main(string[] args)
{
Uri epAddress = new Uri("http://localhost:8731/Test");
Uri[] uris = new Uri[] { epAddress };
MyService srv = new MyService();
ServiceHost host = new ServiceHost(srv, uris); // this line takes 3-4 minutes
host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "Test");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
host.Description.Behaviors.Add(smb);
host.Open();
return;
}
}
我需要設計原因創建服務並在將它作爲一個對象,而不是在將它作爲一種類型。
如果有更多的信息可以使用,請讓我知道。
非常感謝。
嗨Vitaliy,Marc和Shiraz謝謝大家的迴應。我嘗試了Vitaliy的建議,之後重新啓動了我的電腦。這似乎解決了這個問題。不幸的是,我似乎無法登錄爲我用來創建帖子的帳戶,但這似乎已經爲我修復了它。再次感謝您的所有建議。 Steve – 2009-10-16 14:42:40
我合併了你的賬戶。我認爲你現在應該可以選擇最好的答案。 – Will 2011-04-14 18:14:36