在ASP.NET网站中,只需在Web.Config部分添加一些简短的内容即可将自动神奇的有线属性添加到用户配置文件中。
例如,对于像这样的XML。
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
<properties>
<add name="Name" allowAnonymous="true"/>
<add name="VisitedOn" type="System.DateTime" allowAnonymous="true"/>
</properties>
</profile>
你最终会有能力做到这一点。无需声明任何其他代码。
Profile.Name = "Some Test Value";
Profile.VisitedOn = DateTime.Now;
Profile.Save();
我试图在ASP.NET Web App中复制此功能,甚至似乎找不到基本Profile声明,更不用说自定义属性了。
但我发现System.Web.Profile.DefaultProfile.Properties
确实包含我在Web.Config中定义的自定义声明属性。
那么我哪里可能出错?在Web应用程序中获取自动有线属性的过程是什么?
答案 0 :(得分:1)
在第一个请求到达时,在编译ASP.NET Web应用程序期间创建属性。
参考:ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0
Web.config文件中定义的配置文件属性如果配置文件 属性在应用程序的Web.config文件中定义 生成包含配置文件对象的程序集。
您可以通过编写自定义BuildProvider并注册相同内容来挂钩此编译。此构建提供程序可用于生成自动有线属性。