我正在制作一个.NET系统。我正在使用LINQ和MVC。我必须创建实时数据库,并希望这一切都能顺利进行,但事实并非如此。
新的SQL SERVER - Microsoft Windows NT 5.0 (2195) / 8.00.760
我创建了一个管理员用户,可以添加/编辑/删除。如果我尝试添加(
我已经在谷歌上搜索过这个错误,并发现人们认为它与“MSDTC服务”有关,但是该服务似乎已经被勾选。我已经通过SQL Server Management登录数据库,这个用户可以添加/删除。
一个例子:
新的SQL SERVER - Microsoft Windows NT 5.0 (2195) / 8.00.760
我创建了一个管理员用户,可以添加/编辑/删除。如果我尝试添加(
.InsertOnSubmit
)或删除(.DeleteOnSubmit
)任何行,基本上会收到以下错误,但是在编辑时不会出现该错误。"Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool."
我已经在谷歌上搜索过这个错误,并发现人们认为它与“MSDTC服务”有关,但是该服务似乎已经被勾选。我已经通过SQL Server Management登录数据库,这个用户可以添加/删除。
一个例子:
Controller
if (_service.AddAccess(access)) return RedirectToAction("Access");
public Repository()
{
_db = new DataClassDataContext(ConfigurationManager.ConnectionStrings["RegistrarsServices"].ConnectionString);
}
public void Save()
{
_db.SubmitChanges();
}
public bool AddAccess(Access access)
{
try
{
using (var scope = new TransactionScope())
{
_db.Accesses.InsertOnSubmit(access);
Save();
scope.Complete();
}
return true;
}
catch (Exception)
{
return false;
}
}
请注意,当使用开发服务器时,这是有效的。Microsoft Windows NT 5.2 (3790) / 10.0.1600.22
控制器
private readonly ServiceAdministration _service = new ServiceAdministration();
public ActionResult AddAccess()
{
return View(new EmailViewModel());
}
[HttpPost]
public ActionResult AddAccess(EmailViewModel emailViewModel)
{
if (emailViewModel.Button == "Back") return RedirectToAction("Access");
if (!ModelState.IsValid) return View(emailViewModel);
Access access = new Access();
access.emailAddress = emailViewModel.emailAddress;
if (_service.AddAccess(access)) return RedirectToAction("Access");
emailViewModel.errorMessage = "An error has occurred whilst trying to grant access. Please try again later.";
return View(emailViewModel);
}
服务
readonly Repository _repository = new Repository();
public bool AddAccess(Access access)
{
return _repository.AddAccess(access);
}
我不是很清楚我缺少什么。
提前感谢您的任何帮助。
克莱尔 :-)
Enlist=false
。如果它尝试在DTC中注册,它将在触发注册的位置引发C#异常。 - Remus Rusanu