删除现有的配置文件提供商

发布于 2024-07-22 16:21:19 字数 491 浏览 3 评论 0原文


Q1 本书建议,在注册新的 SqlProfileProvider 之前,我们应该使用 元素删除任何现有的配置文件提供程序。 但是:

A)为什么我们必须使用 而不是

B) 我假设 root web.configmachine.config 不注册(默认情况下)任何配置文件提供程序,因此使用 < /code> 元素不是必需的吗?


Q2 我认为每个配置文件属性在数据库表中没有相应的列(而是将所有属性存储到单个字段中)的原因是每次我们添加和删除配置文件属性时,我们还需要更改表模式?


谢谢

Q1
Book suggests that before we register new SqlProfileProvider, we should remove any existing profile providers using <clear> element. But:

A) why must we use <clear> instead of <remove>?

B) I assume that root web.config or machine.config don’t register (by default) any profile provider, and thus using <clear> element is not necessary?

Q2
I assume reason why each profile property doesn’t have a corresponding column in a database table ( instead all properties are stored into a single field ) is due to the fact each time we would add and remove profile properties, we would also need to change table schema?

thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

祁梦 2024-07-29 16:21:19

实际上,AspNetSqlProfileProvider(类型为System.Web.Profile.SqlProfileProvider)默认添加在machine.config中。 查看您的 C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG 目录(或其他位置)。 但是,它并未在那里注册为默认提供程序。 因此,如果您对默认设置感到满意,就足够了使用以下配置:

<profile enabled="true" defaultProvider="AspNetSqlProfileProvider" />

如果您想使用自定义提供程序,通常最好清除所有现有提供程序(尽管不是必需的)并命名另一个默认提供程序。

不使用 remove 的原因是它需要一个 name 属性,而您可能不知道该属性。 使用 clear 会删除所有先前注册的配置文件提供程序,使用 remove 仅按名称删除一个。

关于第二季度,你是对的。 使用的数据库方案必须足够通用,以容纳许多不同的属性(以及属性类型)。

Actually, the AspNetSqlProfileProvider (of type System.Web.Profile.SqlProfileProvider) is added by default in machine.config. Take a look at your C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG directory (or another location). However, it is not registered as the default provider there. So if you are satisfied with the default settings, it is enough to use the following configuration:

<profile enabled="true" defaultProvider="AspNetSqlProfileProvider" />

If you want to use a custom provider, it's usually a good idea to clear all existing providers (although not necessary) and name another default provider.

The reason for not using remove is that it requires a name attribute, which you may not know. Using clear removes all previously registered profile providers, using remove removes just one by name.

Concerning Q2 you´re correct. The database scheme that is used must be general enough to accomodate lots of different properties (and types of properties).

说不完的你爱 2024-07-29 16:21:19

RWWilden的回答之后,有一个可用的SQL表配置文件提供程序,确实将属性映射到数据库中的列:

表配置文件提供程序示例

ScottGu 对它们进行了简要介绍这里:

ASP.NET 2.0 SQL 表配置文件提供程序

Following on from RWWilden's answer, there is a SQL Table Profile Provider available, that does map properties into columns in a database:

Table Profile Provider Samples

ScottGu had a brief introduction to them here:

ASP.NET 2.0 SQL Table Profile Provider

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文