本教程向您展示如何使用 MySQL Profile Provider 将用户配置文件信息存储在 MySQL 数据库中。本教程使用 MySQL Connector/NET 6.9.9、MySQL Server 5.7.21 和 Microsoft Visual Studio 2017 专业版。
许多现代网站允许用户创建个人资料。这需要大量代码,但 ASP.NET 通过在其 Profile 类中包含该功能而减少了这一数量。Profile Provider 提供了这些类和数据源之间的抽象。MySQL Profile Provider 使配置文件数据能够存储在 MySQL 数据库中。这使得配置文件属性能够写入持久存储,并在需要时检索。Profile Provider 还可以有效地管理配置文件数据,例如,它可以删除自特定日期以来未访问过的配置文件。
以下步骤向您展示了如何选择 MySQL 配置文件提供程序:
创建一个新的 ASP.NET Web 项目。
选择 MySQL 应用程序配置工具。
在 MySQL Application Configuration 工具中,通过该工具导航到 Profiles 页面(请参阅 Profiles Provider)。
选中使用 MySQL 管理我的配置文件 复选框。
选中自动生成架构复选框。
单击编辑,然后为将用于存储用户配置文件信息的数据库配置连接字符串。
导航到该工具的最后一页,然后单击 完成以保存您的更改并退出该工具。
此时您已准备好开始使用 MySQL Profile Provider。通过以下步骤,您可以对安装进行初步测试。
打开你的
web.config
文件。添加一个简单的配置文件,例如以下示例。
<system.web> <anonymousIdentification enabled="true"/> <profile defaultProvider="MySQLProfileProvider"> ... <properties> <add name="Name" allowAnonymous="true"/> <add name="Age" allowAnonymous="true" type="System.UInt16"/> <group name="UI"> <add name="Color" allowAnonymous="true" defaultValue="Blue"/> <add name="Style" allowAnonymous="true" defaultValue="Plain"/> </group> </properties> </profile> ...
设置
anonymousIdentification
为 true 允许未经身份验证的用户使用配置文件。它们由 cookie 中的 GUID 而不是用户名来标识。
现在已经在 中定义了简单配置文件
web.config
,下一步是编写一些代码来测试配置文件。
在设计视图中,设计一个带有添加控件的简单页面。下图显示了 打开的带有各种文本框、列表和按钮控件 的Default.aspx选项卡。
这些将允许用户输入一些个人资料信息。用户还可以使用这些按钮来保存他们的个人资料、清除页面和恢复他们的个人资料数据。
在代码视图中添加以下代码片段。
... protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TextBox1.Text = Profile.Name; TextBox2.Text = Profile.Age.ToString(); Label1.Text = Profile.UI.Color; } } // Store Profile protected void Button1_Click(object sender, EventArgs e) { Profile.Name = TextBox1.Text; Profile.Age = UInt16.Parse(TextBox2.Text); } // Clear Form protected void Button2_Click(object sender, EventArgs e) { TextBox1.Text = ""; TextBox2.Text = ""; Label1.Text = ""; } // Retrieve Profile protected void Button3_Click(object sender, EventArgs e) { TextBox1.Text = Profile.Name; TextBox2.Text = Profile.Age.ToString(); Label1.Text = Profile.UI.Color; } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { Profile.UI.Color = DropDownList1.SelectedValue; } ...
保存所有文件并构建解决方案以检查没有引入任何错误。
运行应用程序。
输入您的姓名、年龄,然后从列表中选择一种颜色。现在通过单击 商店配置文件将此信息存储在您的配置文件中。
不从列表中选择颜色会使用 文件中指定 的默认颜色Blue
web.config
。单击清除表单以清除文本框和显示所选颜色的标签中的文本。
现在单击检索配置文件以从 MySQL 数据库中恢复您的配置文件数据。
现在退出浏览器以终止应用程序。
再次运行该应用程序,这也会从 MySQL 数据库中恢复您的配置文件信息。
在本教程中,您了解了如何将 MySQL Profile Provider 与 Connector/NET 结合使用。