Сервер, предоставляющий профиль SQL, не найден исключение

#c# #asp.net #sql-server #visual-studio #profile

#c# #asp.net #sql-сервер #visual-studio #Профиль

Вопрос:

Я пытаюсь использовать профили в своей программе. Создание необходимых таблиц с использованием aspnet_regsql.exe из командной строки все работало нормально. Однако выдается исключение System.Web.HttpException, в котором говорится, что не удается подключиться к базе данных, когда я пытаюсь запустить приложение. Это странно, потому что я подключен к базе данных в проводнике сервера в VS 2013. Вот сообщение об ошибке на веб-сайте моего приложения.

При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 — Ошибка определения местоположения сервера / экземпляра)

Вот соответствующий код в моем файле веб-конфигурации.

 <profile defaultProvider="SqlProvider" inherits="[Namespace].AccountProfile">
    <providers>
        <clear/>
        <add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="[stringname]"/>
    </providers>
    <properties>
        <add name="Rows" type="System.String"/>
        <add name="Area" type="System.String"/>
    </properties>
</profile>
  

И вот код в моем приложении, в котором генерируется исключение

AccountProfile.cs

 public class AccountProfile : ProfileBase
{
      static public AccountProfile CurrentUser
      {
           get { return (AccountProfile)(ProfileBase.Create(Membership.GetUser().UserName)); }
      }

    ....
}
  

Ответ №1:

Оказывается, что часть кода Membership.getUser() все еще пыталась использовать строку подключения LocalSqlServer, найденную в файле machine.config, вместо строки подключения к базе данных, которую я предоставил в web.config. Добавление <clear /> в мою конфигурацию ConnectionString помогло мне разобраться в этом.

 <connectionStrings>
<clear />
    <add name="..." connectionString="Data Source=...;Initial Catalog=...;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>