1. Não temos um servidor real, apenas alugamos espaço .net2.0 + SQLserver, e o nome do banco de dados SQL é fixo.
2. É impossível para o provedor de espaço definir a fonte de dados para nós ou conceder a você as permissões do banco de dados aspnetdb.
3. Não temos permissões WindowsMicrosoft.NetFrameworkv2.xConfig no servidor.
Conhecendo os três pontos acima, se você transferir diretamente o projeto testado localmente para o servidor, definitivamente haverá um erro (porque ele chama WindowsMicrosoft.NetFrameworkv2.xConfig por padrão). A solução é: Depois que todo o conteúdo do banco de dados aspnetdb for importado para seu próprio banco de dados SQL remoto, defina a string de conexão do banco de dados web.config do projeto.
web.config
<?xml versão="1.0"?>
<!--
Nota: Em vez de editar manualmente este arquivo, você também pode usar
Ferramenta de gerenciamento web para definir as configurações do aplicativo. Você pode usar o
Opção "Site" -> "Configuração Asp.Net".
Uma lista completa de configurações e anotações está em
machine.config.comments, que geralmente está localizado em
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuração xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--Definir conexão com o banco de dados-->
<add name="DbName" connectionString="Persistir informações de segurança=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connectionStrings>
<configurações do aplicativo>
</appSettings>
<system.web>
<!--
conexão com o banco de dados connectionStringName. Isso precisa ser definido em web.config
enablePasswordRetrieval Obtém um valor que indica se o provedor de associação atual está configurado para permitir que os usuários recuperem suas senhas.
enablePasswordReset Obtém um valor que indica se o provedor de associação atual está configurado para permitir que os usuários redefinam suas senhas.
requerQuestionAndAnswer Obtém um valor que indica se o provedor de associação padrão exige que os usuários respondam a uma pergunta de senha para redefinição e recuperação de senha.
applicationName obtém ou define o nome do aplicativo.
requerUniqueEmail Indica se o usuário deve fornecer um valor de endereço de e-mail exclusivo ao criar o usuário.
passwordFormat indica o formato no qual as senhas são armazenadas no armazenamento de dados de associação. Instruções detalhadas abaixo
maxInvalidPasswordAttempts Obtém o número de tentativas de senha inválida ou de resposta de senha inválida permitidas antes que a associação do usuário seja bloqueada.
minRequiredPasswordLength Obtém o comprimento mínimo necessário para uma senha.
minRequiredNonalphanumericCharacters Obtém o número mínimo de caracteres especiais que devem ser incluídos em uma senha válida.
passwordAttemptWindow Obtém o número máximo de tentativas de senha inválida ou de resposta de senha inválida permitidas antes que o usuário membro seja bloqueado, em minutos.
Descrição detalhada do PasswordFormat
Propriedade que indica o formato em que as senhas são armazenadas. As senhas podem ser armazenadas nos formatos de senha clara, criptografada e com hash. As senhas limpas são armazenadas em texto não criptografado, o que melhora o desempenho de armazenamento e recuperação de senhas, mas é menos seguro e pode ser lido facilmente quando a segurança da fonte de dados é comprometida. As senhas criptografadas são criptografadas quando armazenadas e podem ser descriptografadas ao comparar ou recuperar senhas. Essas senhas exigem processamento adicional durante o armazenamento e a recuperação, mas são mais seguras e não podem ser facilmente recuperadas quando a segurança da fonte de dados está comprometida. Hashed As senhas são hash usando um algoritmo de hash unidirecional e um valor salt gerado aleatoriamente quando armazenadas no banco de dados. Quando uma senha é verificada, ela é criptografada com o valor salt no banco de dados para verificação. Não foi possível recuperar a senha com hash.
-->
<roleManager habilitado="true" />
<associação>
<provedores>
<remove name="AspNetSqlMembershipProvider"/>
<adicionar nome="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Versão=2.0.0.0, Culture=neutro, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="NomeDb"
enablePasswordRetrieval="falso"
enablePasswordReset = "verdadeiro"
requerQuestionAndAnswer="true"
nomedaaplicação="/"
requerUniqueEmail="falso"
passwordFormat = "Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
senhaAttemptWindow = "10"
senhaStrengthRegularExpression="" />
</provedores>
</membro>
<!--
Defina compilação debug = "true" para inserir símbolos de depuração
na página compilada. Mas já que isso vai
Afeta o desempenho, portanto só deve ser definido durante o desenvolvimento
este valor.
Opções do Visual Basic:
Definir strict="true" desativará todos
Conversão de tipo com perda de dados.
Definir explicit="true" forçará a declaração de todas as variáveis.
-->
<compilação debug="true" strict="false" explicit="true"/>
<páginas>
<namespaces>
<claro/>
<add namespace="Sistema"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</páginas>
<!--
A seção <autenticação> permite configurar o
modo de autenticação seguro,
para identificar o usuário de entrada.
-->
<modo de autenticação="Formulários" />
<!--
Se ocorrer um erro não tratado durante a execução da solicitação,
As etapas de processamento correspondentes podem ser configuradas através da seção <customErrors>. Especificamente,
Os desenvolvedores podem configurar esta seção
página de erro html para exibir
para substituir o rastreamento de pilha de erros.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirecionamento="NoAccess.htm" />
<error statusCode="404" redirecionamento="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
Nota: O comentário no nó de adesão é reproduzido, esqueci o endereço.
http://lcx.cnblogs.com/archive/2006/06/29/438836.html