2011-09-21 125 views
1

我無法嘗試使用RawPrinterHelper(由Microsoft開發的打印機支持類)從ASP.NET MVC3應用程序打印文檔。我需要將RAW數據發送到本地連接到網絡中的計算機的打印機。Rawprinterhelper網絡打印機ASP.NET MVC

在我的開發環境(MS Visual Studio 2010)中,一切正常。我將打印機作爲網絡打印機安裝在操作系統中,然後將該打印機的名稱傳遞給RawPrinterHelper。 在真正的測試服務器上,事情根本不起作用。操作系統是Windows 7與IIS7。 事實上,我需要從運行在IIS上的應用程序使用安裝在本地Windows7客戶端上的網絡打印機。 應用程序池標識設置爲「網絡服務」。 一切工作使用內置的Web服務器的Visual Studio 2010. 所有的打印機都經過測試和工作。 謝謝。

回答

1

我解決了這個問題。問題在於ASP.NET應用程序在IIS服務器上運行,並且無法訪問網絡打印機,但只能訪問本地打印機。然後,Windows操作系統中的每個用戶都只能訪問他自己的網絡打印機。 這個問題可以以這種方式來解決:

1)冒充與OS 2)授予用戶特權使用數據庫的用戶的ASP.NET應用等 3)創建,記錄在與該特定用戶配置文件,網絡打印機 4)準備好

爲RawPrinterHelper提供字符串格式的正確名稱非常重要。爲此,請檢查System.Drawing.Printing.PrinterSettings並獲取已安裝打印機的列表。