2012-07-09 64 views
4

我在我的解決方案中有一個本地WCF服務,這是我引用的。但是,我的控制器類無法拿起服務名稱空間?傳統上我會使用svcUtil來編寫一個包裝類,但是因爲這是內部我可以簡單地添加'Service Reference',點擊命名空間然後簡單地調用我的服務(即var service = new QServiceReference.MyClass();)無法找到WCF服務參考名稱空間

我無法使這裏顯示圖片的結構爲我的解決方案,

Solution 
-> Services Folder 
    -> QService Folder 
     QService Project 
-> Web Folder 
    -> Zipporah.Queuing.Web (project) 
     -> Services References 
      -> QServiceReference 
     -> Controllers Folder 
      -> KioskProcessController 

我班(KioskProcessController)如下:

using System.Web.Mvc; 

using Zipporah.Queuing.Web.QServiceReference; (ITS THIS NAMESPACE REFERENCE THAT DOES NOT WORK) 

namespace Zipporah.Queuing.Web.Controllers 
{ 
    public class KioskProcessController : ZipController 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public ViewResult Queue() 
     { 
      return View(); 
     } 

     public ViewResult PreAppointment() 
     { 
      return View(); 
     } 
    } 
} 

很抱歉,如果這個結構不清晰(如前所述我不能張貼圖片)

任何線索或想法將不勝感激?

回答

18

爲您的WCF客戶端生成的名稱空間可能與您在using中生成的名稱空間不同。在你Solution Explorer窗口中,當您選擇Service References文件夾,您可以啓用Show All Files按鈕,然後導航到文件Reference.cs如下圖所示截圖:

enter image description here

然後,在Reference.cs文件,你可以找到實際生成的命名空間通過「添加服務引用」對話框,您可以在using語句中將其用於其他文件。

+0

感謝CSharpVJ。它會出現在Reference.cs中的自動生成的代碼是空白的,這將解釋很多:)再次感謝。 – 2012-07-09 11:37:23

+0

不幸的是,Svcutil和VS2010處理名稱空間的方式不同。 – 2012-07-09 12:50:43

+0

受此空白參考,我已經找到了潛在的問題。其實2。首先,我沒有在我的類上設置正確的數據契約,我缺少依賴關係映射器。其次,應用配置在端點中有不正確的值。得到教訓。 – 2012-07-10 08:49:50