私はライブで.netシステムを作成しているところです。LINQとMVCを使用しています。私はライブデータベースを作成する必要があり、これがスムーズに実行されることを望んでいましたが、そうではありませんでした。
新しいSQLサーバー-MicrosoftWindowsNT 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);
}
私が何が欠けているのか本当にわかりません。
助けてくれてありがとう。
クレア :-)