C# WCF服务-OperationContract-字符串数组

C# WCF服务-OperationContract-字符串数组,c#,jquery,json,wcf,C#,Jquery,Json,Wcf,我正在构建WCF服务,其中一个OperationContact应该在输入时使用字符串数组 POST请求是从jQuery生成的,带有$.toJSON函数,如下所示 {"user":"77cae724-d5b3-412d-9499-2cfc175bf66f", "data1":["ba3be5f2-c65d-4c21-86b1-829cad246746","604c53b1-1e24-42f7-8aba-93314eb0878e"], "data2":"d15c3cf6-02c8-42f2-

我正在构建WCF服务,其中一个OperationContact应该在输入时使用字符串数组

POST请求是从jQuery生成的,带有$.toJSON函数,如下所示

    {"user":"77cae724-d5b3-412d-9499-2cfc175bf66f",
"data1":["ba3be5f2-c65d-4c21-86b1-829cad246746","604c53b1-1e24-42f7-8aba-93314eb0878e"],
"data2":"d15c3cf6-02c8-42f2-9753-ab2f5e10b21e",
"data3":["6449b58c-272c-4c98-a2fd-bd47ca248bb3","595fbefd-411e-40b1-afa1-f1f96495a8c1"]}
我创建的合同如下:

[OperationContract]  
bool function1(string userGuid, List<string> userOrganization, List<string> userCostUnit, List<string> userGroup);
但似乎什么都不管用。我刚刚收到500个内部服务器错误。 输入数据(json数据)有问题吗


你能告诉我减速功能应该是什么样子的吗

您的契约与JSON不匹配(例如,JSON成员称为“user”,但您在契约中使用“userGuid”)

例如,您可以执行以下操作:

[WebInvoke(RequestFormat=WebMessageFormat.Json)] [经营合同] bool函数1(Guid用户、列表数据1、Guid数据2、列表数据3)


您可能还需要使用WebInvoke.BodyStyle来实现此功能-我认为它应该被“包装”。

检查web服务器日志以了解有关导致500响应的错误的更多信息。我根据此答案实现了serializeObject函数,但实际上它不适用于多个选择项:(
 [OperationContract]  
bool function1(string userGuid, string[] userOrganization, string[] userCostUnit, string[] userGroup);