今天使用Sqlite数据库时,在插入数据后,网站变慢。仔细检查代码,没有发现异常,只有一点:缓存莫名消失。缓存策略没有设置依赖性,百思不得其解:数据库改变,导致缓存消失?起初以为是sqlite的问题,Google后没有答案!

于是想写一个测试程序,写到一半,发现了问题:自己为了图省事将Sqlite数据库放在了bin目录下。现在看来bin是asp.net进程重点监视目录,只要此目录中的文件改变了,就会导致应用程序重新编译,不但缓存丢失,还导致asp.net程序重新预热,访问自然变慢!由此看来asp.net MVC还是动态编译的。测试环境是asp.net mvc2.0+3.5框架+iis6.0+win2003。

解决方法也很简单:将sqlite数据库文件放到App_Data文件夹下,其实这里才是放我们数据文件的地方,例如一些txt文件,都应放于此。

其实动态编译对于动态发布才有意义吧,我们的Asp.net mvc都是一次性发布的,动态编译好像没有必要,可是又找不到预编译的发布选项,望牛人指点!

另附Asp.net中使用Sqlite数据库的注意事项:

1、连接字符串需要全路径:

 ConnectionString = "Data Source=" + HttpRuntime.AppDomainAppPath +"\\App_Data\\test.db3;Pooling=true;FailIfMissing=false";

2、“Unable to open database file”错误:

此错误是由于数据库路径不对,更确切地说是:上边的连接字符串的全路径中有一个目录不存在,才会提示该错误,因为FailIfMissing=false如果数据库文件不存在,会自动新建一个同名的数据库文件。这种连接字符串会导致另一个错误的出现:“XX表不存在”。看来还是改为true好用。

3、“数据库文件只读”错误:

该错误是由于没有对数据库文件所在目录的写权限,添加此用户的读写权限

var user= System.Security.Principal.WindowsIdentity.GetCurrent().Name //此windows用户需要写权限

转载于:https://www.cnblogs.com/slmk/archive/2012/01/09/2316936.html

Asp.net MVC突然变慢,缓存消失的一种原因相关推荐

  1. 使用mvc模式读取服务器上的文件,ASP.NET MVC之读取服务器文件资源的两种方式

    初次认识asp.net mvc时,以为所有文件都需要走一遍路由,然后才能在客户端显示, 所以我首先介绍这一种方式 比如说:我们在服务器上有图片: ~/resource/image/5.jpg 我们就需 ...

  2. Asp.net MVC在Razor中输出Html的两种方式

    http://qubernet.blog.163.com/blog/static/177947284201485104616368/ Razor中所有的Html都会自动编码,这样就不需要我们手动去编码 ...

  3. ASP.NET MVC 4框架揭秘

    ASP.NET MVC 4框架揭秘(国内第一部Asp.net MVC 4图书,.NET名家名作,深度剖析) 蒋金楠 著 ISBN 978-7-121-19049-0 2013年1月出版 定价:89.0 ...

  4. 理解ASP.NET MVC Framework Action Filters(翻的)

    原文地址:Understanding Action Filters 本指南主要解释action filters,action filter作为一个可以应用到controller action(或者是整 ...

  5. Asp.net mvc 知多少(六)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  6. Asp.net MVC 教程汇总

     自学MVC看这里--全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想 ...

  7. ASP.NET MVC 教程学习

    1. Why :为什么需要ASP.NET MVC 本章主要为大家汇总了为什么学习Asp.net MVC替代WebForms,产生ASP.NET MVC 的需求是什么,只有更好的理解了为什么需要MVC, ...

  8. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  9. asp.net mvc Partial OutputCache 在SpaceBuilder中的应用实践

    最近给SpaceBuilder增加OutputCache 时发现了一些问题,贴在这做个备忘,也方便遇到类似问题的朋友查阅. 目前SpaceBuilder表现层使用是asp.net mvc v1.0,使 ...

最新文章

  1. C语言经典例27-利用递归逆序输出字符串
  2. MDK调试错误之assert_failed
  3. python条件替换_Python中Numpy条件替换操作一例
  4. mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix
  5. MaxCompute中如何通过logview诊断慢作业
  6. linux自动化处理excel,Excel:批处理实现自动化操作(转)
  7. Python爬虫_数据存储
  8. 特斯拉维权车主发声:方式会变,维权不会变,绝不妥协!
  9. 计算机常见的户动方法有哪些,《360doc个人图书馆》常用操作方法
  10. python绘制三维图散点图_python 绘制三维图形、三维数据散点图
  11. Atitit 分布式文件系统总结 fastdfs nfs smb webdav ftp 目录 1.1. webdav 是个好的方案。。。Server client都有 1 1.2. ftp也方便ja
  12. 全面剖析《自己动手写操作系统》第六章---进程
  13. vue3 ts 手动封装message消息组件
  14. 用741运算放大器搭建RC正弦振荡器:文氏电桥振荡电路
  15. 用Python设计杂志订阅系统
  16. verilog的时钟分频与时钟使能
  17. thymeleaf 语法——th:text默认值、字符串连接、th:attr、th:href 传参、th:include传参、th:inline 内联、th:each循环、th:with、th:if
  18. 【Python】如何判断丑数
  19. pygame-KidsCanCode系列jumpy-part14-背景音乐及音效
  20. 文件File 的使用

热门文章

  1. 内存256KB设备也能人脸检测,微软提出用RNN代替CNN | NeurIPS 2020
  2. 鱼和熊掌可以兼得,云原生开启“数据库大数据一体化”新时代
  3. 腾讯大数据回答2019:鹅厂开源先锋,日均计算量超30万亿,全力打破数据墙
  4. 通用数据级别权限的框架设计与实现(3)-数据列表的权限过滤
  5. git merge 和 git merge --no-ff
  6. java8-06-自定义Collector-JoinCollector
  7. windows server 2008R2 上安装配置freesshd
  8. Python学习记录day4
  9. 凡夫怎么可能揣度圣者的境界
  10. 为什么要使用符号作为hash的键