我正在强制将成员提供程序添加到ASP.Net Core应用程序中的问题。我必须添加它,因为它引用包含遗留代码和对System.Web.ApplicationServices
程序集的引用的旧项目。在这个程序集中,流程会进入一行代码,该代码检查提供程序名称是否不为空。
if ( providerName == null || SystemWebProxy.Membership.Providers[providerName] == null )
{
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, ApplicationServicesStrings.Membership_provider_name_invalid), "providerName" );
}
但是无论如何,我会在appsettings.json
中添加必要的实现:
"Membership": {
"DefaultProvider": "blahblah",
"Providers": {
"Add": {
...
"Name": "blahblah"
...
}
}}
在启动类中,我以下列方式配置
sqlMembershipProvider
:services.Configure<System.Web.Security.SqlMembershipProvider>(Configuration.GetSection("Membership"));
有人能告诉我,为什么我的提供者没有被实现到配置中呢?也许我走错了路线?
var abc = new SqlMembershipProvider(); abc.Initialize();
? - Jakub Ostrowski