为什么我不能在wcf服务中使用Newtonsoft.Json JsonConvert.SerializeObject?

时间:2014-04-18 11:44:16

标签: c# asp.net wcf

我正在使用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'的权限失败

1 个答案:

答案 0 :(得分:1)

我用

<trust level="Full" />

在web.config中的system.web下根据@d_Z建议,它可以工作。