Как исправить "имя соединения "LocalSqlServer" не было найдено в конфигурации приложений или строка подключения пуста.- ошибка?
у меня есть ASP.NET проект с использованием SQL Server CE 4.0 с Entity Framework 4.0. Он отлично работает на моем локальном компьютере.
когда я перемещаю его на удаленный сервер и пытаюсь войти в административную часть программы, я получаю следующую ошибку:
The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.
Он ссылается на следующую строку в машину.config на удаленном сервере:
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>
Теперь, это правда, у меня нет заявления" AspNetSqlMembershipProvider " в моей сети.config, который ссылается на строку подключения с именем "LocalSqlServer". Вместо этого у меня есть следующее:
<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>
Это на самом деле работает локально. Имя строки подключения-PUGConnection, а не LocalSqlServer.
почему это работает локально, а не удаленно? (Удаленный сервер является общим сервером - у меня нет доступа к машине.конфиг.)
Если я изменю имя строки подключения на LocalSqlServer, будет ли это работать? И если да, то почему это будет работать другой путь на моем локальном компьютере? Машина.конфигурация на моем локальном компьютере выглядит так же, как на удаленном сервере, насколько я могу судить.
2 ответов
вам нужно удалить его из конфигурации:
<remove name="AspNetSqlMembershipProvider" />
или еще лучше
<clear />
вы также можете попытаться добавить строку подключения в файл конфигурации. Даже если он не используется, он должен исправить ошибки, которые появляются, ссылаясь на него в другом месте конфигурации.
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
это обычно между appSettings
и system.data
теги.