2007年5月25日 星期五

關閉光碟自動播放

在xp 之後,再也沒有這樣做了。 但是,有時候,卻非常需要。例如,光碟損毀時,一放到光碟機,系統會不斷的嘗試讀取,然後電腦就當機了。 要關閉光碟自動播放,在XP必須使用 gpedit.msc,然後會出現【群組原則】視窗,然後在裡面選擇到【電腦設定】-->【系統管理範本】-->【系統】裡找到-->【關閉自動撥放】 按右鍵選-->內容,選擇【已啟用】, 然後【套用】即可停止光碟自動播放

2007年5月18日 星期五

TransactionScopeOption.Suppress

在使用 System.Transactions.TransactionScope 時,一直發生「The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) 」的錯誤。

實在看不懂,還在MSDTC更改設定。設定老半天,完全不對。

後來,發現只要在scope 中讀取sql2005 的 database 之 table schema,就會發生上述的錯誤。 原來,讀取table schema 是無法交易的。因此,必須將讀取table schema放在TransactionScopeOption.Suppress 中。

程式大意如下:

using (TrsnsactionScope s1 = new TrsnsactionScope())
{
UpdateDBOperation1();
Using (TrsnsactionScope s1 = new TrsnsactionScope(TransactionScopeOption.Suppress))
{
ReadTableScheam(); //不要加入交易
}
UpdateDBOperation2();
}

MSDTC 的設定

早上測試 System.Transactions namespace 時,發生錯誤。
原來,還要設定 MSDTC,才能動。(那要 System.Transactions 幹嘛?)

我的測試環境,是APServer, DBServer。程式當然是寫在APServer。
設定過程如下:

首先,要看看Distribute Transaction Coordinator服務是否啟動。請到services.msc 中檢查。
注意,APServer 與DBServer 都要啟動。

再來,到DBServer
1. 使用元件服務,在左方的樹,找到「我的電腦」後,於其上按右鍵,執行「內容」
2. 選"MSDTC" 頁
3. 點擊"Security Configuration"(安全設定)
4. 確定有勾選"Network DTC Access", "Allow Remote Client","Allow Inbound","No authentication"
5. 按確定後,服務會重啟
6. 不過,之前有經驗,伺服器要重新啟重才有用。

再到 APServer,做與上1-3相同的步驟
4 確定有勾選"Network DTC Access", "Allow Inbound/Outbound","No authentication"
5 必要時,重新開機

Transactions 的種類

之前看過了一堆的 Transaction,總覺的亂亂的。 今早看到一個整理,覺的很好,記了下來。

1 Local transactions in database (eg: SQL server) 2 Local transactions through DB API (eg: ADO.NET) 3 Distributed transactions through Distributed Transaction Coordinator (DTC) 4 Distributed transactions on component level through COM+ (uses DTC) Enterprise Services in the Microsoft .NET Framework 5 Local distributed transactions in ASP.NET and ASMX 6 Microsoft Host Integration Server (HIS) and COM Transactio Integrator for CICS and IMS (COMTI)

2007年5月17日 星期四

http://asp.net/downloads/futures/

今天看了 Asp.net futures 的介紹,心跳不止,約10分鐘。 也不知道是應該高興還是傷心。 高興的是,網頁愈來愈好寫了。傷心的是,又得向美工靠齊一些。 天哪,不用寫程式,也不必拖拉元件,就可以依照資料庫的關聯,長出一堆的頁面了。 (http://server/app/auto.axd) 不過,後來想想,還好n-tier 的架構,還沒被微軟「破解」,變的不用寫程式。 此時我的價值還在。

2007年5月15日 星期二

思考的方式

今天看到了一個故事。
一個教授對他的三個博士班學生說:我們要到高山另一頭的村子買瓶醬油。
第一個學生乖乖地爬了一個月的山,終於把醬油買回來;
第二個學生花了數年研發挖山洞專用的TDM潛盾機,並發表三篇Paper拿到博士學位;
第三個學生則跑到兩條街外的7-11,五分鐘就把醬油買回來了。

你會是哪一個呢?
我想想,我大概會是第二個吧!專案常常會Delay不是沒原因的

教授像是專案經理,製訂策略,卻未必都是對的。
第一個學生是乖乖聽話型,把任務當指令,一成不變的「運算」下去。公司需要這些「機器」人,但也容易替換這些機器人。
第二種是創意研發型。雖然重要,卻容易在專案進行時delay 時程。專案進行時,不要再搞創意了。
第三種是「挑戰」型的思考方式。當接受到任務時,會先想一想有沒有更好、更簡易的方法來完成。

重要的思考的方式。

事件日誌檔已損毀

電腦的板子太舊,造成吃不開新的硬碟。 結果常常發生檔案遺失的問題。 這次,又發生了「事件日誌檔已損毀」 解決方式如下: 1. 先將EventLog的SERVICE設定成停用 2. 重新啟動電腦(這時一定會有錯誤訊息, 不用理他) 3. 將c:\windows\system32\config\sysevent.evt(也就是損毀的系統事件)刪除 4. 再將SERVICE設定成自動 5. 重新啟動電腦 6. 這時會重新建新的事件檔案

Share with Facebook