原创 《CLR via C#》讀書筆記-線程同步(一)

目錄 基礎知識 線程同步的問題 地址對齊 基元線程同步構造 用戶模式 易失構造 互鎖構造 用戶模式總結 1 基礎知識 1.1 線程同步的目的 線程同步的目的是保證數據的準確性。因此線程同步也可以稱之爲“如

原创 《CLR via C#》讀書筆記-異步編程(一)

在學習《CLR via C#》的27.2小節中使用了管道。因此先對管道(pipe)的相關知識進行梳理 Pipe 其在System.IO.Pipes命名空間下,此命名空間內的類主要任務就是完成不同進程之間的通信。其包含了anon

原创 《CLR via C#》讀書筆記-.NET多線程(四)

協作式取消 協作式取消其英文爲: cooperative cancellation model。在26.4節中只是很簡單的介紹了通過CancellationTokenSource來終結一個異步操作或長時間執行的同步操作。沒有具體

原创 《CLR via C#》讀書筆記-線程同步(二)

目錄 互鎖構造 簡單的spin lock interlock anything 1、互鎖構造(internallocked) 易失構造是通過volatilewrite和volatileread兩個方法完成對一個字段的寫與讀,

原创 《CLR via C#》讀書筆記-異步編程(四)

APM是一種編程方式,而不是C#編程語言的一種新特性(雖然實現APM而提供BeginXXX、EndXXX方法,但這個並沒有改變XXX方法的本質,因此APM只是一種編程方式) APM異常 正式因爲APM只是一種編程方式,因此其異

原创 IIS服務器相關錯誤

逐步整理IIS7.5過程中遇到的問題或錯誤 1.HTTP 錯誤 500.19 - Internal Server Error 解決方法: 錯誤原因是沒有文件的操作權限,添加權限即可解決。操作如下:   然後一路點擊確定、保存即可

原创 C#中Linq常用用法

0、let用法 let是一個在linq中定義局部變量 1、可以有多個let子句 2、let後的變量無需聲明類型 參見下例: var query = from a in list l

原创 通過Win32API調用另一界面的按鈕

功能說明 有兩個團隊創建的兩個相互獨立的winform界面,其中一個團隊在未知源碼的前提下,操作另一個團隊的界面的button。 展示 主界面如下: 子界面如下: 子界面有一按鈕(測試),點擊該按鈕,彈出“字窗體的提示內容”提

原创 C#使用WinExec調用exe程序

實現 1、添加引用 using System.Runtime.InteropServices;//調用外部的DLL 2、定義win32API //調用exe [DllImport("kernel32.dll")] public stati

原创 DevExpress的雙擊獲取單元格數據

1、設置 GirdViewt.OptionsBehavior.Editable = false; 設定變量 DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hInfo

原创 《CLR via C#》讀書筆記-Attribute

什麼是Attribute,Attribute的作用是什麼 在代碼中,有時需要攜帶一些額外的信息。可以限定代碼的運行範圍,決定代碼是否對外可見;也可以是一些解釋性的信息,保證程序的正常運行。而我們最常見、最常用的Attribute就是pub

原创 Oracle重置序列發生器(非重建)

1、背景 1.1 背景 項目中有5個序列發生器(分別爲:seq1、seq2、seq3、seq4、seq5),各序列發生的作用是產生[10000,19999)、[20000,29999)、[30000,39999)、[40000,49

原创 《CLR via C#》讀書筆記-線程同步(三)

目錄 內核模式的特點 內核模式中相關知識 Event構造 Semaphore構造 Mutex構造 內核模式小節 一、內核模式的特點 缺點 保證線程同步可以通過用戶模式和內核模式兩種方式實現,內核模式與用戶模式相比,構造時間要慢得

原创 winform使用zxing生成二維碼

        之前只使用了條形碼,使用的是字體庫。今兒上午在網上看到一個生成二維碼的,順手試了試,很簡單。 ZXing是一個通過Java實現的開源類庫,主要的目的就是生成/解析各種各樣的條碼,其支持的編碼方式如下:          

原创 《CLR via C#》讀書筆記-單實例應用程序

場景 在實際的使用過程中,存在只允許啓動一個應用程序的情況。 效果 效果如下:當啓動第一個時,可以起來一個實例,再次創建時,彈出提示框 解決方案 代碼如下: using System; using System.Collectio