1. 程式人生 > >條形碼控制元件TBarCode SDK系列教程十一(網路應用程式問題解答)

條形碼控制元件TBarCode SDK系列教程十一(網路應用程式問題解答)

TBarCode SDK是一款可以在任意應用程式和印表機下生成和列印所有條碼的條碼軟體元件。TBarCode SDK對於Microsoft Office使用者以及軟體開發者提供條碼列印。使用此款條碼軟體元件您可以以完美效果生成和列印所有用於工業和商業條碼符號。


無法載入TBarCode11_x64.dll

當您呼叫ASP.NET網頁時,您可能會收到此類錯誤,該網頁包含TBarCode .NET Web控制元件或TBarCode .NET程式集中的條形碼類。此問題的原因可能是DLL尚未安裝或不可用於IIS程序。它也可能是已安裝32位版本但IIS應用程式池設定為64位。

解決方案是安裝TBarCode x64 MSI

設定並重新啟動IIS服務,以便在更新的PATH變數中讀取IIS程序。然後以管理員身份啟動管理控制檯並輸入IISRESET

這將重新啟動所有IIS程序,然後找到DLL檔案。MSI安裝程式將.NET元件安裝到GAC中,並將所有依賴項(資料夾)放入PATH環境變數中。

提示:如果您的Web伺服器還承載其他應用程式,則應在專用維護時間範圍內或在沒有其他人訪問伺服器時進行重置。


格式錯誤不正確

在部署Web應用程式後,如果遇到無法載入檔案、程式集TECIT.TBarCode或其依賴項之一以及嘗試載入格式不正確的程式等問題。

可能的原因是您將TBarCode程式集的32位變體新增到您的應用程式(通常是因為Visual Studio開發Web伺服器以32位模式執行)。但是您的Web伺服器在64位系統上執行,並且您的應用程式池調整為不支援32位。現在應用程式想要載入64位庫,但它找到32位版本,這會導致格式錯誤。

解決方案有兩種:

  1. 您可以通過更改IIS應用程式池高階設定中的“啟用32位”屬性來切換到32位。建議只有當您的Web應用程式具有僅為此一個應用程式配置的專用應用程式池且不需要以64位執行應用程式時才這樣做。
  2. 或者從app/bin資料夾中刪除所有TBarCode相關庫,在Web伺服器上安裝TBarCode x64 SDK MSI設定,然後重新啟動或在管理控制檯提示符下執行IISRESET命令(重啟所有應用程式)。這樣做IIS將自動解析GAC(全域性程式集快取)中的64位或32位變體。在GAC中,我們的設定以32位和64位格式儲存TBarcode庫/程式集的副本。

提示:如果您的Web伺服器還承載其他應用程式,則應在專用維護時間範圍內或在沒有其他人訪問伺服器時進行重置。


Web伺服器上的延遲

在防火牆後面的IIS for Windows上執行TBarCode時,第一頁被命中時可能會延遲15-30秒。這是由IIS引起的,因為它正在驗證簽名的.NET/DLL元件。解決方案是用無符號版本替換所有TBarCode DLL檔案。


如何將條形碼影象流式傳輸到瀏覽器/客戶端

使用TBarCode,可以將條形碼影象(例如,基於GET或POST引數)流回客戶端。此URL將條形碼影象(帶有TBarCode編碼的資料矩陣)流回瀏覽器。

此程式碼段用於TBarCode .NET作為ASP.NET的起點:

// first adjust the barcode properties of the myBarcode object (class Barcode)
 // then calculate the width and height of the code in Pixels (sample available on request)
 // then write the barcode image as stream to the browser as follows
 
 Bitmap image = myBarcode.DrawBitmap(width, height);
 image.SetResolution(dpi, dpi);

 Response.Clear();
 Response.ContentType = "image/gif";

 image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);

 HttpContext.Current.ApplicationInstance.CompleteRequest();
 image.Dispose();

SDK設定包含條形碼生成器ASP.NET Web應用程式(在samples資料夾中),它能夠使用TBarCode .NET條形碼生成器程式集將影象流式傳輸到瀏覽器。此應用程式也可以安裝在您自己的Web伺服器上。


未完待續~