在 Windows Server 2003 上使用 ASP.NET 3.5、Linq to SQL、SQL Server 2005。在 XP SP3 上本地运行 VS 2008。
\n我们需要能够将插入、更新和删除包装在事务中。当我们第一次尝试用 包装代码块时using(var trans = new TransactionScope()) { ...; trans.Complete(); },我们得到了一个适当的异常,告诉我们需要为远程事务启用网络访问。 我们这样做了,事情开始按照我们的预期进行。
快进到今天。我们的应用程序中有一个很少使用的部分也接受了 TransactionScope 处理。尽管事务在代码库的所有其他部分都能正常工作,但我们今天发现这个很少使用的部分抛出了与以前相同的 \xe2\x80\x9cNetwork Access\xe2\x80\x9d 异常:
\n\n这是导致异常的代码:
\nusing (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, TimeSpan.MaxValue))\n{\n using (var dc = new ChargeXferDataContext())\n {\n //create \'Line\' object and set initial values\n Line line = new Line();\n line.Unit_Num = UnitId;\n line.SubmittedBy = …Run Code Online (Sandbox Code Playgroud)