2

我的 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,现在它作为 ServiceReference1 出现在服务引用文件夹中。然后我做了这个 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 Web 应用程序来使用相同的内容,我可以毫无问题地做,我错过了 mvc4,请帮忙。提前致谢..

4

3 回答 3

3

感谢stackoverflow,我得到了答案。

这是解决方案:

  1. 右键单击服务参考
  2. 选择配置服务参考
  3. 在指定的引用程序集中选择重用类型
  4. 只需选择除“Newtonsoft.json”之外的所有内容

它也对我有用。

于 2013-05-09T04:50:20.607 回答
0

Microsoft 已在此更新中修复了此问题:http: //support.microsoft.com/kb/2750149

于 2013-09-21T05:59:36.577 回答
0

问题本身和您面临的问题对我来说有点不清楚,但您是否真的尝试过在您的empInfo数据合同上公开任何公共属性?因为现在您只有 3 个私有字段,它们不会在客户端的代理代码中生成。

于 2013-05-08T11:39:29.367 回答