为什么HttpContext.Current.Profile为NULL?它是如何获得价值的?

时间:2012-11-15 11:36:20

标签: c# asp.net sharepoint asp.net-membership

我继承了实现自定义profile提供程序的MOSS代码。设置似乎没问题(provider& web.config)。

用户可以登录,但登录后,HttpContext.Current.Profile对象为空。为什么它为空?如何/何时应该得到一个值?

HttpContext.Current.User.Identity.Name在登录后有一个值。

2 个答案:

答案 0 :(得分:0)

迈克冯说:

  

通过Profile提供程序,您必须从中加载配置文件信息   SQL服务器配置文件表。

     

在WebProfile类的GetProfile函数中传递UserName参数   。该类由工具生成。

http://social.msdn.microsoft.com/Forums/da-DK/netfxbcl/thread/af78e6c0-03f5-4f2d-ad07-dd2a57304377

答案 1 :(得分:0)

尝试使用ProfileBase.Create(username,isAuthenticated)

public static System.Web.Profile.ProfileBase Create(string username, bool isAuthenticated)
    Member of System.Web.Profile.ProfileBase

Summary:
Used by ASP.NET to create an instance of a profile for the specified user name. Takes a parameter indicating whether the user is authenticated or anonymous.

Parameters:
username: The name of the user to create a profile for.
isAuthenticated: true to indicate the user is authenticated; false to indicate the user is anonymous.

Returns:
A System.Web.Profile.ProfileBase object that represents the profile for the specified user.