2011-07-11 81 views
0

我創建了一個名爲ServiceIRE的wcf服務。通過在解決方案資源管理器中右鍵單擊第三個項目,然後單擊添加服務參考,爲我的項目添加服務參考。我能夠發現我創建的服務,並在指定名稱空間ServiceReference1後單擊確定。所有文件似乎都能正確生成。添加Wcf服務不允許命名空間訪問

然後,我轉到代碼隱藏並嘗試添加使用語句「using ServiceReference1;」。儘管命名空間顯然存在於同一個項目中,但該文件無法識別該文件。

任何幫助將不勝感激。

ServiceIRE.cs

namespace FakeIREServiceLibrary 
{ 

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class ServiceIRE : IServiceIRE 
{ 
    public string GetData() 
    { 
     Random rnd = new Random(); 
     var randomNumber = rnd.Next(10); 
     Random rndID = new Random(); 
     var randomNumberID = rnd.Next(10000); 
     Thread.Sleep(randomNumber*1000); 
     return string.Format("Thread # {0} returned in {1} nanoseconds", randomNumberID, rnd.Next()); 
    } 


} 

IServiceIRE.cs

namespace FakeIREServiceLibrary 
{ 

    [ServiceContract] 
    public interface IServiceIRE 
    { 
     [OperationContract] 
     string GetData(); 

    } 
} 

Page.aspx.cs

using ServiceReference1; //THIS IS NOT RECOGNIZED 

預先感謝您:)

+0

是您在網站(文件 - >新網站)中使用'語句嗎? –

回答

2

什麼是默認的命名空間爲你的項目?

我相信你必須做一些像「使用DefaultNamespaceForProject.ServiceReference1;」

您可以通過右鍵單擊您的項目找到默認命名空間。單擊「屬性」,然後進入「應用程序」選項卡。

+0

這是一個Web項目,我無法找到該項目的默認命名空間。我看到「屬性頁面」和「屬性窗口」,但僅此而已。有沒有另一種方法來找到這個? – joncodo

+0

您使用的是什麼版本的visual studio? – ntsue

+0

順便說一句,我認爲默認情況下,「默認命名空間」是項目的名稱。 – ntsue

1

在顯示該項目的所有文件後,通過查看Service Reference中的Reference.cs文件,可以找到由Visual Studio生成的服務客戶端的名稱空間。默認值是[Project namespace]。[指定名稱空間]。

有可能是因爲錯誤而沒有生成文件。這可能是你看到的行爲。

我也鼓勵你NOT use Add Service Reference,而不是use a ChannelFactorybuild a reusable service client

+0

+1來推薦使用ChannelFactory來添加服務引用。 – Tim

+0

@Tim - 謝謝。當你只是想學習這項技術時,服務引用是非常棒的,但那是關於IMO的。 – BrandonZeider

相關問題