2014-12-19 23 views
0

我正在開發一個用戶登錄和撥打電話的REST API項目。爲了做到這一點,我創建了一個cookie來加密用戶名。我的服務器被部署了,而且真的很奇怪。我時不時收到響應中的cookies。在這種情況下,我只需要在web.config文件中進行任何修改,並重新開始工作......我真的不明白爲什麼...任何想法?Cookie在MVC4中消失

這裏是我的登錄代碼:

[Route("login", Order = 1)] 
[HttpPost] 
[HttpGet] 
public async Task<HttpResponseMessage> Login([FromUri] string userId, [FromUri] string userPassword) 
{ 
    try 
    { 
     Tuple<string, string> result = userService.Authenticate(userId, userPassword); 

     string sessionIds = result.Item1; 
     string message = result.Item2; 
     CookieHeaderValue cookie = CreateSessionsCookie(sessionIds); 
     cookie.Secure = true; 

     // Store username for later use 
     CookieHeaderValue userCookie = new CookieHeaderValue(Strings.Id, Encryption.Protect(userId, Strings.Id)); 
     userCookie.Secure = true; 

     HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, JsonConvert.DeserializeObject(message)); 
     response.Headers.AddCookies(new CookieHeaderValue[] { cookie, userCookie }); 

     return response; 
    } 
    catch (Exception ex) 
    { 
     return HandleException(ex); 
    } 
} 

回答

0

這是一個有點反模式的使用一個Cookie的RESTful Web服務。只需在標題中包含用戶名即可。

至於爲什麼這是超時,我懷疑它與你的會話超時有關。