但是,使用TransactionScope需要配置如下信息:
在控制面板--->管理工具--->服務(wù) 中,開啟Distributed Transaction Coordinator 服務(wù)。
a.控制面板->管理工具->組件服務(wù)->計(jì)算機(jī)->我的電腦->右鍵->屬性
b.選擇MSDTC頁, 確認(rèn)"使用本地協(xié)調(diào)器"
c.點(diǎn)擊下方"安全配置"按鈕
d.勾選: "允許網(wǎng)絡(luò)DTC訪問","允許遠(yuǎn)程客戶端","允許入站","允許出站","不要求進(jìn)行身份驗(yàn)證".
e.對(duì)于數(shù)據(jù)庫(kù)
服務(wù)器端, 可選擇"要求對(duì)呼叫方驗(yàn)證"
f.勾選:"啟用事務(wù)Internet協(xié)議(TIP)事務(wù)"。
g.在雙方防火墻中增加MSDTC.exe例外
可用命令行: netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable
二、使用水晶報(bào)表時(shí),報(bào)錯(cuò),如:Crystal Reports for vs2010 運(yùn)行找不到文件 crdb_adoplus.dll' 在使用水晶報(bào)表時(shí),報(bào)錯(cuò):【Could not load file or assembly 'file:///C:/Program Files/SAP BusinessObjects/Crystal Reports for .NET Framework 4.0/Common/SAP BusinessObjects Enterprise XI 4.0/win32_x86/dotnet1/crdb_adoplus.dll' or one of its dependencies. 系統(tǒng)找不到指定的文件?!?/div>
解決辦法:
在app.config里面下入下面的代碼就可以解決問題
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
三、異常統(tǒng)一處理:
在app.config中加入【DispatcherUnhandledException="Application_DispatcherUnhandledException"】,如下:
<Application x:Class="HRMSystem.UI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml" DispatcherUnhandledException="Application_DispatcherUnhandledException">
<Application.Resources>
</Application.Resources>
</Application>
接著在app.cs中加入處理時(shí)間:
public partial class App : Application
{
private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
//在Application_DispatcherUnhandledException中集中處理異常
MessageBox.Show("程序中出現(xiàn)了嚴(yán)重錯(cuò)誤,請(qǐng)聯(lián)系開發(fā)人員 charles xiao!" + e.Exception.Message);
e.Handled = true;
}
}
-------
http://charlesxiao.blog.51cto.com/all/2657172