ilikeff8 2021-09-15 10:47 采纳率: 0%
浏览 13

.net framework webapi 如果有读写文件操作会导致下一次调用的缓慢

一个webapi方法里只要有读写文件的操作,当前端去调用时,第一次非常快,但第二次开始,调用就非常慢,只要把打开本地文件这句注释掉就正常了,这是什么原因?

  • 写回答

1条回答 默认 最新

  • 於黾 2021-09-15 11:08
    关注

    读写文件慢呗。
    你使用了Using代码块包住了文件读写操作,这样做是对的,防止多线程同时对同一文件访问造成错乱,但同时也会阻塞线程。
    你访问文件到底是用来干什么,想清楚了才可以进行下面的步骤。
    1.可以不同用户去访问不同文件,不要都访问同一个文件
    2.如果文件只读不写,那么网站启动的时候把它读出来缓存,不要反复去读取它
    3.如果只写不读,那么建立一个队列,页面先把数据请求丢进队列里,后台线程再慢慢处理写文件,这样前台响应就快了
    4.如果就是需要又读又写,还必须不同用户之间同步数据,那慢就慢呗,别人操作着呢,你不得等吗,不行js加个过场动画,不要干等。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月15日