Profile的简单的配置与操作

下面由我来给大家配置一个ProfileProfile的用法

 

只要我们配置节Profile配置好后那整个项目就都可以随时调用了,Profile中的类型是可以任意的,而且永久保存,如果永久保存的话那就要用到数据库了。下面配置一个userNameProfile的属性为string类型.

 

1.要配置一下web.config文件中的<system.web>配置节中:<profile>配置节

 

 

<profile defaultProvider="MySqlProfileProvider">

     <providers>

<add name="MySqlProfileProvider" connectionStringName="KuConnectionString" applicationName="/"

type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

      </providers>

<profile defaultProvider="MySqlProfileProvider">

     <providers>

<add name="MySqlProfileProvider" connectionStringName="KuConnectionString" applicationName="/"

type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

      </providers>

      <properties>

        <add name="userName" type="system.string" serializeAs="Binary"/>

      </properties>

</profile>

</system.web>

来解释一下上面的配置:

defaultProvider="MySqlProfileProvider" 为使用MySqlProfileProvider为这个项目的默认profile,因为它的默认是安装 Visual Studio时自带的一个machine.config文件中的profile

<add name="MySqlProfileProvider" connectionStringName="KuConnectionString" applicationName="/"

type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

为创建一个新的profile的配置节这里的name就是defaultProvider指定默认的,这样新创建的profile的配置节就成了我们要指定的操作。

<add name="userName" type="system.string" serializeAs="Binary"/>

这个配置节是配置profile的属性name为属性的关键字,type为这个属性的类型,serializeAs为指定是以二进制保存到数据库中。

connectionStringName="KuConnectionString"为以要保存的数据库,为数据库连接字符串的name值

如:<connectionStrings>

     <add name="KuConnectionString" connectionString="Data Source=localhost;Initial Catalog=ku;Integrated Security=True" providerName="System.Data.SqlClient"/>

</connectionStrings>

2.这时上面的配置好后就可创建数据库了

 要创建一个数据库要符合profile的存储结构就不能乱建了,下面我们到(C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727

v2.0.50727)是跟据你的版本号确定的文件夹,这时在这个文件夹下有一个名为:aspnet_regsql.exe的文件双击它后会出现一个向导,就是创建数据库你跟据这个向导一步一步地去做就可以了,在创建时可以就行选择你已有的数据库中,这样你的数据库中就会多出好几张表来,那就成功了。

3.上面的准备好后就可在程序中进行应用了

应用时非常简单:我们来实现一个从default1.aspx页点击一个按钮跳转到default2.aspx页面但同时给Profile.userName赋值并在default2.aspx页面中是进行显示这个值

一个default1.aspx页面

           在一个按钮的单击事件中写上:

                   Profile.userName = "spring";

        Server.Transfer("default2.aspx");

一个default2.aspx页面

                   在这个页面的要添加一个Label控件进行显示Profile.userName的值

                   在:

protected void Page_Load(object sender, EventArgs e)

    {

        this.labText.Text = Profile.userName;

    }在这个加裁事件中指要把Profile.userName中的值取出给要显示控件的Text属性中就行了,非常简单吧,这里不用转换是因为我们在web.config文件中配置的时候userName就是string类型的。如果是其它的类型就需要做一下相对的转换了。

 

实现后可以去数据库中看看aspnet_Profile表中就有了我们刚刚保存的数据了,这些数据的存储我们并没有写什么sql语句就只是配置了一下web.config文件而已,这些东西微软都已经给你封装好了你只要配置一下使Profile就可以轻松的永久的保存数据了,但这个数据是以二进制存储的,还可以是string类型的。

 

不管怎么封装,它的后台不都得有sql语句去执行吗,要不怎么能把数据存到数据库中呢,是不?只不过是封装了你看不见了而已。如果大家有时间的话去想想微软是什么样的思想来开发的,又是怎么来实现这样的一个功能的?

 

posted @ 2009-03-09 21:30  王春天  阅读(1625)  评论(0编辑  收藏  举报
云推荐