开发工具:VS2010、MVC4.0、SQLSERVER2008
服务器:Windows server 2012、IIS8、SQLSERVER2012
第一,发布后,第一次每个页面都很卡,50秒甚至更长,第二次很快就会打开
估计原因:编译速度慢,但在有VS环境的机器上没有这样的卡
解决方法:
使用更高版本的VS,“发布时预编译”;使用IIS8 1的应用程序初始化功能。使用VS2017“发布期间预编译”
发布时遇到错误:
在应用程序级别之外使用注册为allowdefinition=' machine oaapplication '的节是错误的。如果虚拟目录没有在IIS中配置为应用程序,可能会导致此错误。
解决方法:发布时在web.config中注释以下代码
!-身份验证模式=' forms ' forms logi nurl=' ~/account/log in ' time out=' 2880 '/authentication-2。使用IIS8的应用程序初始化功能
ASP.NET网站首次访问速度慢的解决方案
第二,ASP.NET会议经常失败
问题现象:登录后30秒左右,会话丢失,需要重新登录。
解决方案:ASP.NET有几种会话状态模式,默认为“InProc模式”,改为“StateServer模式”,问题就解决了。
1.关闭模式
关闭会话。
由整个站关闭的会话可以写入系统。网络的网络部分。配置文件:
会话状态模式=“关闭”
要关闭页面上的会话,请添加:
% @ Page EnableSessionState=' false ' %
2.InProc模式(默认模式)
如果在Web.config文件中没有配置SessionState模式,默认情况下它是InProc模式。
如果您想自定义InProc模式的参数,您需要编写Web.config文件,例如:
sessionState模式='InProc' cookieless='false '超时='20' /
Cookieless设置是否允许不使用Cookie,timeout以分钟为单位设置超时。
InProc模式取决于ASP.NET进程。当IIS进程崩溃或重新启动时,进程中保存的会话状态将丢失。
3.状态服务器模式
StateServer模式将会话数据存储在单独的内存缓冲区中,该缓冲区由windows服务“ASP”控制。NET状态服务”(需要在Windows服务中打开),需要设置stateConnectionString:
session state mode=' StateServer ' stateConnectionString=' tcpip=127 . 0 . 0 . 1:42424 ' time out=' 20 '/
使用状态服务器模式时,需要保存在会话中的所有类都必须添加可序列化功能:
[Serializable]公共类SomeClass { }
StateServer模式的优点是独立于IIS进程,IIS应用的重启不影响会话数据。
4.SQLServer模式
使用SQL Server保存会话,即使IIS重新启动,会话也不会丢失。需要首先创建ASPState数据库。具体方法可以在网上找到。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。