Печать из windows service
Добавлено: 16 май 2017, 17:43
Добрый день.
У нас есть windows service. Документы там генерировались давно.
Просто
stiReport.Print(false, printerSettings);
И всё отлично работало.
И даже с сетевыми принтерами.
Потом пошли дальше. Захотели печать на принтеры из других домен.
Сделали тестовое приложение(консоль, не сервис).
using (new NetworkConnection(queueItem.printerData.WorkstationName, credentials))
stiReport.Print(false, printerSettings);
где NetworkConnection известное, уже почти стандартное решение, использует WNetAddConnection2
и все заработало в тестовом приложении.
поместили код в сервис и...
System.Drawing.Printing.InvalidPrinterException: Settings to access printer '\\dcpha.local\printer_room204' are not valid.
at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
at Stimulsoft.Report.Print.StiPrintProvider.Print(
погуглил. нашел много такого
"Printing from a Windows service is really painful. It seems to work... sometimes... but finally it craches or throws an exception from time to time, without any clear reason. It's really hopeless. Officially, it's even not supported, without any explanation, nor any proposal for an alternate solution."
И стало совсем непонятно. Можно печатать или нет? Как печатать если принтер в другом домене?
Спасибо.
У нас есть windows service. Документы там генерировались давно.
Просто
stiReport.Print(false, printerSettings);
И всё отлично работало.
И даже с сетевыми принтерами.
Потом пошли дальше. Захотели печать на принтеры из других домен.
Сделали тестовое приложение(консоль, не сервис).
using (new NetworkConnection(queueItem.printerData.WorkstationName, credentials))
stiReport.Print(false, printerSettings);
где NetworkConnection известное, уже почти стандартное решение, использует WNetAddConnection2
и все заработало в тестовом приложении.
поместили код в сервис и...
System.Drawing.Printing.InvalidPrinterException: Settings to access printer '\\dcpha.local\printer_room204' are not valid.
at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
at Stimulsoft.Report.Print.StiPrintProvider.Print(
погуглил. нашел много такого
"Printing from a Windows service is really painful. It seems to work... sometimes... but finally it craches or throws an exception from time to time, without any clear reason. It's really hopeless. Officially, it's even not supported, without any explanation, nor any proposal for an alternate solution."
И стало совсем непонятно. Можно печатать или нет? Как печатать если принтер в другом домене?
Спасибо.