Codeproject上有篇文章Using IFilter in C# ,在处理IFilter的Com问题思路不错。

IFilter接口由微软设计,便于在索引服务中使用。主要为了从文件抽取文本,从而使索引服务能够索引及搜索。一些版本的windows本身实现了若干Office文件的IFilter接口,也有一些用于其他文件类型---比较流行的Adobe PDF 过滤器---免费和商用的过滤器。IFilter接口主要用于抽取文件的重要部分,像Office文档、PDF文档等非文本文件,但也用于HTML、XML等文本文件。虽然IFilter接口通常用作从文档抽取文本,但是它广泛应用于搜索引擎。Windows桌面搜索就使用过滤器索引文件。

过滤器本质上是COM 对象,所以他们带有一些让我们又爱又恨的COM线程模型问题。一些过滤器标有STA(Adobe PDF filter),一些标有MTA(Microsoft XML filter),或两者皆有(Microsoft Office Filter)。这意味着MTA过滤器不能载入标有[STAThread]的C#线程,反之亦然。作者通过一种载入、使用过滤器的方法,不管是谁的线程模型来巧妙的绕过Com,从而避免了Com所带来的问题。

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

绕过COM,一个巧妙的思路相关推荐

  1. 开发一个程序基本思路

    开发一个程序基本思路 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 整体流程: 1.确定需求和构思整个 ...

  2. 绕过html标签,巧妙绕过WAF的XSS技巧

    本文提出了一种绕过XSS安全机制的新型方法,这种技术由三个阶段组成:确定Payload结构.探测和混淆处理.首先,我们需要针对给定的上下文环境,确定各种不同的Payload结构以达到最优的测试效果.接 ...

  3. pcl中ransac提取直线_复杂场景中的一个图像配准思路

    在很多时候,我们可能需要使用到图像的识别与配准工作,来判断某个特征或者是划出某个特定特征的位置.现在的深度学习已经能够比较好地解决这个问题,比如常见的YOLO,可以利用几行设定代码就能够划出所需要识别 ...

  4. 不会Python爬虫?教你一个通用爬虫思路轻松爬取网页数据,赶紧收藏!!

    前言 其实爬虫的思路很简单,但是对于很多初学者而言,看得懂,但是自己写的时候就不知道怎么去分析了!说实话还是写少了,自己不要老是抄代码,多动手! 其实一个爬虫无非就三步:下载数据.解析数据.保存数据. ...

  5. 如何加精准粉丝,一个巧妙实用的方法!

    对于创业者来说,一个好的身体是多么的重要.确切的说,是身体上和心灵上的健康.而对于我自己,我也意识到心理方面还不是很健康,有时候,会因为一点点事情,就放弃眼前的想法,这是我以前最大的问题. 现如今,我 ...

  6. 百度竞价初学者怎样才能建立一个好的思路

    百度竞价营销是近年来发展十分迅速的一种营销模式,现如今事实证明发展也非常成功,越来越多的企业开始选择竞价营销渠道.但是现如今竞价岗位仍然是一片空白,很多新手竞价员在学习百度竞价时,总会进入一些误区,今 ...

  7. 不会Python爬虫?教你一个通用爬虫思路轻松爬取网页数据

    前言 其实爬虫的思路很简单,但是对于很多初学者而言,看得懂,但是自己写的时候就不知道怎么去分析了!说实话还是写少了,自己不要老是抄代码,多动手! 本人对于Python学习创建了一个小小的学习圈子,为各 ...

  8. 【uva1380 - 一个调度问题】思路题+树形dp

    [题意] 有n<=200个恰好需要一天完成的任务,要求用最少的时间完成所有任务.任务可以同时完成.但是有一些约束,分有向和无向两种,其中A-->B表示A必须在B前面完成,而A--B表示A和 ...

  9. oracle 尚未从池中获取连接,解决一个问题的思路 之“解决已经写满con.close() 仍然出现但是尚未从池中获取连接的连接池耗尽问题”...

    这篇文章主要写解决一个网上答案不能解决自己问题的时候,解决问题的整个流程, 如果大家觉得这个没价值,还请管理员帮忙撤销发首页 先谢谢各位了. 一年前帮学校做了一个就业信息管理系统, 当时图热闹,觉得虽 ...

最新文章

  1. 【Whalepaper】NLP论文研读 - Keyword-Attentive Deep Semantic Matching
  2. 第三周项目四-穷举法解决组合问题
  3. 关于 VDD VSS VCC VEE VPP
  4. Codeforces Round #277(Div 2) A、B、C、D、E题解
  5. RTP封装G711源代码
  6. 双榜首!华为云擎天架构刷新进化计算大赛新纪录!
  7. 5v 3.3v电平转换电路_MOS管电平转换电路,硬件工程师居家旅行、看门护院的必备良药...
  8. CSS--CSS清除浮动的4种方式
  9. [Unity官方教程]Tanks!单机双人坦克大战源码和素材
  10. linux命令查看系统日期,Linux系统查看当前时间的命令
  11. 英文版 office 中的中文字体
  12. Windows安装--拼音分词器
  13. OAuth2授权原理
  14. 高盛VR/AR报告完整解读版
  15. 4K分辨率是什么 你真的知道吗?
  16. php 批量生成链接,php 生成迅雷链接的简单示例
  17. Re:从零开始的DS学习 十大排序算法我都整理好了
  18. MYSQL数据库的实验总结_MySQL数据库基础总结
  19. Python实验--线性回归+梯度下降预测波士顿房价
  20. 清华研究生情侣发SCI、做实验,毕业后勇敢离京选择小城市

热门文章

  1. zigbee无线传感网技术与应用开发v2.0_ZigBee网络架构详解
  2. PHP数据layui表格,基于layui和thinkphp数据表格的数据接口,layui表格局部刷新
  3. mysql 动态创建事件_mysql 通过事件定时为数据库创建动态表名
  4. oracle 不等函数,SQL(Oracle)日常使用与不常使用函数的汇总
  5. java socket 消息中转,Java中Socket实现消息传输(传输原型)
  6. php图片上传有黑色背景,php Imagemagick jpg黑色背景
  7. python字节流分割_Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
  8. webstorm plugins emmet
  9. SpringBoot Idea快速创建工程
  10. DynamicsCompressorNode