【发布时间】:2012-10-11 04:53:39
【问题描述】:
我从一个 silverlight 应用程序中调用它:
// docs at: http://developers.facebook.com/docs/reference/api/post
var client = new FacebookClient(_token);
dynamic parameters = new ExpandoObject();
parameters.message = title;
parameters.link = linkUrl;
parameters.picture = imageUrl;
parameters.name = name;
parameters.caption = promptTitle;
parameters.description = description;
parameters.privacy = new
{
value = "ALL_FRIENDS",
};
client.PostAsync("me/feed", parameters);
这会产生以下错误: 尝试通过安全透明方法 'SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(System.String, System.Type, System.Type[], System.Type)' 访问安全关键方法 'System.Reflection.Emit.DynamicMethod..ctor( System.String, System.Type, System.Type[], System.Type, Boolean)' 失败。
-- 更多:--
{System.MethodAccessException: 尝试通过安全透明方法“SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(System.String, System.Type, System.Type[], System.Type)”访问安全关键方法“System.Reflection” .Emit.DynamicMethod..ctor(System.String, System.Type, System.Type[], System.Type, Boolean)' 失败。
在 SimpleJson.Reflection.CacheResolver.CreateDynamicMethod(字符串名称,类型 returnType,类型 [] 参数类型,类型所有者)
在 SimpleJson.Reflection.CacheResolver.CreateGetHandler(PropertyInfo propertyInfo)
在 SimpleJson.Reflection.CacheResolver.MemberMap..ctor(PropertyInfo propertyInfo)
在 SimpleJson.PocoJsonSerializerStrategy.BuildMap(类型类型,SafeDictionary2 memberMaps)
at SimpleJson.DataContractJsonSerializerStrategy.BuildMap(Type type, SafeDictionary2 映射)
在 SimpleJson.Reflection.CacheResolver.LoadMaps(类型类型)
在 SimpleJson.PocoJsonSerializerStrategy.TrySerializeUnknownTypes(对象输入,对象和输出)
在 SimpleJson.PocoJsonSerializerStrategy.SerializeNonPrimitiveObject(对象输入,对象和输出)
在 SimpleJson.SimpleJson.SerializeValue(IJsonSerializerStrategy jsonSerializerStrategy, Object value, StringBuilder builder)
在 SimpleJson.SimpleJson.SerializeObject(对象 json,IJsonSerializerStrategy jsonSerializerStrategy)
在 SimpleJson.SimpleJson.SerializeObject(对象 json)
在 Facebook.JsonSerializer.SimpleJsonSerializer.SerializeObject(对象 obj)
在 Facebook.FacebookUtils.ToJsonQueryString(IDictionary2 dictionary)
at Facebook.FacebookClient.BuildRequestData(Uri uri, IDictionary2 参数,HttpMethod httpMethod,Uri& requestUrl,String& contentType)
在 Facebook.FacebookClient.BuildRequestData(字符串路径,IDictionary2 parameters, HttpMethod method, Uri& requestUrl, String& contentType)
at Facebook.FacebookClient.ApiAsync(String path, IDictionary2 参数,HttpMethod httpMethod,对象 userToken)
在 Facebook.FacebookClient.PostAsync(字符串路径,IDictionary2 parameters, Object userToken)
at Facebook.FacebookClient.PostAsync(String path, IDictionary2 参数)
在 CallSite.Target(闭包,CallSite,FacebookClient,字符串,对象)
在 System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite 站点,T0 arg0,T1 arg1,T2 arg2)
【问题讨论】:
-
我通过使用 var parameters = new Dictionary
() 而不是动态来实现它。想知道是否有办法使用动态来代替(对我来说看起来更干净)。 -
您使用的是哪个版本?使用 v5.0.25 RTW 时是否获得相同的效果?如果您遇到相同的错误,您可以在 codeplex 中提交错误。
-
@prabir,错误已提交 ;-) 谢谢!
标签: silverlight-4.0 facebook-c#-sdk