WCF服务引用命名空间无法找到。

4
我有一个本地的WCF服务,已经在我的解决方案中引用了。但是我的控制器类无法找到服务的名称空间?通常我会使用svcUtil编写包装类,但由于这是内部实现,我认为我可以简单地添加“服务引用”,进入命名空间,然后调用我的服务(例如var service = new QServiceReference.MyClass())。
我无法展示图片,因此这是我的解决方案结构。
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();
        }
    }
}

很抱歉如果那个结构不太清晰(正如之前提到的,我不能发布图片)。有任何线索或想法将不胜感激?
1个回答

18

您的WCF客户端生成的命名空间可能与您使用的命名空间不同。在解决方案资源管理器中,当您选择Service References文件夹时,可以启用Show All Files按钮,然后导航到Reference.cs文件,如下面的截图所示:

输入图像描述

然后,在Reference.cs文件中,您可以找到通过“添加服务引用”对话框实际生成的命名空间,您可以在其他文件中使用using语句。


感谢CSharpVJ。看起来Reference.cs中自动生成的代码是空的,这可以解释很多问题 :) 再次感谢。 - Scott White
很遗憾,Svcutil和VS2010处理命名空间的方式不同。 - Gerardo Lima
根据我后来发现的这个空引用,问题出在两个地方。首先,我的类没有设置正确的数据契约并且缺少了依赖映射。其次,应用程序配置文件中的终结点有错误的值。吸取教训。 - Scott White

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接