我正在使用Newtonsoft.Json dll为Serialize对象从wcf服务返回字符串。当我从服务中调用其他简单方法时它工作正常,但是当我调用将对象序列化为字符串并返回该字符串时无效的方法。以下是我的服务代码。
public string GetString()
{
return "Hello";
}
public string GetData(int i)
{
My_Entities ME = new MY_Entities();
ApplicationVM oVM = new ApplicationVM()
{
AP_M_BloodGroup = ME.AP_M_BloodGroup.ToList().ElementAtOrDefault(i),
AP_M_DayMaster = ME.AP_M_DayMaster.ToList().ElementAtOrDefault(i)
};
return JsonConvert.SerializeObject(oVM, Formatting.Indented);
}
这两种方法都适用于本地但在托管后调用GetData()
方法时,它会在客户端提供错误消息"Access Denied"
。
那么,问题是什么以及我需要多加什么呢?
当我将客户端代码放在try-catch块中时,它会给出如下信息:
消息:请求类型'System.Security.Permissions.SecurityPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败
答案 0 :(得分:1)
我用
<trust level="Full" />
在web.config中的system.web下根据@d_Z建议,它可以工作。