c# - 如何将多个对象发送到 WCF 方法

标签 c# asp.net wcf

我有一个 wcf 服务,我正在按以下方法向其发送一个列表。 但是我想发送两个参数,如下面的方法意味着可以是一个列表或任何与服务层中的实体相同的对象,通过 post 方法。 这可能吗?

下面是我将对象数组发送到服务的过程。它运行良好。

jquery 代码:

      var listOfObjects=new Array();
      //creating list of objects
      for(var i=0;i<5;i++)
       {   var MyEntity=new Object();
           MyEntity.TestId =i;
           MyEntity.TestId =i+"testName";
           listOfObjects.push(MyEntity);
       }

       var jsonList=JSON.stringify(listOfObjects);
       var dataToSend = '{"myEntity":'+jsonData+'';

        //Saving info
        $.ajax({
            type: "POST",
            async: false,
            data: dataToSend,
            url: "../ServiceLayer/myService.svc/SaveResults",
            contentType: "application/json; charset=utf-8",
            dataType: "json",          
            success: function () {
                alert("success");
            },
            error: function () {
                alert("Error");
            }
        });

WCF:

    [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
     ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    public void SaveLabResults(List<MyEntity> myEntity)
    {
          var lstEntities=myEntity;
    }

实体:

[DataContract]
public class MyEntity
{
    [DataMember]
    public string TestId { get; set; }
    [DataMember]
    public string TestName { get; set; }
}

谢谢

最佳答案

当然可以,只需添加另一个参数即可。

   [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
     ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    public void SaveLabResults(List<MyEntity> myEntity,List<MyEntity> myEntity2)
    {
          var lstEntities=myEntity;
          var lstEntities2=myEntity2;
    }

和:

var dataToSend = '{"myEntity":'+jsonData+', "myEntity2":'+jsonData2+' }';
//Saving info
$.ajax({
    type: "POST",
    async: false,
    data: dataToSend,
    url: "../ServiceLayer/myService.svc/SaveResults",
    contentType: "application/json; charset=utf-8",
    dataType: "json",          
    success: function () {
        alert("success");
    },
    error: function () {
        alert("Error");
    }
});

关于c# - 如何将多个对象发送到 WCF 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619270/

相关文章:

c# - 如何使用 C# 隐藏/显示进程?

c# - 如何将 ASP.NET 成员/角色用户链接到数据库中的表?

asp.net - IIS Express 在编辑 css、js 或其他 "no bin"文件后回收应用程序池

c# - 由于换行符,正则表达式无法工作?

wcf - 跟踪对 WCF 服务进行的所有调用(及其堆栈)

wcf - 在多个进程之间共享静态数据

c# - 在 Internet Explorer 10 中从 Javascript 调用 C# BHO 方法(发布预览)

c# - 反序列化 DateOnly

c# - configSource 在 system.serviceModel *或其子部分中不起作用

c# - 遍历 List<T> 时出现空引用异常