【HTTPGET】 公衆 非同期タスク<IActionResult> OpenOAuthCallback(文字列 auth_code、ストリングappletId) { 試みる { #region使用ComponentContainer // 获取のOAuth授权结果 QueryAuthResult queryAuthResultと、 試す { queryAuthResult = ComponentContainer.GetQueryAuthResult(_senparcWeixinSetting.Component_Appid、auth_code、偽)。 } キャッチ(例外例) { スロー 新しい(例外を" QueryAuthResult:" + ex.Message); } #endregion 場合(queryAuthResult.authorization_info == NULL)リターンJSON(queryAuthResult)。 VaRの DIR = Path.Combine(Environment.CurrentDirectory + @ " / App_Dataに/ AuthorizerInfo / " + _senparcWeixinSetting.Component_Appid)。 もし(!Directory.Exists(DIR)) { Directory.CreateDirectory(DIR); } のvarファイル= Path.Combine(DIR、文字列 .Format("{0}の.bin 」、queryAuthResult.authorization_info.authorizer_appid)); // 记录authorization_info(也可以存入数据库或其他可以持久化的地方) 使用(のFileStream FS = 新しいFileStreamを(ファイル、FileMode.OpenOrCreate、FileAccess.ReadWrite )) { VARの BF = 新しいSystem.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); bf.Serialize(FS、新しい RefreshAuthorizerTokenResult {authorizer_access_token = queryAuthResult.authorization_info.authorizer_access_token、expires_in = queryAuthResult.authorization_info.expires_in、authorizer_refresh_token = queryAuthResult。 authorization_info.authorizer_refresh_token})。 } / /成功した認可、情報更新クライアントアプレットqueryAuthResult.authorization_info.miniprograminf後 VAR getAuthorizerInfoResult = AuthorizerContainer.GetAuthorizerInfoResult(_senparcWeixinSetting.Component_Appid、queryAuthResult.authorization_info.authorizer_appid); 戻りJSON(queryAuthResult.authorization_infoを); } キャッチ(ErrorJsonResultException EX) { 戻りコンテンツ(ex.Messageを); } }