Tôi thích hợp với việc có được khoảnh khắc "ma thuật" khi WCF được cấu hình độc đáo và jQuery đang cấu trúc các yêu cầu/sự hiểu biết của nó một cách độc đáo.JQuery/WCF mà không có ASP.NET AJAX:
Tôi có một dịch vụ:
<%@ ServiceHost Language="C#" Debug="true" Service="xxx.yyy.WCF.Data.ClientBroker" Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" %>
này đã được đề nghị bởi người đàn ông Rick Strahl để tránh việc để xác định hành vi trong Web.config.
giao diện của tôi cho các dịch vụ WCF ngồi trong lắp ráp khác:
namespace xxx.yyy.WCF.Data
{
[ServiceContract(Namespace = "yyyWCF")]
public interface IClientBroker
{
[OperationContract]
[WebInvoke(Method="POST",BodyStyle=WebMessageBodyStyle.Wrapped,ResponseFormat=WebMessageFormat.Json)]
IClient GetClientJson(int clientId);
}
}
Lớp dịch vụ cụ thể là:
namespace xxx.yyy.WCF.Data
{
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
class ClientBroker : IClientBroker
{
public IClient GetClientJson(int clientId)
{
IClient client=new Client();
// gets and returns an IClient
return client;
}
}
}
IClient tôi là một lớp Entity Framework nên được trang trí với DataContract thuộc tính/DataMember thích hợp.
Tôi đang cố gắng gọi dịch vụ WCF của mình bằng các phương pháp được nêu trên blog của Rick Strahl tại http://www.west-wind.com/weblog/posts/324917.aspx (phiên bản "đầy đủ chất béo"). Trình gỡ rối nhảy vào dịch vụ WCF tốt (vì vậy jQuery/JSON của tôi đang được hiểu) và nhận IClient và trả về nó. Tuy nhiên, khi tôi trả lời câu trả lời, tôi nhận được nhiều lỗi vô dụng. Các lỗi tôi đang nhận được không có nghĩa là nhiều.
Tôi đang sử dụng POST.
Tôi có quyền sử dụng Giao diện thay vì đối tượng cụ thể không? Khi nó nhận được vào dịch vụ WCF, nó dường như là mã hóa của kết quả đó là không.
Có ai có ý tưởng nào không?
Cảm ơn Darin, Nó chỉ ra vấn đề của tôi là với JSON serializing Entity Framework đối tượng (blogged: http://tinyurl.com/cc4k37). Nhưng mẹo của bạn về SvcTraceViewer là vô giá trong việc nhắc tôi về công cụ tuyệt vời này và cũng phát hiện ra ngoại lệ. Đồng thời: Đồng ý về REST cho một số phương pháp, chỉ cần không phải 1 này! –