2012-03-25 22 views

Respuesta

11

La configuración del ámbito del usuario no es compatible con una aplicación web. Y no funcionarían, la configuración del usuario debería guardarse en la carpeta Users\<username>\... del servidor.

Usted tiene una amplia variedad de técnicas web:

  • cookies persistentes Perfiles
  • ASP.NET membresía
  • su propio Db
2

Se pueden realizar ajustes ámbito de aplicación se puede escribir simplemente agregar un colocador 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 el Settings.Designer.cs es generada automáticamente, y por lo tanto si se utiliza la interfaz de usuario de diseño, se sobrescribirán sus emisores.

Esto funciona en aplicaciones de consola y web.

+0

Aunque esta no es la mejor práctica, se hace * * trabajo y está completamente probado. Dado que advierto el enfoque en el cuerpo, no creo que sea válido dar un voto negativo. Esta solución es "usarla bajo su propio riesgo" pero, sin embargo, * es * una solución. – Shane

+0

*** Settings.Designer.cs se genera automáticamente ***. No es una buena solución. –

14

Cuando tuve este problema, resultó que tenía una referencia a un dll que tenía un archivo Settings.settings (o Settings.Designer.cs).

Lo que ocurre es que al editar el archivo Setting.settings, al hacer clic en la línea en blanco de la parte inferior, se agrega una nueva línea con información de plantilla y una configuración de usuario predeterminada en lugar 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 hacer clic a continuación para perder el enfoque, se agrega una nueva línea de plantilla y si no está prestando atención, accidentalmente agrega una configuración de usuario. Compruebe si tiene este archivo en un dll de referencia y elimine las configuraciones de usuario.

enter image description here

Cuestiones relacionadas