PostSharp是基於.NET平台設計的比較強調易學易用的AOP架構,AOP的概念,優點請參見:http://www.cnblogs.com/wayfarer/category/35983.html這裡只是簡要的介紹幾種使用PostSharp實現的情境供大家參考。一、日誌一般我們寫入業務方面的日誌有兩種方式,1、簡單的記錄業務方法的發生時間,觸發使用者,業務方法名等傳統方案我們是這樣記錄的。Code highlighting produced by Actipro
在項目初期部署的時候,如果bug沒有被排除乾淨,但代碼部署到客戶機上了,那麼調試bug會是個問題,一般我們都會在這段時間把日誌開啟,在日誌中將操作過程記錄到日誌中。為了將所有的增,刪,改的操作都記錄下來,我們會加入一個資料內容的分布類,然後重寫SubmitChanges方法,以下是我的解決方案: Code highlighting produced by Actipro CodeHighlighter
起因:自訂一個GridView控制項,其資料來源來源於一個通用方法Get<T>(),根據你傳入的T到資料庫中得到相應的資料,問題是定義GridView控制項時沒法在介面端設定使用泛型,只能在每個使用這個GridView控制項時綁定資料。如果你沒看懂這個起因也沒關係,我們用一段代碼來描述一下問題:我希望使用的是從外邊傳過來的類型tt來調用test1範型方法 Code highlighting produced by Actipro CodeHighlighter
在項目中曾有這樣的應用,許可權篩選時先組織出員工的id,然後使用LINQ在相應的表中查詢資料,條件是這些查詢出來的資料的id必須在剛才許可權篩選出來的id中,但是如果許可權中的id太多,就會出現問題“傳入的表格式資料流(TDS)遠端程序呼叫(RPC)協議流不正確。此 RPC 請求中提供了過多的參數。最多應為 2100”。我推斷可能是SQLServer中使用參數不能超過2100的原因。以上描述請看下邊的例子。 Code highlighting produced by Actipro
今天寫程式時發生了這樣一個問題,調試的時候和運行時的結果不同,查了半天原來是因為調試的時候點擊變數會自動調用ToString(),並且不會響應ToString()中的斷點,而這個程式恰恰在ToString()中對參考型別進行了修改,我們這裡類比一下這個情境來說明這個問題:Test類Code highlighting produced by Actipro CodeHighlighter
When web pages are posted back to the server, by default user is returned to the top of the page. On a large web page, you might have a requirement to scroll down the user automatically to the last position on the