所以我正在使用Twitter API。我的代碼如下所示:c#mvc 5爲什麼我的會話爲空?
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。爲什麼是這樣?
此外,一個相關的問題,我應該保持這些值在會話?
這樣做有沒有問題,有沒有更好的方法來做到這一點?
嘗試'HttpContext.Current.Session' –
[不要使用HttpContext.Current.Session](http://stackoverflow.com/questions/9119345/mvc-not-supposed-to-use-httpcontext-current-anymore )。 –