命名管道引用不与ASP.NET MVC 4一起使用

Gla*_*ius 7 asp.net named-pipes visual-studio asp.net-mvc-4 asp.net-web-api

我正在使用API​​并使用ASP.NET Web API来公开它.我试图将一个服务引用添加到负责身份验证和授权的命名管道服务,但我无法在我的代码中引用它.

Named Pipe服务正常运行,可用于各种项目.这是我们第一次尝试将它与ASP.NET MVC 4一起使用.它在使用ASP.NET MVC 3的另一个项目上运行良好.

就像您在下图中看到的那样,我可以添加服务引用.但它没有出现在对象浏览器或自动完成!

服务参考

当我尝试调用该服务时,它不会出现在任何地方.

码

它似乎是ASP.NET MVC 4项目和命名管道服务引用的问题.

我真的不知道这是否是一个知情/记录的行为,但我无法在互联网上找到与该问题相关的任何有用信息.

我可以在任何类型的项目上使用Visual Studio 2012添加对该服务的引用,但ASP.NET MVC 4除外.该问题与ASP.NET MVC 4项目特别相关.

我尝试使用Visual Studio 2010添加引用,我遇到了同样的问题:与ASP.NET MVC 3和任何其他类型的项目一起工作得很好.同样,该问题与ASP.NET MVC 4项目特别相关.

有人有同样的问题吗?我怎么能通过它?

Gla*_*ius 2

由于它似乎是 Visual Studio / ASP.NET MVC 错误,我刚刚找到了解决方法。

我只是发现我可以使用svcutil命令行工具来生成服务客户端和数据结构的代码。该命令的语法如下:

> svcutil net.pipe://my_sevice/mex /namespace:"*, MyNamespace"
Run Code Online (Sandbox Code Playgroud)

它生成了以下文件:

  • 安全服务.cs
  • 输出配置

然后,我将生成的 SecurityService.cs 文件导入到当前项目中,并将生成的 output.config 上可用的绑定配置与我自己的 web.config 进行合并。