1. No tenemos un servidor real, simplemente alquilamos espacio .net2.0 + SQLserver y el nombre de la base de datos SQL es fijo.
2. Es imposible que el proveedor de espacio establezca la fuente de datos por nosotros o le otorgue los permisos de la base de datos aspnetdb.
3. No tenemos permisos WindowsMicrosoft.NetFrameworkv2.xConfig en el servidor.
Conociendo los tres puntos anteriores, si transfiere directamente el proyecto probado localmente al servidor, definitivamente habrá un error (porque llama a WindowsMicrosoft.NetFrameworkv2.xConfig de forma predeterminada). La solución es: Después de importar todo el contenido de la base de datos aspnetdb a su propia base de datos SQL remota, defina la cadena de conexión de la base de datos web.config del proyecto.
web.config
<?xml versión="1.0"?>
<!--
Nota: En lugar de editar manualmente este archivo, también puede utilizar
Herramienta de gestión web para configurar los ajustes de la aplicación. Puedes usar el
Opción "Sitio web" -> "Configuración Asp.Net".
Una lista completa de configuraciones y anotaciones está en
machine.config.comments, que generalmente se encuentra en
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuración xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--Definir conexión de base de datos-->
<add name="DbName" ConnectionString="Persist Security Info=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</cadenasdeconexión>
<configuración de la aplicación>
</appSettings>
<sistema.web>
<!--
conexiónStringName conexión de base de datos. Esto debe configurarse en web.config
enablePasswordRetrieval Obtiene un valor que indica si el proveedor de membresía actual está configurado para permitir a los usuarios recuperar sus contraseñas.
enablePasswordReset Obtiene un valor que indica si el proveedor de membresía actual está configurado para permitir a los usuarios restablecer sus contraseñas.
requireQuestionAndAnswer Obtiene un valor que indica si el proveedor de membresía predeterminado requiere que los usuarios respondan una pregunta sobre contraseña para restablecerla y recuperarla.
applicationName obtiene o establece el nombre de la aplicación.
requireUniqueEmail Indica si el usuario debe proporcionar un valor de dirección de correo electrónico único al crear el usuario.
contraseñaFormat indica el formato en el que se almacenan las contraseñas en el almacén de datos de membresía. Instrucciones detalladas a continuación
maxInvalidPasswordAttempts Obtiene el número de contraseñas no válidas o intentos de respuesta de contraseñas no válidas permitidos antes de que se bloquee la membresía del usuario.
minRequiredPasswordLength Obtiene la longitud mínima requerida para una contraseña.
minRequiredNonalphanumericCharacters Obtiene el número mínimo de caracteres especiales que deben incluirse en una contraseña válida.
contraseñaAttemptWindow Obtiene el número máximo de contraseñas no válidas o intentos de respuesta de contraseñas no válidas permitidos antes de que se bloquee el acceso del usuario de membresía, en minutos.
Descripción detallada de Formato de Contraseña
Propiedad que indica el formato en el que se almacenan las contraseñas. Las contraseñas se pueden almacenar en formatos de contraseña clara, cifrada y hash. Las contraseñas claras se almacenan en texto sin cifrar, lo que mejora el rendimiento de almacenamiento y recuperación de contraseñas, pero son menos seguras y pueden leerse fácilmente cuando la seguridad de la fuente de datos se ve comprometida. Las contraseñas cifradas se cifran cuando se almacenan y se pueden descifrar al comparar o recuperar contraseñas. Estas contraseñas requieren un procesamiento adicional durante el almacenamiento y la recuperación, pero son más seguras y no pueden recuperarse fácilmente cuando la seguridad de la fuente de datos se ve comprometida. Las contraseñas hash se procesan mediante un algoritmo hash unidireccional y un valor salt generado aleatoriamente cuando se almacenan en la base de datos. Cuando se verifica una contraseña, la contraseña se codifica con el valor de sal en la base de datos para su verificación. No se puede recuperar la contraseña hash.
-->
<roleManager habilitado="verdadero" />
<membresía>
<proveedores>
<eliminar nombre="AspNetSqlMembershipProvider"/>
<añadir nombre="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Versión=2.0.0.0, Cultura=neutral, PublicKeyToken=b03f5f7f11d50a3a"
conexiónStringName="NombreDb"
enablePasswordRetrieval="falso"
enablePasswordReset="verdadero"
requiereQuestionAndAnswer="verdadero"
nombredeaplicación="/"
requiereUniqueEmail="falso"
formato de contraseña = "hash"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
contraseñaAttemptWindow="10"
contraseñaFuerzaRegularExpresión="" />
</proveedores>
</membresía>
<!--
Establezca la compilación debug="true" para insertar símbolos de depuración
en la página compilada. Pero dado que esto
Afecta el rendimiento, por lo que sólo debe configurarse durante el desarrollo.
este valor.
Opciones de Visual Basic:
Establecer estricto="true" deshabilitará todo
Conversión de tipo con pérdida de datos.
Establecer explicit="true" forzará la declaración de todas las variables.
-->
<compilación debug="true" estricto="false" explicit="true"/>
<páginas>
<espacios de nombres>
<claro/>
<añadir espacio de nombres="Sistema"/>
<agregar espacio de nombres="System.Collections"/>
<agregar espacio de nombres="System.Collections.Specialized"/>
<agregar espacio de nombres="Sistema.Configuración"/>
<agregar espacio de nombres="System.Text"/>
<agregar espacio de nombres="System.Text.RegularExpressions"/>
<agregar espacio de nombres="System.Web"/>
<añadir namespace="System.Web.Caching"/>
<agregar espacio de nombres="System.Web.SessionState"/>
<agregar espacio de nombres="System.Web.Security"/>
<agregar espacio de nombres="System.Web.Profile"/>
<agregar espacio de nombres="System.Web.UI"/>
<agregar espacio de nombres="System.Web.UI.WebControls"/>
<añadir namespace="System.Web.UI.WebControls.WebParts"/>
<agregar espacio de nombres="System.Web.UI.HtmlControls"/>
</espacios de nombres>
</páginas>
<!--
La sección <autenticación> le permite configurar la
modo de autenticación segura,
para identificar al usuario entrante.
-->
<modo de autenticación="Formularios" />
<!--
Si se produce un error no controlado al ejecutar la solicitud,
Los pasos de procesamiento correspondientes se pueden configurar a través de la sección <customErrors>. Específicamente,
Los desarrolladores pueden configurar esta sección
página de error html para mostrar
para reemplazar el seguimiento de la pila de errores.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirección="NoAccess.htm" />
<error statusCode="404" redirigir="FileNotFound.htm" />
</customErrors>
-->
</sistema.web>
</configuration>
Nota: Se reproduce el comentario del nodo de membresía, olvidé la dirección.
http://lcx.cnblogs.com/archive/2006/06/29/438836.html