[英]ASP.NET database connection closes when launching website
我决定使用C#在ASP.NET MVC中开始编程我一直在关注教程并将它们实现到我自己的项目中。
一旦我点击Chrome / Firefox等中的Debug,我的数据库连接就会关闭(出现红叉)! (但是当我手动刷新它时,它有一个勾 - 直到那一点)我感觉它与web.config中的connectionString有关。 我不喜欢连接字符串,对我来说,他们似乎充满了行话。 您真正需要多少个参数才能进行测试项目?
<connectionStrings>
<add name="PetsDBEntities" connectionString="metadata=res://*/MainDBModel.csdl|res://*/MainDBModel.ssdl|res://*/MainDBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|E:\Visual Studio 2013\Projects\Pets\Pets\App_Data\PetsDB.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
不幸的是,我对c#/ asp.net mvc的了解非常有限,因此遵循了一个教程,但我知道你们这些人真的很擅长你的工作。
名为PetsDBEntities的数据库具有以下属性。
数据源:Microsoft SQL Server数据库文件(SQL客户端)数据库文件名:projects / app_data / PetsDB.mdf
如果我右键单击数据库并单击>修改连接然后单击测试连接我得到“此连接无法测试,因为指定的数据库文件不存在”
这是代码中断的地方。 注意:提交的值将被传递,它似乎无法连接并将行添加到数据库。
if (ModelState.IsValid)
{
using( var db = new PetsDBEntities())
{
var crypto = new SimpleCrypto.PBKDF2();
var encrpPass = crypto.Compute(user.Password);
var regUser = db.Users.Create();
regUser.Email = user.Email;
regUser.Password = encrpPass;
regUser.PasswordSalt = crypto.Salt;
regUser.UserID = Guid.NewGuid();
db.Users.Add(regUser);
db.SaveChanges(); //--------THIS IS WHERE I GET AN ERROR---------
return RedirectToAction("Index", "Pictures");
}
}
else
{
ModelState.AddModelError("", "Login Data is incorrect!");
}
return View();
希望这是足够的信息让你们发现问题所在。 Thansk对任何可以帮助的人都有帮助! 同样,我是新手,并不完全确定完全需要哪些信息。
您的问题可能与db文件名有关。
attachdbfilename=|DataDirectory|E:\Visual Studio 2013\Projects\Pets\Pets\App_Data\PetsDB.mdf;
应该:
attachdbfilename=|DataDirectory|\PetsDB.mdf;
也许这有用吗?
SQL Server的简单连接字符串可以是Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;
Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;
您提到当您单击测试连接时,您收到错误。 您的问题标题可能会产生误导,因为我可以假设您根本没有建立连接。
你可以转到“服务器资源管理器” - >“数据连接” - >“添加连接” - >“Microsoft SQL Server数据库文件”,我假设您直接使用.mdf文件而不是连接到SQL服务器?
单击“测试连接”,如果一切顺利,您可以从属性中检索连接字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.