我正在研究一个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项目有关。

有人有同样的问题吗?我该怎么办?

最佳答案

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

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

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

它生成了以下文件:
  • SecurityService.cs
  • output.config

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

    10-05 20:53
    查看更多