我的問題如下:我剛從使用Facebook C#API 4 - > v。5.0.50(截至2011-07-11)遷移,因此我不得不改變一些代碼行,並開始使用FacebookWebClient而不是以前的FacebookApp。我使用這個類來導航Graph API。我使用WCF服務中的功能,該服務僅接收access_token作爲參數,並將其傳遞給FacebookWebClient。facebook c#5 - FacebookWebClient引發Typeinitializer-異常
一切工作在第4節就好了,但是更換和重新引用的應用開始拋出異常的dll文件後「爲‘Facebook.FacebookApplication’的類型初始值引發異常。」
的異常堆棧跟蹤是:
在Facebook.FacebookClient..ctor(字符串的accessToken)在E:\ Prabir \文件\項目\ facebooksdk \ v5.0.50 \源\實\ FacebookClient.cs:線48在在e:\ Prabir \ Documents \ Proj中的Facebook.Web.FacebookWebClient..ctor(String accessToken) ects \ facebooksdk \ v5.0.50 \ Source \ Facebook.Web \ FacebookWebClient.cs:Korito.MyKorito.FetchKorito(String token)的第36行Korito.MyKorito.KoritoAPI(String token)SyncInvokeKoritoAPI(Object,Object [],Object (System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc & rpc))在System.ServiceModel.Dispatcher上的System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance,Object [] inputs,Object [] & outputs) ImmutableDispatchRuntime.ProcessMessage5(MessageRpc & RPC)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc & RPC)在System.ServiceModel.Dispatcher.MessageRpc.Process(布爾isOperationContextSet)
我已引用(僅)以下DLL-S:
- facebook.dll
- Facebook.Web.dll中
- facebook.web.mvc.dll
代碼段是如下所示:
var client = new Facebook.Web.FacebookWebClient(「/ * auth_token_received_as_a_parameter * /」); dynamic me = client.Get(「/ me」);
我使用.net 4框架。
任何援助非常感謝! 歡呼聲, Alois
謝謝prabir您的回覆,並且祝賀您的出色工作。我已經嘗試了FacebookWebClient以及FacebookClient,都表現相同。此外,FacebookApp不再適用於這種情況。 我在控制檯應用程序中複製了同一個案例,首先我只導入了你的dll(來自net40客戶端的facebook.dll和來自net40的facebook.web.dll),這些都不起作用。經過一番研究,我發現我需要包含Newtonsoft.Json,而我所做的和控制檯應用程序現在可以正常工作。但這對WCF應用程序無效。我想這個問題是在iis嗎? – Alois
你正在使用哪個版本?從5.0.10開始,我們已經移除了對Newtonsoft.Json的依賴,因爲我們使用了一個新的輕量級內置json庫,名爲http://simplejson.codeplex.com – prabir
我使用了版本5.0.50。我無法解決WCF中的問題,所以我回到了第4版。 v5與我在同一臺機器上使用的控制檯應用程序出色地工作,但在WCF服務中使用時沒有明顯的原因失敗。 – Alois