Tôi có một cuộc gọi AJAX mà tôi muốn chạy đối với dịch vụ WCF GET. Về cơ bản, cuộc gọi đến dịch vụ (thông qua jquery) trông như thế này:Chuyển một mảng tới dịch vụ WCF qua GET
$.get(serviceEndpoint, {query : "some search text", statusTypes: [1, 2]}, function (result) { /* do something*/ }, 'text');
Khi cuộc gọi này được chạy, tôi thấy GET trong firebug đi qua một cách chính xác, và tôi làm đạt điểm cuối. Tuy nhiên, tham số statusTypes
luôn là giá trị rỗng.
Các GET chính nó từ jquery vẻ như nó được mã hóa, nhưng khi tôi không mã hóa các dấu ngoặc, cuộc gọi sẽ không được vào thiết bị đầu cuối tại tất cả:
Và các dịch vụ WCF bản thân:
[OperationContract]
[WebInvoke (Method = "GET", bodystyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json)]công ResultsViewModel GetTags (chuỗi truy vấn, int [] statusTypes)
Có thể thế nào để vượt qua một mảng thông qua GET đến một dịch vụ WCF?
Các hoán vị không nhiều, vì vậy tôi có thể viết một điểm cuối cá nhân "cho mỗi mảng", nhưng tôi muốn giữ nó trong một.
Là một workaround, bạn chuyển đổi mảng của bạn thành một chuỗi và sau đó phân tích nó trong dịch vụ của bạn sử dụng String.split (). – Zachary