C# c mvc 5为什么我的会话为空?
所以我正在使用Twitter API。我的代码如下所示:C# c mvc 5为什么我的会话为空?,c#,asp.net-mvc-5,oauth-2.0,twitter-oauth,C#,Asp.net Mvc 5,Oauth 2.0,Twitter Oauth,所以我正在使用Twitter API。我的代码如下所示: public ActionResult AuthorizeTwitter() { Response.Redirect(GetRequestToken()); return View(); } private string GetRequestToken() { var twitter = new Twitter(con
public ActionResult AuthorizeTwitter()
{
Response.Redirect(GetRequestToken());
return View();
}
private string GetRequestToken()
{
var twitter = new Twitter(consumer, consumerSecret, oauth_token, oauth_token_secret);
twitter.BaseURI = requestUrl;
var result = twitter.GetRequest("http://localhost:60707/Twitter/GetAccessToken");
string[] resultArray = result.Split('&');
twitter.RequestToken = resultArray[0].Split('=')[1];
twitter.RequestTokenSecret = resultArray[1].Split('=')[1];
var requestToken = Session["oauth_token"] = resultArray[0].Split('=')[1];
Session["oauth_secret"] = resultArray[1].Split('=')[1];
string redirect = authorizeUrl + requestToken;
return (redirect);
}
public ActionResult GetAccessToken()
{
string verifier = Request.Params["oauth_verifier"];
string token = Request.Params["oauth_token"];
string secret = Session["oauth_secret"].ToString();
.....
}
我在GetRequestToken方法中设置了Session[oauth_secret],当我调试时,我发现它很好
然而,当我开始讨论GetAccessToken时,该值不再存在,会话为null。为什么会这样
还有一个相关的问题,我是否应该在会话中保留这些值
这样做有什么问题吗?有没有更好的方法 你检查过你的twitter的accessToken过期了吗? 我认为它的时间有限,在那之后你必须再次得到它。
考虑在一定时间内自动获取accessToken。尝试HttpContext.Current.Session。我正在授权用户并尝试获取访问令牌,所以这不会发生。