• 翻译:FileSystemWatcher Tips


    原文:http://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx

    1.  恶意程序可能通过得到对这个组件所监视的文件夹的访问,进而制造一些这个组件不能管理的变化(?),这可能导致缓冲去溢出或其他破坏
    2. 小心重复去激发事件
      默认情况下,公开的事件自动调用OnChangedOnCreated等方法,所以要避免显示的添加event handler.
      处理一个文件操作导致激发改组件多个事件的情况
      l        设置一个flag,采取先到先服务的策略;
      l        设置通知过滤器;NotifyFilter
    3. CD,DVD等媒体文件,因为时间戳和属性不能修改,所以该组件不能监视它们
    4. 设置filter为“”,效果是监视所有文件,包括隐藏文件!(*.*应该有同样的效果吧?)
    5. 设置该组件的内部缓冲区的大小
      默认是4KB,能大约监视80个文件
      设置大小的方法:修改InternalBufferSize属性
      缓冲区溢出的危害:
          由于组件丢失了反映文件夹变化的堆栈,它将可能仅提供一个blanket的通知
          增加缓冲区占用非页面内存并且不能被交换到磁盘上,这意味着要保证缓冲区尽可能的小
      估算合适大小的方法:
          每个事件占用缓冲去的16bytes;加上足够的字节去存储Unicode文件名。
          Win2000下的建议增量是4KB,这是对应于操作系统的默认页面大小,对于其他操作系统,建议的增量也是对应到默认的页面大小
          不知道默认页面大小的值时,最安全的方法是调整到初始大小的双倍(按这个算法,应该是8KB喽),This will maintain the original interval needed for your operating system.(?)
    6.  使用IncludeSubdirectories属性
      改变文件可能会同时产生一个文件夹变化的通知。因为文件夹保存着每个文件的一些类型信息,如修改时间,属性等等。不需要监视这种变化时,设置此属性为false,这样并不会放弃对子文件夹中的文件的监视 
    7. 任何需要关闭该组件的时候,设置EnableRaisingEvents属性,避免不必要的资源浪费
    yicone
    -The future is worth fighting for.
  • 相关阅读:
    损失函数及其梯度
    激活函数及其梯度
    梯度下降简介
    误差计算
    输出方式
    全连接层
    测试(张量)- 实战
    数据加载
    高阶操作
    java网络基础知识的简述
  • 原文地址:https://www.cnblogs.com/yicone/p/732562.html
Copyright © 2020-2023  润新知