Estoy haciendo una llamada a un Web Service ASMX, instancio el WS, el output y hago la llamada.
Lo que me gustaría hacer es guardar el output en la session
y utilizar mas tarde en otros Controllers los datos que recibí.
Código de la llamada:
[HttpPost]
public ActionResult Login(Models.HomeViewModels.Login login)
{
if (ModelState.IsValid)
{
MD5 md5 = new MD5CryptoServiceProvider();
Byte[] originalBytes = System.Text.ASCIIEncoding.Default.GetBytes(login.Contraseña);
Byte[] encodedBytes = md5.ComputeHash(originalBytes);
string hash = BitConverter.ToString(encodedBytes).Replace("-", "").ToLower();
SRWSAPP.WSAPPSoapClient wsWSAPP = new SRWSAPP.WSAPPSoapClient();
SRWSAPP.Autenticacion outAutenticacion = new SRWSAPP.Autenticacion();
outAutenticacion = wsWSAPP.AutenticarUsuario(login.Usuario, hash);
if (outAutenticacion.CodError == 0)
{
return RedirectToAction("Informe", "Solicitudes");
} else {
return View();
}
}
return View();
}
Чтобы сохранять:
System.Web.HttpContext.Current.Session["sessionString"] = sessionValue;
, Чтобы читать хранившиеся переменные:
ViewData["sessionString"] = System.Web.HttpContext.Current.Session["sessionString"] as String;
Для большего informaciГіn: https://code.msdn.microsoft.com/How-to-create-and-access-447ada98
пробуй с:
TempData["clave"] = "esta variable perdura entre controladores";
Я предотвратил бы самое возможное использовать переменные сеанса. Протокол HTTP - "stateless" (без бывший, а именно каждый request независимый от предыдущего). framework дает тебе какие-то программные средства, чтобы это оплачивать, но создает другие проблемы в конце концов. Какие-то альтернативы:
RedirectToAction("Informe", "Solicitudes", new { respuesta = "info"});
Ты реализуешь login, не сохраняют в Session данные об удостоверении.
не, поскольку ты осуществляешь безопасность в сайте, если ты используешь: asp.net membership
, simplemembership
или identity
, но ты используешь Session для безопасности он неправильный.
Introduction to ASP.NET Identity
Идея состоит, в том, чтобы после заверяя тебя, ты использовал Claims
, чтобы сохранять info связанная с безопасностью