0

Webサービスでは、C#を使用してサーバープリンタから請求書を印刷しています。デバッグモードで呼び出されたときに、このサービスが正常に動作しますが、IISの場所に送信し、ウェブエクスプローラからプロジェクトを実行した後、私はこのエラーを取得:Webサービスでサーバーに印刷するときのエラー

No printers are installed.

System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal(String printer) at System.Drawing.Printing.PrinterSettings.GetHdevmodeInternal() at System.Drawing.Printing.PrinterSettings.GetHdevmode(PageSettings pageSettings) at CrystalDecisions.CrystalReports.Engine.PrintOptions.CopyTo(PrinterSettings printer, PageSettings page)

問題はどのようなものですか?デバッグモードでは同じマシンが正常に機能しますが、ライブでは機能しません。

コードのこのセクションでは、例外がスローされます。

reportClass.PrintOptions.PrinterName = clsDeclaration.defultPrinter1; 
reportClass.PrintToPrinter(numberOfCopies, true, 1, 1); 
+1

はい、私はすでにサーバーPC上のプリンタドライバをインストールしています。..最初のシステムが実行しているサーバー上の –

+0

をデバイスのプリンタドライバをインストールし、同様に、私はちょうどそれをデバッグモードで働いている、あなたを教えてドライバーはうまく動作します。 –

+0

あなたのプロジェクトのフレームワークに適している場合は、サーバーの.netフレームワークをチェックしてください。32ビットまたは64ビットがインストールされている場合は、Crystal Reportランタイムもチェックしてください。プリンタがサーバのPCに接続されているか、プリンタのネットワークを確認しているかどうかを確認してください。 –

答えて

0

私は解決策

に開発マシン上での開発のWebサービスは、あなたの窓のコンテキストで実行されていることである一方、それが動作する理由を得ましたおそらく正しいプリンタが設定されています。サーバー上では、ネットワークサービスまたはローカルシステムアカウントとして実行されている可能性があります。

解決策は、以下の手順でシステムアカウントのプリンタをセットアップすることです。また、LocalSystem IDを使用するためにアプリケーションが使用しているアプリケーションプールのIDを変更する必要があります。

enter image description here

関連する問題