我在同一个解决方案上有一个类库和一个mvc项目。有时我在需要验证用户访问规则时访问会话数据,但另一次返回为“null”。在我的互联网搜索中,我无法找到适用于此案例的可行解决方案。当我使用简单的表单搜索表数据时会发生此问题。 你有任何消化吗? 谢谢你。 (Bellow my code fragment)
public class EasyLabSimpleRoleProvider: RoleProvider
{
public override string[] GetRolesForUser(string username)
{
Dictionary<string, object> empresa;
empresa = HttpContext.Current.Session["Empresa"] as Dictionary<string, object>;
//when I use a search form, HttpContext... return null.
//....
}
//....
}
答案 0 :(得分:1)
尝试继承IReadOnlySessionState。它可以在您创建自定义处理程序时起作用,也可以帮助您。
public class EasyLabSimpleRoleProvider: RoleProvider, IReadOnlySessionState
{
//....
}
答案 1 :(得分:0)
我在纠正我的表单时解决了我的问题(特别是),使用了适用于我项目中其他表单的相同javascript函数(泛型)。如果没有这些定义,我不知道网络表单不起作用的原因,因此会话也不起作用。
这是我的解决方案:
@using (Html.BeginForm("Index", @controller, FormMethod.Get, new { @id = "frmFiltro", data_tiposub = "2", @class = "", role = "form" }))
非常感谢。