發表文章

目前顯示的是 2013的文章

組件繫結重新導向功能測試

  在開發多個專案下,共用的功能大部份都會寫在共用的函式庫內,而在函式庫引用的外部組件 如:iTextSharp、NPOI等,若與其他專案上的版本不一致的話,會造成 AP無法執行,在不想讓現有的專案再去重新參考較新或較舊的組件的話,可以考慮使用BindingRedirect來解決。 測試案例:AP與Lib各自參考iTextSharp Case 1: AP參考版本較低、Lib參考版本較高 執行結果:在AP使用Lib的方法會出現找不到版本較高的組件 解決方法:在組態使用bindingRedirect讓實際執行是較 低的版本   < runtime >   < assemblyBinding   appliesTo = " v2.0.50727 "   xmlns = " urn:schemas-microsoft-com:asm.v1 " > < dependentAssembly >      < assemblyIdentity   name = " itextsharp "   publicKeyToken = " 8354ae6d2174ddca " />   < bindingRedirect   oldVersion = " 5.4. 4 .0 "   newVersion = " 5.4. 0 .0 " />      </ dependentAssembly > </ assemblyBinding > </ runtime > Case 2: AP 參考 版本較高、Lib 參考 版本較低 執行結果: 在AP 使用Lib的方法會出現找不到版本較低的組件 解決方法:在組態使用bindingRedirect讓實際執行是較 高 的版本 < runtime >   < assemblyBinding   appliesTo = " v2.0.50727 "   xmlns = " urn:schemas-microsoft-com:asm.v1 " >     < dep

由於該物件目前的狀態導致作業無效-解決方法

圖片
Windows Update安全性更新後[KB2656356]限制了表單在Submit預設只能有1000個欄位,在表單的欄位太多下,Postback會出現如下圖錯誤,超出了HttpCollectionKeyExceeded。

Oracle11g ODP.NET安裝記錄

  前陣子知道.Net4.0之後的版本Oracle Client不再更新,並看完了些ODP.NET的介紹文章後, 今天找了時間來玩玩,瞭解一下若目前的專案更新的話會踩到什麼地雷XD。 整理重點記錄如下: 特性 若在Oracle Server也是11.2.0.3以上,在Server安裝Server Components,那開發可以直接在Visual Studio內修改Schema、Procedure、Function 測試偵錯等管理 Entity Framework支援Vs2008~2012 ODP.NET支援OracleConnection、OracleCommand等與原本ADO.NET相同的類別 參考DLL: 安裝目錄\11.2.0\client_1\odp.net\bin 命名空間Oracle.DataAccess.Client Ps:System.Data.OracleClient在.net.4.0後微軟不在更新,並在之後的版本可能會移除 環境注意 sqlnet.ora,tnsname.ora 與舊的9i,10g格式相同,所以只要複製到安裝目錄即可 ..\Network\Admin 組件繫結Memo:若開發參考的是ODP.NET 10g,而主機是ODP.NET 11g,依組件繫結重新導向功能 特性,則主機上的程式會自行參考11g 參考 http://blog.darkthread.net/post-2011-03-31-assembly-binding-redirect.aspx Ps:若開發版本是比主機高,則主機須使用BindingRedirect設定來解決 開發測試 使用Oracle.DataAccess.Client. OracleConnection的連線字串不支援Unicode=true關鍵字 connectionString="Data Source=xxx;Persist Security Info=True;User ID=xx;Password=xx; Unicode=True " Oracle.DataAccess.Client效能實測2萬筆資料(60個欄位) FillDataSet原約4秒 變2秒,快了一倍 待續…..還未踩到XD 安裝檔案 ODAC 11.2 Release 5