我有带有WPF打印的WPF客户端。印刷品是这样的:
https://www.codeproject.com/Articles/607150/WPFplusBasicplusPrintplusRendering
使用UserControl添加到FixedDocument,然后渲染到xps。我需要将它们移动到服务器。我们有WCF服务与客户沟通。我试图将它们直接移动到WCF,但是线程状态单元出现问题。 WCF服务是MTA公寓,但是渲染FixedDocument必须在STA中。解决该问题的方法就是这样。
Thread t = new Thread(() =>
{
FixedDocument fixedDoc = new FixedDocument();
});
当我在localhost上运行此代码时,一切都会好起来的。但是突然在IIS上返回异常。
System.TypeInitializationException:类型初始化器 “ System.Windows.Documents.FixedDocument”引发了异常。 -> System.TypeInitializationException:类型的初始值设定项 “ System.Windows.ContentElement”引发了异常。 -> System.TypeInitializationException:类型的初始值设定项 “ System.Windows.UIElement”引发了异常。 -> System.TypeInitializationException:类型的初始值设定项 “ System.Windows.Media.Transform”引发了异常。 -> System.ComponentModel.Win32Exception:操作已完成 成功地 MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)在 MS.Win32.HwndWrapper..ctor(Int32 classStyle,Int32样式,Int32 exStyle,Int32 x,Int32 y,Int32宽度,Int32高度,字符串名称, IntPtr父级,HwndWrapperHook []钩)位于 System.Windows.Threading.Dispatcher..ctor()在 System.Windows.Threading.Dispatcher.get_CurrentDispatcher()位于 System.Windows.Media.Transform.MakeIdentityTransform()位于 System.Windows.Media.Transform..cctor()-内部异常结束 堆栈跟踪---位于System.Windows.UIElement..cctor()---结束 内部异常堆栈跟踪--- System.Windows.ContentElement..cctor()-内部异常结束 堆栈跟踪---位于System.Windows.Documents.FixedDocument..cctor() ---内部异常堆栈跟踪的结尾---在WpfPrintProvider.WpfPrintProvider.DoIt(ServiceAction action)中 C:\ GoldenSupport \ GrootService \ WpfPrintProvider \ WpfPrintProvider.cs:line 88
有人知道是什么原因导致此异常,什么可以帮助我?
感谢您的帮助。