發表文章

目前顯示的是 2013的文章

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

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

Case 2: AP參考版本較高、Lib參考版本較低
執行結果:在AP使用Lib的方法會出現找不到版本較低的組件
解決方法:在組態使用bindingRedirect讓實際執行是較高的版本
<runtime>
<assemblyBindingappliesTo="v2.0.50727"xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
<assemblyIdentityname="itextsharp"publicKeyToken="8354ae6d2174ddca"/>…

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

圖片
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~2012ODP.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 and Oracle Developer Tools for Visual Stud…