2012-02-27 68 views
0

我在我的Silverlight應用程序中有一個名爲WCF_Service的WCF服務引用。然而,每當我想在我的代碼使用它,我必須指定的URI這一提法:爲什麼我必須指定一個Uri作爲我的服務參考?

Uri uri = new Uri(HtmlPage.Document.DocumentUri, "WcfDataService.svc"); 
WCF_Service.Entities context = new WCF_Service.Entities(uri); 

爲什麼我需要指定URI?我知道這是必要的,但服務引用不知道此服務位於何處?

回答

1

確實,服務引用包含一個Uri,它在添加它時使用,它在您更新引用時自動重用 - 這只是爲了方便。

您可以從許多不同的端點使用相同類型的服務 - 這只是重新配置要使用的Uri(即從測試切換到生產服務器)的問題。這就是爲什麼作爲消費者必須提供終點 - 想象使用來自兩個不同服務器的相同服務 - 在這種情況下,您不希望將兩個引用添加到您的項目中 - 對嗎?

+0

這很有道理。爲什麼它不需要Uri,如果它是傳統的Web服務而不是WCF呢? – Justin 2012-02-27 19:28:10

+0

如果我沒有正確記住asmx,它默認爲在你的web.config中配置的引用/ Uri,但你可以通過設置Url屬性覆蓋它 - 我會爭辯你幾乎總是想這樣做。 – BrokenGlass 2012-02-27 19:29:32

相關問題