Страница 1 из 1

Печать из службы Windows

Добавлено: 15 мар 2019, 17:16
hcipap
Добрый день! Подскажите пожалуйста, почему код, который работает в консольном приложении, не работает в приложении службы Windows?
Службу запускаю от того же пользователя, от которого запускается и приложение.

Код: Выделить всё

var rep = new StiReport();
                        
string path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
rep.Load(path + "\\" + "Propusk.mrt");
ds.ReadXmlSchema(path + "\\" + "DataSetPropusk.xsd");
rep.Dictionary.ImportXMLSchema(ds);
rep.RegData(ds);
rep.Print();
После rep.Print(); получаю следующие сообщения при отладке:

Код: Выделить всё

Exception thrown: 'System.Exception' in Stimulsoft.Report.dll
Service_Print.exe' (CLR v4.0.30319: Service_Print.exe): Loaded 'xqximvgf'. Module was built without symbols.
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.InvalidOperationException' in System.Windows.Forms.dll
Exception thrown: 'System.InvalidOperationException' in System.Windows.Forms.dll
Exception thrown: 'System.InvalidOperationException' in Stimulsoft.Report.dll
Спасибо!

Re: Печать из службы Windows

Добавлено: 18 мар 2019, 13:28
Aleksey
Здравствуйте,

Сложно что-то сказать, нет полного стэка ошибки.
Скорее всего, какие-то ограничения прав, но какие именно - не понятно без стэка ошибки.

Попробуйте перед Print() вызвать Compile() и Render(), т.к. они всё равно вызываются из Print, но хоть будет понятнее где именно возникает ошибка.

Спасибо.

Re: Печать из службы Windows

Добавлено: 19 мар 2019, 21:51
hcipap
Добрый день, Алексей!

После rep.Compile();

В выводе : 'Service_Print.exe' (CLR v4.0.30319: Service_Print.exe): Loaded 'igarynfb'. Module was built without symbols.
'Service_Print.exe' (CLR v4.0.30319: Service_Print.exe): Loaded 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.dll'.

После rep.Render();
Exception thrown: 'System.Exception' in Stimulsoft.Report.dll
Exception thrown: 'System.IO.DirectoryNotFoundException' in mscorlib.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll
Exception thrown: 'System.Net.WebException' in System.dll

И rep.Print();
Exception thrown: 'System.InvalidOperationException' in System.Windows.Forms.dll
Exception thrown: 'System.InvalidOperationException' in System.Windows.Forms.dll
Exception thrown: 'System.InvalidOperationException' in Stimulsoft.Report.dll

Я могу как-то собрать для Вас полный стэк ошибки? Что для этого надо сделать?

Спасибо!

Re: Печать из службы Windows

Добавлено: 20 мар 2019, 13:22
Aleksey
Здравствуйте,

Вышлите простой проект, который воспроизводит проблему на support@stimulsoft.com

Спасибо.

Re: Печать из службы Windows

Добавлено: 21 мар 2019, 13:28
hcipap
Добрый день, Алексей!

Пока готовил Вам проект, который воспроизводит проблему, разобрался в чём дело :)

Надо было отправлять документ на печать так:

Код: Выделить всё

rep.Print(showPrintDialog: false);
Теперь всё печатается.

Спасибо!

Re: Печать из службы Windows

Добавлено: 21 мар 2019, 21:04
Aleksey
Здравствуйте,

Отлично!
Спасибо за информацию.