1

在 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 应用程序中复制此功能,但似乎找不到基本配置文件声明,更不用说自定义属性了。

然而,我发现它System.Web.Profile.DefaultProfile.Properties确实包含我在 Web.Config 中定义的自定义声明属性。

那么我可能哪里出错了?在网络应用程序中获取自动连接属性的过程是什么?

4

1 回答 1

1

这些属性是在第一个请求到达时在 ASP.NET Web 应用程序的编译期间创建的。

参考:IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述

在 Web.config 文件中定义的配置文件属性 如果在应用程序的 Web.config 文件中定义了配置文件属性,则会生成一个包含配置文件对象的程序集。

您可以通过编写自定义BuildProvider并注册它来挂钩此编译。此构建提供程序可用于生成自动连接属性。

于 2012-07-24T07:13:49.053 回答