我的wcf应用程序IService1.cs
中有一个类和这样的接口[ServiceContract]
public interface IService1
{
[OperationContract]
string insertValues(empInfo objInfo);
}
[DataContract]
public class empInfo
{
string _organizationName = string.Empty;
string _organizationAddr = string.Empty;
int? _totalemp;
}
在Service1.svc.cs中,我实现了该接口。
public class Service1 : IService1
{
public string insertValues(empInfo objInfo)
{
.....
}
}
然后我创建了一个空的mvc4客户端应用程序来使用这个wcf服务。
我添加了ServiceReference,现在它作为ServiceReference.1出现在服务引用文件夹中。然后我这样做了
1.创建了一个名为Defalut1controller的控制器。
2.在此控制器中,我尝试添加以下行
ServiceReference1.Service1Client proxy = new ServiceReference1.Service1Client();
在ActionResult里面。但无法获得ServiceReference1字。
当我像这样更新我的服务时出现它的(ServiceReference1)
从 - string insertValues(empInfo objInfo);
- 到 - string insertValues(string objInfo);
现在我已经构建了这个wcf应用程序,并在我的客户端mvc4应用程序中更新了服务引用。现在
ServiceReference1.Service1Client proxy = new ServiceReference1.Service1Client();
行已启用。
我已尝试使用.net网络应用程序来使用相同的功能,我可以毫无问题地做到这一点,我错过了mvc4,请帮忙。提前谢谢..
答案 0 :(得分:3)
我得到了答案,感谢stackoverflow。
这是解决方案:
它也适用于我。
答案 1 :(得分:0)
问题本身和您面临的问题对我来说有点不清楚,但您是否真的尝试在empInfo
数据合同上公开任何公共属性?因为现在您只有3个私有字段,这些字段不会在客户端的代理代码中生成。
答案 2 :(得分:0)
Microsoft已在此更新中解决了此问题:http://support.microsoft.com/kb/2750149