首页 > Web开发 > 详细

asp.net调用xps对象GetFixedDocumentSequence出现异常

时间:2014-12-24 06:27:25      阅读:581      评论:0      收藏:0      [点我收藏+]


  昨天在web端调用别人写的word处理dll时,出现了

‘The invocation of the constructor on type ‘System.Windows.Documents.DocumentReference‘ that matches the specified binding constraints threw an exception.‘ Line number ‘2‘ and line position ‘21‘.

问题,这个问题我写了示例程序是没有问题的(cs端),经过别人的指点,在抛出异常的地方找到的innerexception是sta的问题,这个具体没有把信息保留下来.

   根据innerexception的提示,发现了xps对象和其中的方法是STA的,但是aspx页面是MTA,经过几番周折找到遇到一样问题的人:http://stackoverflow.com/questions/24058070/how-to-read-a-xps-file-in-c-sharp-using-asp-net

  问题真的是一样的,然后按照里面提供的链接(第二个)添加

<%@ Page Language="C#" AspCompat="true" %>

  我试过了,完全没有用.httphandler 自己还不熟,于是写了一个线程来调用出力xps文档的那个方法,于是成功搞定,代码示例如下:

 

//....

//调用的地方
System.Threading.Thread thread = 
               new System.Threading.Thread(
               new System.Threading.ParameterizedThreadStart(ThreadMethod));
            thread.Start(value);
            thread.Join();//等待结束
//....
//线程函数

private void ThreadMethod(object parameter)
{
    //这里写的就是对xps处理的代码
}

总结:STA、MTA的概念需要熟悉,其它的线程,线程同步,线程池等概念需要再巩固一下了

本文出自 “越努力,越幸运” 博客,请务必保留此出处http://actor.blog.51cto.com/1764681/1594057

asp.net调用xps对象GetFixedDocumentSequence出现异常

原文:http://actor.blog.51cto.com/1764681/1594057

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!