Time of Update: 2018-12-07
“引用自已寫的動態庫,在使用該動態庫中的對象時,編輯器中不會出現該對象的相關提示。 但如果引用項目就可以。”這是2年前剛開始使用.net時的認識,久而久之,便成了一個“定式”。今天,一個同事偶然說有.net自己有一種方式可以解決引用動態庫時不出現相關提示的問題。自己不相信,上網查了一下,發現確實可以。在項目的屬性 “配置屬性”-->“產生”-->“XML文檔檔案”中輸入與程式集名稱一致的xml檔案名稱,然後“重建”。
Time of Update: 2018-12-07
今天開始解決系統佔用記憶體過大的問題。在去年做系統的時候,就發現系統佔用記憶體大,到今年6月,系統啟動後佔用記憶體達到60M,運行一段時間後達到100M左右(工作管理員監視的結果),到時想各種辦法都沒有解決(包括GC.Collect、解構函式等),後來和靈感之源在MSN上討論了一下,他認為可能是系統中使用MagicLibrary的問題,因此也就擱置下來。剛才在網上查到部落格堂上也有人進行過討論,知秋一葉作了精彩的解釋,看了之後有茅塞頓開之感。在系統中使用SetProcessWorkingSetS
Time of Update: 2018-12-07
前段時間,寫了一篇《SQL Server的安全機制 》,從很多朋友的評論中發現,我和他們在設計思路上存在一些分歧。先說一下我的思路:中關於 使用者、資源和角色的設計可以參考我另一篇blog《關於許可權管理 》。一些朋友對我的這種設計有一些不同的意見,主要在於應用中使用者與資料庫中的使用者的對應上。他們認為資料庫中的user和role主要是針對資料庫而言,使用對象應該是DBA, 而 應用中的使用者與業務相關,只需要綁定某個固定的資料庫user即可,沒有必要為每個應用中的使用者都建立資料庫User。
Time of Update: 2018-12-07
前段時間,在.net中使用Supermap組件(activeX)時,發現經常出現記憶體不能寫的異常,後來與超圖公司聯絡,說是需要在代碼中釋放Com對象才可以。 今天在使用MapX組件時,又發現一個比較奇怪的問題:在處理拓樸關係時,處理部分資料後,出現NullReferenceException異常。代碼如下所示: for (int i=1;i<=axMap1.Layers[LayerName].AllFeatures.Count;i++){ MapXLib.Feature
Time of Update: 2018-12-07
在用.net實現最短路徑(偶以前的Blog有描述)的時候,需要使用有排序功能的堆棧。但是在.net中的stack沒有排序功能,因此考慮用排序的ArrayList實現。ArrayList中有一個Sort方法來實現排序功能。
Time of Update: 2018-12-07
為滿足項目實施和新產品開發要求,本公司現招聘.net開發人員2名。要求:1、思維敏捷,學習能力強,有良好的團隊協作意識;2、有兩年以上的編程經驗(其中.net半年以上),熟悉常見的設計模式;3、有B/S系統開發經驗。4、熟悉 DotNetNuke(或者 NHibernate)。待遇:1、公司將為你提供良好的發展機會;2、月薪4000以上,具體根據個人能力再議。(稅前)3、享受北京市規定的各種保險。職責: 軟體工程師工作內容:開發B/S的MIS系統或者 WebGIS系統中的部分模組。另外,有
Time of Update: 2018-12-07
在系統實施的過程中,經常遇到與別的系統做介面的情況。如果業務比較簡單,就是發送訊息等那比較好解決,但如果是資料庫操作就比較麻煩,因涉及到多個資料庫之間的安全問題。比如A系統中需要修改B系統的資料庫中的資料,就這種情況有很多種的解決方案。比如1、A系統在瞭解B系統的資料庫結構的前提下,在A系統的許可權管理中直接設定作業B系統資料庫的許可權。
Time of Update: 2018-12-07
要做一個新行業的MIS系統了,這些天一直在做分析和設計。結合以前的經驗和教訓,想在資料訪問層中使用O/R Mapping工具,以前的那中類似於Duwamish的設計方式工作量太大,維護起來也不方便。目前關於O/R mapping的討論很多,在.net中就有ObjectSpace、OJB.net、XPO(devexpress公司的)、NHibernate等等。ObjectSpace我以前大致用過,結構很清楚,但是有兩個缺點:目前沒有發布、不支援
Time of Update: 2018-12-07
昨天通過修改Powerdesigner的設定檔實現特殊的C#代碼產生要求後,今天突然想到:如果能夠在Powerdesigner中直接產生Map檔案,那就比較爽了。 下午試了一會,發現完全可行,其具體方式是在Profile\Classifier\Generated Files下添加一項,如hbm.xml,該項設定為 檔案名稱:%topContainerCode%.hbm.xml說明 : .if (%isGenerated%)
Time of Update: 2018-12-07
在Nhibernate中,採用了HQL語言的查詢方式,這種帶有OO色彩的查詢方式與傳統的SQL查詢有一些不同之處。 這一點,從它的文法可以看出來,http://www.hibernate.org/Documentation/HQLBNF。一個比較簡單的查詢代碼如下: IList userList=session.Find (" from testMSSql.student as student where student.Name=?","張三",
Time of Update: 2018-12-07
在.net提供的cursor中,使用Cursor的建構函式可以建立一個游標,如:Cursor cur=new Cursor(“myCursor.cur”);但是採用這種方式得到的游標不支援動畫和彩色,網上有人提出可以使用表徵圖檔案來做彩色游標,如:Cursor cur=new Cursor(“myCursor.ico”);用這種方式雖然可以解決游標顏色問題,但是丟失了游標的另一個重要訊息:熱點。這種方式的後果是:所有游標的熱點都在表徵圖的中心。在網上找到了一篇文章,講述這個問題的。 http:
Time of Update: 2018-12-07
昨天,在看hibernate文檔的時候,看到了這樣一段: You should now create this table in your database manually, and later read Chapter 15, Toolset Guide if youwant to automate this step with the SchemaExport tool. This tool can create a full SQL DDL, including
Time of Update: 2018-12-07
前些天一直在配置 BugZilla,感覺很麻煩,後來在NetCobra那裡看到一篇介紹Mantis的文章,很受啟發,很容易就配置成功了。大致用了一下,感覺功能還可以,就是介面做的稍微差了些,另外對中文支援不是很好,即使選擇中文語言,還是有很多地方是英文的。(某些地方還存在亂碼的現象,如“刪除”可能是“.h除”)不過,mantis對於我們公司來說還是夠用了。
Time of Update: 2018-12-07
在Nhibernate中經常遇到one-to-many和many-to-many的關係映射,用一些集合類來儲存關聯的many集合,這些集合類包括: IList、Array和IDictionary。其在map檔案中對應的元素為 list(IList)、set(IDictionary)、bag(IList)、map(IDictionary)和array(Array)。
Time of Update: 2018-12-07
在使用loadcontrol動態載入控制項中,發現一個問題: 在載入的控制項中包括一個 Datagrid,在Datagrid中有一個刪除的ButtonColumn列,在使用刪除列的時候,系統不觸發 datagrid的DeleteCommand在這裡找到原因,說是在載入動態控制項時,必須要將控制項進行轉換才可以,如:Control
Time of Update: 2018-12-07
這些天來一直在看hibernate的相關文檔,發現自己以前對hibernate的瞭解不準確。在剛開始使用nhibernate的過程中,我寫了這篇用Powerdesigner產生NHebernate的MAP檔案 。其中的主要思想是通過
Time of Update: 2018-12-07
這幾天遇到一個比較頭痛的問題, 使用vs.net編寫一個aspx頁面的時候,intellisense突然不能使用,不能撤銷、重做,只要一斷行符號,代碼就變得亂七八槽。
Time of Update: 2018-12-07
這幾天被 VS.net 2003 編輯器搞的很煩,在編寫一個asp.net項目的時候,VS.net 幾乎讓我發瘋。 自動格式化不能使用,需要我手動使用 tab鍵來格式化代碼; 撤消、重做不能使用; intellisense不能使用; 複製粘貼使用有問題,在粘貼之後,游標自動跳到代碼的最後一行,並且 編輯器可能自動修改其它代碼,導致代碼紊亂。 ....... 前天用Visual
Time of Update: 2018-12-07
很長時間沒有更新blog了,忙是一方面,心態浮燥可能是主要原因。這段時間一直在實現系統在Oracle上的實現問題,由於一開始的時候,在資料庫訪問方面使用抽象工廠的模式,因此程式改動不是很大,工作量主要集中在資料庫的移植方面(表、視圖、預存程序、觸發器等)。移植之後對系統進行測試,發現了一個很有意思的問題: 使用oracle之後,系統在某些方面比在Sql server上慢很多(使用 oracle client和oledb一樣),後來發現是因為這樣引起的: for (){ DataSet
Time of Update: 2018-12-07
前段時間,在Mapx上用VB實現了最短路徑的演算法。具體思路是,先在mapx上建立拓樸關係,將拓樸儲存到資料庫中,在分析路徑的時候從資料庫中載入拓樸關係,然後運用Dijkstra演算法找出最短路徑。這裡面可能有兩個痛點:1、如何快速建立拓樸關係。 這裡面又可細分為如何組織拓樸結構、如何建立拓樸關係。2、如何提高Dijkstra的效率。如果用傳統的演算法,效率非常之低,因此如何利用之前已經有拓樸關係提高效率顯得非常重要。幸好,在網上發現一篇文章《Dijkstra 最短路徑演算法的一種高效率實現》,