我收到错误 无法加载类型“Microsoft.Web.Redis.RedisSessionStateProvider”,这是 Windows 事件查看器中的错误详细信息,应用程序使用 ASP.NET 4.8,我手动将 DLL 文件添加到 bin文件夹,因为应用程序很旧并且不使用任何包管理器。
web.config
<sessionState mode="Custom" customProvider="MyRedisSessionStateStore">
<providers>
<add name="MyRedisSessionStateStore"
type="Microsoft.Web.Redis.RedisSessionStateProvider"
host="localhost"
port="6379"
ssl="false"
accessKey=""
/>
</providers>
</sessionState>
事件查看器:
Event code: 3008
Event message: Er is een configuratiefout opgetreden.
Event time: 1-4-2024 11:38:19
Event time (UTC): 1-4-2024 11:38:19
Event ID: 6008a0a85a8e47918ec3eb85f1bec3fa
Event sequence: 2
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT-13-133564450990873787
Trust level: Full
Application Virtual Path: /
Application Path: C:\inetpub\wwwroot\steam2\
Machine name: MININT-JPP0LTV
Process information:
Process ID: 22060
Process name: w3wp.exe
Account name: IIS APPPOOL\codelogic
Exception information:
Exception type: ConfigurationErrorsException
Exception message: Kan het type Microsoft.Web.Redis.RedisSessionStateProvider niet laden. (C:\inetpub\wwwroot\steam2\web.config line 187)
bij System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
bij System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit, Boolean ignoreCase)
bij System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType)
bij System.Web.SessionState.SessionStateModule.SecureInstantiateProvider(ProviderSettings settings)
bij System.Web.SessionState.SessionStateModule.InitModuleFromConfig(HttpApplication app, SessionStateSection config)
bij System.Web.SessionState.SessionStateModule.Init(HttpApplication app)
bij System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
bij System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
bij System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
bij System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Kan het type Microsoft.Web.Redis.RedisSessionStateProvider niet laden.
bij System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase)
bij System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
Request information:
Request URL: http://localhost:8037/
Request path: /
User host address: ::1
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\codelogic
Thread information:
Thread ID: 87
Thread account name: IIS APPPOOL\codelogic
Is impersonating: False
Stack trace: bij System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
bij System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit, Boolean ignoreCase)
bij System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType)
bij System.Web.SessionState.SessionStateModule.SecureInstantiateProvider(ProviderSettings settings)
bij System.Web.SessionState.SessionStateModule.InitModuleFromConfig(HttpApplication app, SessionStateSection config)
bij System.Web.SessionState.SessionStateModule.Init(HttpApplication app)
bij System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
bij System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
bij System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
bij System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Custom event details:
我正在尝试使用 Redis 在 ASP.NET 和 ASP.NET Core 之间共享会话状态,我尝试提供正确的配置来加载正确的类型,但它仍然不起作用。
定义会话状态提供程序的 web.config 在哪里?如果它是根 web.config (
C:\inetpub\wwwroot\web.config
),请在 wwwroot
下创建一个 bin 文件夹,然后在其中添加 DLL。