thm*_*msn 2 c# asp.net-mvc membership-provider
几个小时以来,我一直在反对这个问题,这对我来说毫无意义.
我已经制作了一个asp.net mvc 3应用程序,我已经实现了表单身份验证.我已经创建了自己的自定义提供程序,我实现了GetUser(..)方法和ValidateUser(...)方法,其余的实现抛出了一个未实现的异常
我可以在登录页面上将我的登录信息提供给AccountController,我会收到一个欢迎用户名!很好,所以登录似乎工作.
现在我在我的FooController上有3个动作
具体实现如下所示
[HttpPost]
public JsonResult FirstAction(int param1, string param2, string param3)
{
var userID = (int)Membership.GetUser().ProviderUserKey;
...
}
[HttpPost]
public JsonResult SecondAction(int param1, int param2, string param3)
{
var userID = (int)Membership.GetUser().ProviderUserKey;
...
}
Run Code Online (Sandbox Code Playgroud)
正如您可能已经猜到的那样,我Index使用jQuery ajax功能从我的View 调用FirstAction和SecondAction .
以下行抛出null referencce异常:
var userID = (int)Membership.GetUser().ProviderUserKey;
Run Code Online (Sandbox Code Playgroud)
奇怪的是,它只在SecondAction中抛出一个null引用,该调用在FirstAction中工作正常.
我试过像这样拆分它
var user = Membership.GetUser();
var providerKey = user.ProviderUserKey;
var userID = (int)providerKey.
Run Code Online (Sandbox Code Playgroud)
然而它仍然失败了.
Membership.GetUser(..)返回的MembershipUser对象具有存储在providerUserKey中的整数,而不是常规成员资格实现所具有的Guid.
任何形状或形式的任何帮助非常感谢.
调试!有些东西不是你想象的那样!
var user = Membership.GetUser();
Debug.Assert(user != null);
var userKey = user.ProviderUserKey;
Debug.Assert(userKey != null);
var userID = (int)userKey;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
517 次 |
| 最近记录: |