繁体   English   中英

如何将公共属性添加到要在web.config中配置的自定义SqlMembership Provider中

[英]How to add public property to custom SqlMembership Provider to be configured in web.config

我正在创建一个自定义SqlMembershipProvider类,并且我想在其上添加一个新的公共属性,该属性将允许用户在SqlMembershipProvider基类中已经设置了web.config以及其他公共属性。 但是,当我添加我的属性并尝试运行该应用程序时,出现黄色错误消息,提示属性未识别为“ DataLocationDescription”。 我需要做什么才能使该属性与该类的其他属性一起在web.config中访问?

这是我的代码:

public class CustomSqlMembershipProvider : SqlMembershipProvider
{


    public string DataLocationDescription { get; set; }

}

这是web.config文件,其中指定了我的Property DataLocationDescription:

          <add name="CustomizedMembershipProvider" 
           type="ClassLibraries.Web.Security.CustomSqlMembershipProvider" 
           connectionStringName="SQLConnection" 
           maxInvalidPasswordAttempts="5" 
           passwordAttemptWindow="30" DataLocationDescription="Tier2"/>

我尝试使用ConfigurationProperty属性,但这没有任何区别。

[ConfigurationProperty("DataLocationDescription", IsRequired = true)]  

任何帮助是极大的赞赏。

谢谢! 跳蚤

不是SqlMembershipProvider会反序列化配置文件中的Membership / providers部分,而是ConfigurationManager类。 membership元素的架构是固定的 ,因此您无能为力。

简而言之,配置系统不会意识到您的额外财产。

相反,您可以创建自己的配置部分 ,并在应用程序开始的某个位置对自定义成员资格提供程序进行后初始化。 因此,您将拥有一个类似CustomSqlMembershipProvider部分,其中现在有一个元素(或属性,您可以选择),即DataLocationDescription值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM