1. 程式人生 > >騰訊社群開放平臺.NET SDK在Mono下執行

騰訊社群開放平臺.NET SDK在Mono下執行

QzoneException: 
QConnectSDK.Exceptions.QzoneException: Exception of type 'QConnectSDK.Exceptions.QzoneException' was thrown. at QConnectSDK.Api.RestApi.Execute (RestSharp.RestRequest request) [0x00000] in :0 at QConnectSDK.Api.RestApi.GetAccessToken (System.String oAuthVericode, System.String state) [0x00000] in :0 at QConnectSDK.Context.QzoneContext.GetAccessToken (System.String state) [0x00000] in :0 at QConnectSDK.QOpenClient..ctor (System.String verifierCode, System.String state) [0x00000] in :0 at ASP.qq_auth_auth_aspx.__RenderTree (System.Web.UI.HtmlTextWriter __output, System.Web.UI.Control parameterContainer) [0x00000] in :0

開始懷疑是RestSharp這個庫的相容問題,後來在Mac上執行成功和Jexus的作者宇內的排查,終於在Linux上成功執行騰訊社群開放平臺.NET SDK。

查看了mono的文件知道,地址http://www.mono-project.com/FAQ:_Security,Linux本身在發行的時候是不帶任何證書的,這和windows平臺似乎恰恰相反。不過有工具,允許我們自行安裝證書。

安裝根證書,這由 mozroots 來完成

    mozroots --import /               ##匯入證書

                    --ask-remove  /       ##僅刪除時確認

                    --machine               ##儲存在全域性環境

 image

這個問題可以說是windows平臺和linux平臺的差異造成的。我們的開發和應用多跑在windows平臺上,好處是這個平臺為我們作了很多幕後工作,壞處是我們清楚她做了些什麼,看來後面的移植過程中出現的問題,第一要考慮的就是時不時平臺差異造成的。