Comment réparer l' “le nom de La connexion 'LocalSqlServer' a pas été trouvé dans la configuration des applications ou de la chaîne de connexion est vide.” erreur?

J'ai un ASP.NET projet à l'aide de SQL Server CE 4.0 avec Entity Framework 4.0. Il fonctionne très bien sur mon ordinateur local.

Quand je la déplace vers le serveur distant, cependant, et essayez de vous connecter à l'admin de faire partie du programme, j'obtiens l'erreur suivante:

The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

Elle fait référence à la ligne suivante dans la machine.config sur le serveur distant:

Line 237:    <membership>
Line 238:      <providers>
Line 239:        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
Line 240:      </providers>
Line 241:    </membership>

Maintenant, c'est vrai que je n'ai pas de "AspNetSqlMembershipProvider" énoncé dans mon web.config qui fait référence à une chaîne de connexion appelé "LocalSqlServer". Au lieu de cela j'ai le texte suivant:

<membership defaultProvider="DefaultMembershipProvider">
  <providers>
    <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" connectionStringName="PUGConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" applicationName="/" />
  </providers>
</membership>

Cela fonctionne localement. Le nom de la chaîne de connexion est PUGConnection, pas LocalSqlServer.

Pourquoi serait-ce de travailler localement, et non pas à distance? (Le serveur distant est un serveur partagé, -- je n'ai pas accès à la machine.config.)

Si je change le nom de la chaîne de connexion à LocalSqlServer, ça va fonctionner? Et si oui, pourquoi en serait-il dans l'autre sens sur mon ordinateur local? La machine.config sur mon ordinateur local semble le même que celui sur le serveur distant, aussi loin que je peux dire.

C'est gênant. C'est en fait définie dans la machine.config de sorte qu'il est probablement manquant sur la machine distante. Merci de voir stackoverflow.com/questions/5325907/... et stackoverflow.com/a/3699338/10731071 pour des suggestions sur la façon de résoudre ce problème.
Il ne semble pas comme si il manquait de la machine distante.config, depuis le message d'erreur mentionnée spécifiquement lignes 237 - 241. Tout cela est très confus. Tout ce qui est dans la machine.config, il s'attend à trouver un analogue dans le web.config?
simplement, il pourrait ne pas être présent sur la machine distante.config. Le fournisseur d'appartenances cherche d'abord dans le global config de la Machine.config) recherche dans le web local.config, c'est pourquoi, soit de remplacer ou de compensation, il fonctionne.
Mais si le message d'erreur expressément référence à des lignes de 237 -241 de la machine.config, ne serait-ce pas dire qu'il était là?
double possible de Analyseur Message d'Erreur: le nom de La connexion 'LocalSqlServer' a pas été trouvé dans la configuration des applications ou de la chaîne de connexion est vide

OriginalL'auteur Cynthia | 2012-07-26