删除现有的配置文件提供商
Q1 本书建议,在注册新的 SqlProfileProvider 之前,我们应该使用
元素删除任何现有的配置文件提供程序。 但是:
A)为什么我们必须使用
而不是
?
B) 我假设 root web.config 或 machine.config 不注册(默认情况下)任何配置文件提供程序,因此使用
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,
AspNetSqlProfileProvider
(类型为System.Web.Profile.SqlProfileProvider
)默认添加在machine.config
中。 查看您的C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
目录(或其他位置)。 但是,它并未在那里注册为默认提供程序。 因此,如果您对默认设置感到满意,就足够了使用以下配置:如果您想使用自定义提供程序,通常最好清除所有现有提供程序(尽管不是必需的)并命名另一个默认提供程序。
不使用
remove
的原因是它需要一个name
属性,而您可能不知道该属性。 使用clear
会删除所有先前注册的配置文件提供程序,使用remove
仅按名称删除一个。关于第二季度,你是对的。 使用的数据库方案必须足够通用,以容纳许多不同的属性(以及属性类型)。
Actually, the
AspNetSqlProfileProvider
(of typeSystem.Web.Profile.SqlProfileProvider
) is added by default inmachine.config
. Take a look at yourC:\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: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 aname
attribute, which you may not know. Usingclear
removes all previously registered profile providers, usingremove
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).
继RWWilden的回答之后,有一个可用的SQL表配置文件提供程序,确实将属性映射到数据库中的列:
ScottGu 对它们进行了简要介绍这里:
Following on from RWWilden's answer, there is a SQL Table Profile Provider available, that does map properties into columns in a database:
ScottGu had a brief introduction to them here: