使用LocalDB发布ASP.net网站

问题描述 投票:1回答:1

我正在尝试将我的网站发布在家庭网络上的另一台计算机上。我在该计算机上设置了IIS和SQL Server 2016 Express。我的开发笔记本电脑上版本相同当我运行该网站时,我得到以下错误。我认为问题可能是我正在尝试使用LocalDB。我经常旅行,在我没有互联网连接的地方。这就是为什么我认为在开发时最好使用localDB。一旦我回到家,我就会发布到我的服务器。

最初,LocalDB是在我的计算机上创建的,远离我的项目。所以我做的是将它移动到app_data,以便在我发布时附加它。

我尝试了什么:

  1. 重新安装Microsoft SQL Server 2016(确保已安装LocalDB)
  2. 确保数据库实际上位于服务器上的App_Data文件夹中
  3. 更改了连接字符串以在app_data中查找数据库

任何建议都会很棒。

连接字符串:

<connectionStrings 
    <add name="IgorsSellersToolBoxDB" 
         connectionString="metadata=res://*/Models.ModelDB.csdl|res://*/Models.ModelDB.ssdl|res://*/Models.ModelDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source= LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\IgorsSellersToolBoxDB.mdf;integrated security=True;multipleactiveresultsets=True;connect timeout=30;application name=EntityFramework&quot;" 
         providerName="System.Data.EntityClient" />
</connectionStrings>

错误:

'/ WebToolbox'应用程序中的服务器错误。

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。指定的LocalDB实例不存在。)

描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。指定的LocalDB实例不存在。)

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息

c# sql-server asp.net-mvc localdb
1个回答
0
投票

正如Steve在评论中提到的,我已经确认在生产中使用localDB是不受欢迎的。

解决方案:在我的开发计算机上使用SQL Server,在生产服务器上使用单独的SQL Server。我所要做的就是在Web.Config中使用单独的连接字符串。

在web.config中,您可以在解决方案资源管理器中展开该文件,您将看到两个文件:

  • Web.Debug.Config
  • Web.Release.Config

这里有一个很好的答案可以很好地解释它 - > Using different Web.config in development and production environment

© www.soinside.com 2019 - 2024. All rights reserved.