2016-02-23 59 views
0

我正在使用asp.net identityEF data first的方法。本地主机上的一切正常工作。我在appharbor上托管了我的网站。我的所有控制器操作和webapi都正常工作,除了AccountController。当用户尝试注册时,会给出Internal server error。错误的详细信息是: enter image description here在虚拟主机期间无法连接到LocalDB

注意:我的数据库查询工作正常。这意味着连接字符串中没有问题。

并启用SQL Server Network Configuration不具有选择远程连接Protocols for SQLEXPRESS enter image description here

我怎样才能解决这个问题?

更新:在web.config 我的连接字符串是:

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-Inspinia_MVC5_SeedProject-20141215093835.mdf;Initial Catalog=aspnet-Inspinia_MVC5_SeedProject-20141215093835;Integrated Security=True" providerName="System.Data.SqlClient" /> 
    <add name="Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=b1ad1f3e-1ab5-4169-93f8-a5ae006f3e4e.sqlserver.sequelizer.com;Database=8a5ae006f3e4e;User ID=namucclqps;Password=54nWBkCfURyMzYfhbu8NUQb6PEZUsWcoN;&quot;" providerName="System.Data.EntityClient" /> 

    </connectionStrings> 

更新2: 我安装SQL Server Management Studio。然后,我在appharbor上托管了我的网站并安装了附件SQL Server。然后使用以下信息连接到服务器。 enter image description here

然后在SQL Server Management Studio中添加表格并更改连接字符串web.config和已发布的网站。

+0

实际上,*在连接字符串中存在*错误,这正是错误所说 - 它无法连接到服务器。它甚至解释说你在LocalDB安装时未尝试使用LocalDB连接字符串。您是否正在使用*不同*连接字符串进行用户管理? –

+0

我在'SQL Server Management Studio'的表中手动输入了数据,查询工作正常,数据被检索到。错误是否仍然存在连接字符串? –

+0

SSMS与您存储在web.config中的连接字符串无关。在任何情况下,错误都不能*更明确 - 您正在使用LocalDB连接字符串,并且Web服务器上没有安装LocalDB运行时。无论是连接字符串是错误的,并没有指向你的数据库,或者它是正确的,你将数据添加到数据库该网站一无所知 –

回答

0

LocalDB只是Visual Studio中的一件东西。甚至无法在生产服务器上获得它。您需要安装某些版本的SQL Server,然后在那里创建数据库和表。

之后,将原始连接字符串保留在Web.config中,而是在Web.Release.config中添加一个转换,将连接字符串更改为数据库生产SQL Server实例的连接字符串。最后,在发布您的网站时,请选择“发布”配置。 Web.config将在发布期间进行转换,并在部署该网站后引用生产数据库。

+0

我正在使用'SQL Server Management Studio'。我更新了这个问题,请看一看 –

+0

“LocalDB只是Visual Studio中的一个东西,甚至无法在生产服务器上获得它。”不,那根本不是真的。但是对于OP的目的,使用AppHarbour,实际上是因为它们只提供对“正常”SQL服务器实例的访问。 – kjbartel

相关问题