SQL配置文件给服务器找不到异常

时间:2014-06-30 20:50:23

标签: c# asp.net sql-server visual-studio profile

我正在尝试在我的程序中使用个人资料。从命令行使用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 个答案:

答案 0 :(得分:1)

原来,Membership.GetUser()部分代码仍在尝试使用machine.config文件中找到的LocalSqlServer连接字符串,而不是我在web.config中提供的数据库连接字符串。在我的connectionString配置中添加<clear />帮我解决了这个问题。

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