none
How can I use " ProfileCommon" class in MyWebsiteCore.dll,Is That possible? RRS feed

  • Spørgsmål

  • How can I use " ProfileCommon"  class in MyWebsiteCore.dll,Is That possible?                 
    在业务层里用到了ProfileCommon类,大致如下:

    ProfileCommon pro=new ProfileCommon();

    pro=pro.GetProfile(username);

    return pro.PhoneNum;

    以前业务层代码都放到app_code下,所以一切正常。但是现在想把业务层放到一个库文件里,问题就出来了,ProfileCommon类是asp.net自动生成的,根本没法在当前的asp.net website之外使用.....
    可不可以把在asp.net临时文件夹中的关于ProfileCommon类的定义拿出来,放到dll里,当编译网页的时候不要重复生成这个类,当然还希望page的Profile属性类型依然是ProfileCommon.该如何做呢?
    6. august 2007 03:03

Svar

  • 在启动启用了用户配置文件的应用程序时,ASP.NET 会创建一个类型为 ProfileCommon 的新类,该类从ProfileBase 类继承。强类型访问器被添加到 profile 配置节中为每个属性定义的 ProfileCommon 类中。ProfileCommon 类的强类型访问器调用 ProfileBase 基类的 GetPropertyValue 和 SetPropertyValue 方法,分别用于配置文件属性值的检索和设置。ProfileCommon 类的一个实例被设置为 ASP.NET 应用程序的 Profile 属性的值。
    在类库中访问profile的属性,您可以尝试下述方法:
    1.ProfileCommon pc = (ProfileCommon)ProfileBase.Create(username);
    2.在自定义的类中定义静态属性,通过HttpContext.Current.Profile.getProperties/setProperties操作profile的属性值。
    关于ProfileBase的更多信息,请参考下述MSDN文档:
    http://msdn2.microsoft.com/zh-cn/library/system.web.profile.profilebase(VS.80).aspx
    6. august 2007 03:25