2009-05-06 65 views
0

我开发了一个小混搭站点。这个网站是完整的社区。 因此,当用户转到Community.aspx页面时,他/她将看到社区成员的加入日期,评论数量,名称等等。还有分页。每页有15个用户。现在我的问题是,我的网站上有两种类型的用户“传统用户”和“开放ID”用户。 Ofc我有2个在Asp中定义的角色。网络会员即“OpenIDUser”和“用户”。连续调用WCF服务返回“通常只允许使用每个套接字地址(协议/网络地址/端口)127.0.0.1:10111”

OK !!!

现在当用户点击Community.aspx创建一个用户列表,并返回前15个。但是为了创建这个用户列表,有很多Roles.IsUserInRole("Username","RoleName")检查来查看哪些用户是因为现在按照字母顺序对用户列表进行排序。您必须小心所有开始使用 http://identifier.username或其他任何开放ID用户。所以我做了很多Asp.Net会员服务呼吁Membership.GetUser角色和所有的......

现在通常这不会是一个问题,但我已经将成员服务纳入WCF。原因是在这个社区我会有很多的子域名(每个“网站”的子域名),我只想为所有的 这个使用1个数据库。

所以我认为通常情况下,如果你使500+ Membership.whatever调用那100%。但只要您将WCF中的.NET成员资格带入并将每个Membership.Wack方法转换为WCF方法。每次加载页面时,都会有500多个WCF调用。

我认为这就是错误发生的原因。

回答

0

这不是一个问题,所以这不是一个答案,而是一个评论。

你应该看看有每个子域作为一个单独的成员资格应用程序。这允许多个站点共享相同的会员数据库,但不会干扰彼此的成员。您可以将应用程序名称设置为提供程序配置的一部分。

+0

我希望signle登录整个网站,虽然:/所以如果你注册到一个子域,你应该是所有的一部分。但问题是我得到的错误信息。因为我hade让每个Membership类都调用一个WCF方法,每次创建一个通信频道 – 2009-05-06 13:03:40

+0

因此,如果您正在分享auth,那么您为什么使用web服务?设置相同的应用程序名称和cookie路径将在您创建传输后立即关闭客户端,但不会在每次实例化之后使用Web服务进行身份验证 – blowdart 2009-05-06 13:31:46

0

您是否关闭客户端? IIRC我也有类似的问题。

相关问题