public ActionResult LoginOut() { var callBackUrl = RequestUtils.GetString("CallBackUrl"); _logger.InfoFormat(callBackUrl); //先获取是否有包含TGC var account = _ticketGrantingManager.GetTicketGranting(); if (account != null) { _logger.InfoFormat("Id:{0},code:{1}", account.AccountId, account.Code); //移除TGC _ticketGrantingManager.RemoveTicketGranting(); var webApps = _webAppManager.GetAllWebApps(); //var key = ""; //异步调用,通知客户端退出 Task.Factory.StartNew(() => { foreach (var webApp in webApps) { SimulatRequest.Instance(UrlUtils.GetClientNotifyUrl(webApp), "Post") .AddParam("AccountCode", EncryptUtils.EncryptAccountCode(account.Code)) .BeginRequestAsync(); } }); } //根据CallBack地址 先拿到请求是属于哪一个客户端 var webAppInfo = _webAppManager.GetWebAppInfoByUrl(callBackUrl); CookieUtils.ClearCookie(); if (webAppInfo != null) { return(Redirect(UrlUtils.GetClientNotifyUrl(webAppInfo))); } return(Redirect(callBackUrl)); }