通过WCF验证ASP.Net自定义MembershipUser导致未经请求的服务调用?

时间:2010-07-16 09:07:23

标签: wcf asp.net-membership membership-provider

好的,......首先是事实。

我正在开发一个ASP.Net项目,该项目通过WCF服务验证它的用户。我在共享程序集中有一个CutomMembershipUser类,它继承自MembershipUser,因为我使用的是自定义成员资格提供程序。所有这一切都无法改变,因为它不在我的职权范围内。

这里大概是发生了什么。我在登录控件的Logged_In事件中有一些看起来像这样的代码......

            CustomMembershipUser user = (CustomMembershipUser)SecurityBL.GetUser(userName);

            if (user.Customer.ToLower() == "some user")
            {
                //impl omitted
            }

第一行执行没有问题,我从服务中获得了正确的用户。但是,在第二行中,当我比较user.Customer属性时,第二个请求被发送到具有空userName字符串的服务,该字符串将整个IDE挂起大约30秒左右并最终抛出{ {1}}我可以在服务方面找到它。

显然我的第一个假设是,该属性的getter中有一些逻辑延迟加载属性但没有;事实上,这是一个自动实施的财产!

更奇怪的是,..在调用代码中,我甚至无法捕获异常,它告诉我请求来自与我正在执行的不同的线程。

此对象的任何属性访问都会出现同样的问题,无论是覆盖还是全新。

以前有人见过这样的事吗?我现在已经摸不着头脑了2天,我不知道下一步该尝试什么。

任何帮助都会很棒。

提前致谢。 Stimul8d

1 个答案:

答案 0 :(得分:1)

会员资格非常直接,实际上并不了解网络通信,尤其是WCF,因此 代码中必然会发生一些奇怪的事情。真。

如果您想尝试隔离重现效果的最小代码并将其上传到某个地方,我很乐意看一下。

相关问题