asp.net - read - login asp net core
El sistema de configuraciĆ³n actual no admite configuraciones de usuario (3)
Estoy intentando usar un archivo de configuración para almacenar las preferencias del usuario cuando él / ella inicia sesión en la aplicación.
Los definí como usuario (alcance) pero estoy obteniendo
System.Configuration.ConfigurationErrorsException: The current configuration system does not support user-scoped settings.
¿Cuál puede ser una buena solución?
Cuando tuve este problema, resultó que tenía una referencia a una dll que tenía un archivo Settings.settings (o Settings.Designer.cs).
Lo que sucede es que al editar el archivo Setting.settings, al hacer clic en la línea en blanco en la parte inferior, se agrega una nueva línea con información de la plantilla y una configuración de usuario predeterminada en lugar de la configuración de la aplicación. Esta es una buena característica, pero puede ver cómo después de cambiar la plantilla y agregar su nueva configuración, luego haciendo clic a continuación para perder el enfoque, se agrega una nueva línea de plantilla y si no está prestando atención, agrega accidentalmente una configuración de usuario. Compruebe si tiene este archivo en una dll referenciada y elimine cualquier configuración de usuario.
De hecho, las configuraciones de ámbito de usuario no son compatibles con una aplicación web. Y no funcionarían, la configuración del usuario debería guardarse en la carpeta Users/<username>/...
del servidor.
Tienes una amplia selección de técnicas web:
- galletas persistentes
- Perfiles de membresía de ASP.NET
- tu propia Db
Puede hacer que la configuración del ámbito de la aplicación se pueda escribir simplemente agregando un definidor a la definición de propiedad en Settings.Designer.cs
. Por ejemplo:
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("AdminContext")]
public string DbContext
{
get { return ((string)(this["DbContext"])); }
set { this["DbContext"] = value; } }
La advertencia es que Settings.Designer.cs
se genera automáticamente y, por lo tanto, si usa la interfaz de usuario del diseñador, sus configuradores se sobrescribirán.
Esto funciona en consolas y aplicaciones web.