7

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

该命名管道服务工作正常,并用于各种项目。这是我们第一次尝试将它与 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 项目特别相关。

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

4

1 回答 1

2

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

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

> svcutil net.pipe://my_sevice/mex /namespace:"*, MyNamespace"

它生成了以下文件:

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

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

于 2012-11-26T11:10:43.310 回答