【发布时间】:2010-03-24 10:04:28
【问题描述】:
我很困惑。我们在 ASP.NET 中听到了很多关于 Provider 的信息。 Membership-Provider , Role Provider , XmlDataProvider ,CustomProvider, ....
这些是什么以及为什么我们在 ASP.NET 中需要它们?
【问题讨论】:
标签: asp.net membership-provider provider roleprovider
我很困惑。我们在 ASP.NET 中听到了很多关于 Provider 的信息。 Membership-Provider , Role Provider , XmlDataProvider ,CustomProvider, ....
这些是什么以及为什么我们在 ASP.NET 中需要它们?
【问题讨论】:
标签: asp.net membership-provider provider roleprovider
Provider 是“Supplier”的同义词,意思是:
某人的业务是提供 特定的服务或商品
就像在现实生活中一样,提供者是可以帮助您解决与特定服务的通信或帮助您解决问题的人/物。
例如,.NET 中的 Membership Provider 用于处理成员身份,例如身份验证、注册新用户以及更多选项。
角色提供者与上述内容齐头并进,因为它可以帮助您处理附加到您拥有的用户的角色(他们有会员资格!)。
您可能想阅读以下内容:Microsoft ASP.NET 2.0 Provider Introduction from MSDN
【讨论】:
使用 Provider 模型意味着如果您不喜欢 ASP.NET 中某些东西的工作方式,或者您想要/需要扩展它,您可以编写自己的。只要它支持 ASP.NET 作为平台一部分工作所需的核心功能,即它继承自 MemrbershipProvider/RoleProvider/WhateverProvider,您就可以在内部做您想做的事情。
然后,您可以换出默认 Provider 并在其位置使用您的,例如假设您不使用 SQL Server,而是使用 CouchDB 进行所有数据存储。你不能使用SqlMembershipProvider,但你可以写一个CouchDBMembershipProvider*——只要你继承MembershipProvider并重写它的方法来使用CouchDB,你就可以开始了。
* 我不是说你应该这样做,我只是说你可以:-)
【讨论】: