私はライブで.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);
}
私が何が欠けているのか本当にわかりません。
助けてくれてありがとう。
クレア :-)