小心!ASP.NET网站发布时的那些坑
发布时间 - 2026-01-11 00:32:13 点击率:次开发工具:VS2010,MVC4.0,SQLSERVER2008

服务器:Windows server 2012,IIS8,SQLSERVER2012
一、发布后,每个页面第一次打开都很卡,50秒或更长,第二次打开就很快了
估计原因:编译速度慢,但在有VS环境的机器上发布没有这么卡
解决办法:
使用高版本的VS,“在发布期间预编译”; 使用IIS8的Application Initialization功能 1. 使用VS2017“在发布期间预编译”
发布时遇到一个报错:
在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
解决办法:发布时注释web.config中的以下代码
<!--<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </authentication>-->
2. 使用IIS8的Application Initialization功能
ASP.NET网站第一次访问慢的解决方法
二、ASP.NET session 频繁丢失问题
问题现象:登录后30秒左右会话丢失,需要重新登录。
解决办法:ASP.NET有几种会话状态模式,默认为“InProc模式”,改为“StateServer模式”,问题解除。
1. off模式
即关闭Session。
全站关闭Session可在Web.Config文件中的<system.web>节中写入:
<sessionState mode="off">
要在某个页面上关闭Session,可在页面上添加:
<%@ Page EnableSessionState="false" %>
2. InProc模式(缺省模式)
如果未在Web.config文件中配置SessionState Mode,默认即是InProc模式。
如果要定制InProc模式的参数,需要写入Web.config文件,例如:
<sessionState mode="InProc" cookieless="false" timeout="20" />
cookieless设置是否允许不使用Cookie,timeout设置超时时间,单位为分钟。
InProc模式依赖于 ASP.NET进程, 当IIS进程崩溃或者重启时,保存在进程中的会话状态会丢失。
3. StateServer模式
StateServer模式是将会话数据存储到单独的内存缓冲区中,由一个Windows服务“ASP.NET State Service ”(需要在windows服务中开启)来控制这个缓冲区,需要设置stateConnectionString:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20" />
使用StateServer模式时,所有需要保存在Session中的类,都要加上可序列化的特性:
[Serializable]
public class SomeClass { }
StateServer模式的优点是独立于IIS进程,IIS应用程序的重启不影响会话数据。
4. SQLServer模式
使用SQL Server来保存Session,即使IIS重启,Session仍然不会丢失。需要先创建ASPState数据库。具体方法可在网上查询。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ASP.NET网站发布
# ASP.NET
# session丢失
# asp.net页面打开都很卡
# 详解VS2012发布网站步骤
# VS2010发布Web网站技术攻略
# 安装IIS发布我的第一个网站图文教程
# MVC4 网站发布(整理+部分问题收集和解决方案)
# ASP.NET网站的创建与发布过程简析
# IIS7 网站发布常见报错问题解决方案汇总
# ASP.NE网站发布注意事项简析
# ASP.NET MVC3网站创建与发布(1)
# .NET发布网站详细步骤
# VS2012/VS2013本地发布网站步骤详解
# 可在
# 重启
# 解决办法
# 应用程序
# 都要
# 但在
# 要在
# 都很
# 几种
# 即是
# 报错
# 则可
# 解决方法
# 全站
# 开发工具
# 更长
# 速度慢
# 大家多多
# 区中
# 默认为
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高防服务器租用指南:配置选择与快速部署攻略
如何做网站制作流程,*游戏网站怎么搭建?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何用VPS主机快速搭建个人网站?
如何在阿里云虚拟主机上快速搭建个人网站?
如何注册花生壳免费域名并搭建个人网站?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
详解jQuery中基本的动画方法
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Python3.6正式版新特性预览
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Linux安全能力提升路径_长期防护思维说明【指导】
JavaScript如何实现类型判断_typeof和instanceof有什么区别
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
如何基于PHP生成高效IDC网络公司建站源码?
Laravel怎么实现模型属性的自动加密
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
桂林网站制作公司有哪些,桂林马拉松怎么报名?
油猴 教程,油猴搜脚本为什么会网页无法显示?
Java类加载基本过程详细介绍
Python文件操作最佳实践_稳定性说明【指导】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
利用vue写todolist单页应用
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
高防服务器租用首荐平台,企业级优惠套餐快速部署
Laravel API资源类怎么用_Laravel API Resource数据转换
EditPlus中的正则表达式 实战(2)
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
C++时间戳转换成日期时间的步骤和示例代码
如何生成腾讯云建站专用兑换码?
如何撰写建站申请书?关键要点有哪些?
在Oracle关闭情况下如何修改spfile的参数
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
长沙企业网站制作哪家好,长沙水业集团官方网站?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何用西部建站助手快速创建专业网站?
创业网站制作流程,创业网站可靠吗?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
如何快速搭建个人网站并优化SEO?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
魔方云NAT建站如何实现端口转发?

