Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 供应商模式&;默认提供者_Asp.net_Design Patterns_Provider - Fatal编程技术网

Asp.net 供应商模式&;默认提供者

Asp.net 供应商模式&;默认提供者,asp.net,design-patterns,provider,Asp.net,Design Patterns,Provider,我试图在自定义web控件中实现提供者模式。我仍在努力理解这种模式,我有以下问题 默认提供程序是否为加载控件时始终要使用的提供程序?据我所知,使用的提供程序将始终是默认的,但我不确定,因为MSDN文档说,允许选择提供程序的服务器控件应具有默认为defaultProvider值的提供程序属性。对我来说,这意味着控件可以基于其提供程序属性加载给定的提供程序,只要该提供程序在配置文件中。对吗?因此,如果没有请求特定的提供程序,则返回默认提供程序 要更改提供程序,我是否只需更改配置文件中的defaultp

我试图在自定义web控件中实现提供者模式。我仍在努力理解这种模式,我有以下问题

默认提供程序是否为加载控件时始终要使用的提供程序?据我所知,使用的提供程序将始终是默认的,但我不确定,因为MSDN文档说,允许选择提供程序的服务器控件应具有默认为defaultProvider值的提供程序属性。对我来说,这意味着控件可以基于其提供程序属性加载给定的提供程序,只要该提供程序在配置文件中。对吗?因此,如果没有请求特定的提供程序,则返回默认提供程序


要更改提供程序,我是否只需更改配置文件中的defaultprovider 我承认,我对供应商的了解仅限于为会员资格/个人资料/角色编写它们,但一般内容仍然适用:

除非您允许开发人员指定不同的提供程序,否则是的,将使用默认提供程序

因此,以身份验证为例,如果您的web.config中有以下内容:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
  <providers>
    <remove name="AspNetSqlProvider" />
    <add name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="SqlServices"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="true"
      passwordFormat="Hashed"
      applicationName="/" />
    <add name="AdProvider"
      type="System.Web.Security.ActiveDirectoryMembershipProvider" />
  </providers>
</membership>
在自己的控件上执行此操作的其他方法是公开提供程序属性,并检查该属性是否有值,然后使用该提供程序而不是defaultProvider

通常,提供者模型用于为已知类提供一组默认的行为-因此成员资格提供者都有(例如)返回a的方法—AspNetSqlMembershipProvider实现GetUser的全部目的是从ASP.NET SQL数据库加载MembershipUser数据—您可以在


我希望这有帮助

我承认,我对提供商的了解仅限于为会员资格/个人资料/角色编写它们,但一般内容仍然适用:

除非您允许开发人员指定不同的提供程序,否则是的,将使用默认提供程序

因此,以身份验证为例,如果您的web.config中有以下内容:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
  <providers>
    <remove name="AspNetSqlProvider" />
    <add name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="SqlServices"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="true"
      passwordFormat="Hashed"
      applicationName="/" />
    <add name="AdProvider"
      type="System.Web.Security.ActiveDirectoryMembershipProvider" />
  </providers>
</membership>
在自己的控件上执行此操作的其他方法是公开提供程序属性,并检查该属性是否有值,然后使用该提供程序而不是defaultProvider

通常,提供者模型用于为已知类提供一组默认的行为-因此成员资格提供者都有(例如)返回a的方法—AspNetSqlMembershipProvider实现GetUser的全部目的是从ASP.NET SQL数据库加载MembershipUser数据—您可以在

我希望这有帮助