我正在为我们的服务创建一个Asp.net Webapi。另一方面,我必须从现有的WCF服务中提取一些数据。
我在asp.net webapi项目中创建了一个Web引用。但似乎没有代理生成。
我尝试使用VS 2012 RC,然后使用VS 2010.我无法从模型/控制器中的任何位置引用它。在MVC webapi中是否有另一种创建代理的方法。我不知道出了什么问题。
是否必须执行某些操作,例如我无法从休息服务中使用wcf服务
我在这里缺少的是什么。
感谢。
答案 0 :(得分:3)
尝试添加服务引用而不是Web referance,该引用用于不推荐使用的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>
答案 1 :(得分:1)
如果添加了服务引用但是reference.cs生成为空,则可能是类型冲突的问题。以下解决方案为我工作。
要更正它,请右键单击服务引用,然后单击“配置服务引用”。在配置屏幕上,取消选中引用程序集中的&#34;重用类型&#34;。如果没有强制更新,它应该自动更新服务引用。
这应该适当地生成reference.cs文件。