我正在为我们的服务创建一个 Asp.net Webapi。另一方面,我必须从现有的 WCF 服务中提取一些数据。
我正在我的 asp.net webapi 项目中创建一个 Web 引用。但似乎没有生成代理。
我尝试使用 VS 2012 RC,然后使用 VS 2010。我无法在项目中的任何位置从我的模型/控制器中引用它。在 MVC webapi 中创建代理是否有不同的方法。我不知道出了什么问题。
它是否必须做一些事情,比如我不能从休息服务中消费 wcf 服务
我在这里缺少什么。
谢谢。
我正在为我们的服务创建一个 Asp.net Webapi。另一方面,我必须从现有的 WCF 服务中提取一些数据。
我正在我的 asp.net webapi 项目中创建一个 Web 引用。但似乎没有生成代理。
我尝试使用 VS 2012 RC,然后使用 VS 2010。我无法在项目中的任何位置从我的模型/控制器中引用它。在 MVC webapi 中创建代理是否有不同的方法。我不知道出了什么问题。
它是否必须做一些事情,比如我不能从休息服务中消费 wcf 服务
我在这里缺少什么。
谢谢。
尝试添加服务引用而不是 Web 引用,后者用于已弃用的 ASP.NET Web 服务 (ASMX)。
我刚试过这个,它按预期工作。这是我所做的:
将 ValuesController.Get(int id) 中的代码替换为
public string Get(int id)
{
var serviceReference1 = new ServiceReference1.Service1Client();
return serviceReference1.GetData(id);
}
浏览时
http://localhost:<port>/api/values/2
我收到
<?xml version="1.0" encoding="utf-8"?><string>You entered: 2</string>
如果添加了您的服务引用,但 reference.cs 生成为空,则可能是类型冲突的问题。以下解决方法对我有用。
要更正它,请右键单击服务引用,单击配置服务引用。在配置屏幕上,取消选中“在引用的程序集中重用类型”。如果没有强制更新,它应该自动更新服务引用。
这应该会适当地生成 reference.cs 文件。