【发布时间】:2012-02-07 18:34:19
【问题描述】:
我在从 JQuery AJAX 调用 WCF 服务时遇到问题。 GetUserDetails 工作正常,除非我尝试将此代码添加到 User 类:
[DataMember]
public virtual Role Role { get; set; }
添加代码后,我得到错误状态 12152。如果我注释掉 Role 方法的 [DataMember] 属性,一切正常。
这是该方法的 OperationContract:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped
)]
User GetUserDetails(string userName);
和用户类:
[DataContract]
[KnownType(typeof(Role))]
public class User
{
[DataMember]
public virtual int UserId { get; set; }
[DataMember]
public virtual string UserName { get; set; }
[DataMember]
public virtual string FirstName { get; set; }
[DataMember]
public virtual string LastName { get; set; }
[DataMember]
public virtual string Email { get; set; }
[DataMember]
public virtual string Company { get; set; }
[DataMember]
public virtual string Comments { get; set; }
[DataMember]
public virtual bool IsApproved { get; set; }
[DataMember]
public virtual bool IsLocked { get; set; }
[DataMember]
public virtual bool LoggedIn { get; set; }
}
角色类
[DataContract]
public class Role
{
[DataMember]
public virtual string Name { get; set; }
[DataMember]
public virtual string Description { get; set; }
}
非常感谢您的帮助!
【问题讨论】:
-
您是否打开了 WCF 诊断以获取底层异常?
-
我在 web config 中有这段代码:
但作为响应,我只得到状态 12152。请看截图:link -
还有更多。您可以通过以下方式获取更多信息:msdn.microsoft.com/en-us/library/ms733025.aspx
-
如果您“手动”轮询与 AJAX 调用相同的 URL,您的浏览器会返回什么? PS:您可以通过单击编辑器中的图像图标将图像嵌入到您的帖子中
标签: jquery asp.net .net ajax wcf