宝哥软件园

小心!ASP时的那些坑 NET的网站发布了

编辑:宝哥软件园 来源:互联网 时间:2021-09-05

开发工具: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数据库。具体方法可以在网上找到。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+