http://www.microsoft.com/china/community/program/originalarticles/TechDoc/WSE_Print.mspx

解决方案 »

  1.   

    个人意见,纯属涂鸦:)1.
    与ActiveX相比较
    优点:嵌入IE的Windows窗体控件不要求注册,不需用户提示即可激活
    缺点:客户端需要安装.net Framework
    Winform嵌入WebForm其实和Applet很类似2.
    控件知识,安全性,权限问题3.
    可以考虑使用Remoting,在嵌入的Winform里调用.net Remoting
    服务器端写一个服务,处理后的数据通过Remoting方式发送到客户端Winform里
    如果是在局域网内使用,可以设置防火墙,通过TCP通道传递数据,提高传输速度
      

  2.   

    Host Secure, Lightweight Client-Side Controls in Microsoft Internet Explorer
    http://msdn.microsoft.com/msdnmag/issues/02/01/UserCtrl/default.aspxUsing SmartAssembly for Smart Client
    http://www.codeproject.com/dotnet/SmartAssembly.asp?target=Smart%7CClient
      

  3.   

    第二个地址搞错了:0Extensible WebService and its IE-Hosted Client
    http://www.codeproject.com/cs/webservices/ExtensibleWebService.asp
      

  4.   

    有一段时间搞了一下这个,后来发觉技术难度太大,资料又少,就没有搞了:(我觉得这个技术跟Smart Client很相似,你可以下载Devdays 2004资料看看Smart Client相关的ppthttp://www.microsoft.com/china/msdn/Events/FeatureEvents/2004/Devdays/Downloads/default.mspx你将会从上面的资料中取得很多有用的信息:)
      

  5.   

    其实我们有没有吧问题复杂化那?也就是说这个问题的关键是在最后的问题,客户端需要一次性的打印大量的数据,那么我们以什么方式来实现那?而客户端的讨论目的主要是所谓的解决浏览器打印的缺点(其使用ActiveX或winform都可以),是否一定有必要使用Smart Client技术那?。
      

  6.   

    一般用Web Service访问数据库,Remoting的没有试过。数据量大的话,恐怕很难承受的了。
      

  7.   

    1.不是所有的应用程序都能够完好搬上IE的。如果com接口使用了多线程就不行了。
    2.技术上不复杂,写一com接口就可以了
    可参考:
    http://www.csharphelp.com/archives/archive281.html
    http://www.gdcic.net/dotnetBank/ArticlesList.aspx?type=1&mode=1&cont=com&catid=
    3.没有办法,只有将数据硬性打印,可以的话借助于 游标,然后一点点打印与楼主很相似。我现在也在做类似的功能模块,需求很一致。
    我现在将打印接口封装好了,在html页面中能够正常调用。但是就是不知道如何在asp.net页面中如何与它交互?我都快晕倒了
      

  8.   

    to upto(阿球):
       不管使用XMLWebService,Remoting,ASP.net生成数据文件或直接使用ADO.net操作服务端的数据库,它们所操作的数据量是一样的. 所以主要问题不再这,可不可以分批多次的获得一定数量的数据并打印出来,并从客户端来看它之需要按一次打印按钮就好!而使用什么样的技术可以更适合于这样一个设计?to  tjq_tang(过河兵):
       您的解答我不太了解!不过你说道在asp.net中如何和com组建进行交互,不知道你说的是com组建本身还是凌驾于其技术基础之上的东西?比如ActiceX,COM+还是什么?
       如果是ActiveX Form你完全可以把业务逻辑写入其中不是更好?
      

  9.   

    大数据量处理就是web应用程序的瓶颈,所以如果要在web上打印大数据量的东西就得用控件解决了,至于解决方案,我觉得江雨的很值得推荐,因为我了解他做过这方面的工作:)
      

  10.   

    我感觉.net 1.0 1.1 还是基于com的,等长角吧他可能把.net做在了底层
      

  11.   

    设计的方面有些广,不太好讨论
    我曾经过一个地理信息图件显示的控件,采取的方法就是用C#做了一个Windows服务,读取数据库并把处理好的数据作为对象,通过Remoting方式,传递到客户端(对象必须为序列化类或派生自MarshalByRefObject,最简单可以传递一个DataTable)。因为采用的是TCP通道,感觉速度还可以。
    但WinForm嵌入WebForm最大的问题是客户端必须安装.net Framework,而且设计Web安全问题,一些操作(比如访问本地文件系统)还必须在客户端设置访问权限(管理工具->Microsoft .NET Framework Configuration),背离了Web瘦客户端的本意,连我自己都觉得繁琐,更别说向客户推荐了
      

  12.   

    也就是说江雨的结构是:
    客户端是传统的win32程序(for .net) 服务端是.net web Service
    是吗?谢谢~结贴~!
      

  13.   

    我觉得winform最大的问题就是权限的问题,不管是将服务器端的文件下到
    本地还是取本地的资源,都要修改设置,从ie到 framework configuration
    如果每个用户都要这么去设,还有几个人想要用啊,但是听说怎么打包以下可以解决权限的问题,现在正在研究,但是还没有明确的结果。
      

  14.   

    http://www.sellsbrothers.com/wahoo/这个东西就是采用打包来解决繁琐的权限问题。
      

  15.   

    我也做过web 和 form的相互调用,但不是很理想,没有实现想要的结果,又没有资料可以去学习,是后放弃了。不过我还没有遇到因为用form 而带来的权限问题。看了这个贴子,我还要继续研究。