【问题标题】:issue in consuming wcf service in mvc 4在 mvc 4 中使用 wcf 服务的问题
【发布时间】:2013-05-02 08:41:16
【问题描述】:

我的 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,请帮助。提前谢谢..

【问题讨论】:

    标签: asp.net-mvc wcf asp.net-mvc-4


    【解决方案1】:

    感谢stackoverflow,我得到了答案。

    这是解决方案:

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

    它也对我有用。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,我有公共属性,比如 public string OrganizationName { get { return _organizationName; } 设置 { _organizationName = 值; } } [DataMember] 公共字符串 OrganizationAddr { get { return _organizationAddr; } 设置 { _organizationAddr = 值; } } [DataMember] 公共整数? TotalEmployees { 得到 { 返回 _totalemp; } 设置 { _totalemp = 值; } }
      • 我得到了答案,感谢 stackoverflow。这是解决方案:1)右键单击服务参考 2)选择配置服务参考 3)在指定的引用程序集中选择重用类型 4)只需选择除“Newtonsoft.json”之外的所有内容 它也对我有用。 @dmusial 感谢您的回复。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-05-24
        • 2016-12-28
        • 2017-07-04
        • 2023-01-24
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多