首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么ASP.NET即使在页面的EnableSessionState ="False"时也访问State Server,但仅限于VB.NET站点,而不是C#站点?

这个问题涉及到ASP.NET中的Session状态管理和State Server的使用。我们将逐一解析这个问题。

首先,ASP.NET中的Session状态管理是一种在多个页面之间共享数据的技术。它允许在不同的页面之间存储和传递数据,从而实现用户的状态跟踪。Session状态默认存储在服务器的内存中,但也可以使用State Server来实现分布式Session状态管理。

State Server是一种用于管理Session状态的中央存储服务,它可以在多个服务器之间共享Session状态,从而实现负载均衡和故障转移。在ASP.NET中,可以通过配置web.config文件来启用State Server。

现在,我们来看这个问题:为什么ASP.NET即使在页面的EnableSessionState ="False"时也访问State Server,但仅限于VB.NET站点,而不是C#站点?

这个问题的关键在于EnableSessionState属性的设置。当EnableSessionState属性设置为False时,ASP.NET将不会在该页面上创建Session对象,并且不会访问State Server。然而,如果在VB.NET站点中设置EnableSessionState属性为False,ASP.NET仍然会访问State Server,这是因为VB.NET和C#的语法和处理方式不同。

在VB.NET中,如果在页面的@Page指令中将EnableSessionState属性设置为False,ASP.NET仍然会访问State Server,因为VB.NET中的语法是将EnableSessionState属性设置为False,而不是将其完全移除。这意味着ASP.NET仍然会尝试访问Session状态,即使它没有被创建。

相反,在C#中,如果在页面的@Page指令中将EnableSessionState属性设置为False,ASP.NET将不会访问State Server,因为C#中的语法是将EnableSessionState属性设置为False,并且不会尝试访问Session状态。

因此,这个问题的根本原因在于VB.NET和C#的语法差异。在VB.NET中,即使将EnableSessionState属性设置为False,ASP.NET仍然会尝试访问Session状态,而在C#中,将EnableSessionState属性设置为False将完全禁用Session状态管理。

总之,ASP.NET即使在页面的EnableSessionState ="False"时也会访问State Server,但仅限于VB.NET站点,而不是C#站点,这是因为VB.NET和C#的语法差异导致的。如果您希望完全禁用Session状态管理,建议在C#站点中使用EnableSessionState属性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)

使用托管 SQL Server 提供程序时,可通过使用编译的存储过程不是特殊查询获得额外的性能提高。 10....例如下面的代码中,页面构造将实例化由某个线程创建的 MySTAComponent,该线程并不是将运行页面的 STA 线程。...为此,只需应用程序激活之前向它请求一个页面,无论哪均可。然后,当用户首次访问您的站点,页面及其程序集将已被编译。 没有简单的机制可以知道批编译何时发生。...使用 Page.IsPostBack 避免对往返过程执行不必要的处理 如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求执行其他代码,不是当用户发送包含在该页中的 HTML 窗体执行的代码...若要禁用的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为 false

2.7K100

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

ASP.NET 成功的其中一个原因在于它降低了 Web 开发人员的门槛。即便您不是计算机科学博士可以编写 ASP.NET 代码。...• 默认情况下,ASP.NET 会话状态管理器对每个请求中的会话数据存储执行两个访问(一个读取访问和一个写入访问),不管请求的是否使用会话状态。...换句话说,当您使用 SQL Server™ 会话状态选项,您在每个请求中都要付出代价(两个数据库访问)— 甚至与会话状态无关的页面的请求中。这会直接对整个网站的吞吐量造成负面影响。 ?...I/O 绑定不是计算机绑定且需要很长时间执行的任何页面很有可能成为异步页面。 当我将关于异步页面的信息告知开发人员,他们经常回答“那真是太棒了,但是我的应用程序中并不需要它们。”...糟糕的数据访问体系结构通常源于下面的一个或多个方面: • 拙劣的数据库设计(通常由开发人员设计,不是数据库管理员)。

3.5K80
  • 【性能优化】ASP.NET常见性能优化方法简述

    使用托管 SQL Server 提供程序时,可通过使用编译的存储过程不是特殊查询获得额外的性能提高。   10....例如下面的代码中,页面构造将实例化由某个线程创建的 MySTAComponent,该线程并不是将运行页面的 STA 线程。...为此,只需应用程序激活之前向它请求一个页面,无论哪均可。然后,当用户首次访问您的站点,页面及其程序集将已被编译。没有简单的机制可以知道批编译何时发生。...使用 Page.IsPostBack 避免对往返过程执行不必要的处理 如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求执行其他代码,不是当用户发送包含在该页中的 HTML 窗体执行的代码...若要禁用的会话状态,请将@ Page 指令中的 EnableSessionState 属性设置为 false

    4K60

    理解Session State模式+ASP.NET SESSION丢失FAQ

    – 如果使用了Session_OnStart事件,即使session为空,asp.net会保存session state。...Session.Clear()仅仅是清除数据,没有删除session。 Q: session的Timeout属性是一个滑动超时值吗?...注意,只要页面没有被禁用,在请求页面就会自动访问session Q: 我可以ASP.NET和ASP之间共享session吗? A:不可以。...A: 原因是你的frameset页面是一个htm文件不是一个aspx页面 通常情况下,如果一个frameset为一个aspx文件,当你请求该页面,会首先发请求给web服务器,你会收到一个asp.net...\hello.aspx),不是绝对路径(如\foo\bar\hello.aspx)。如果你使用的是绝对路径,ASP.NET不会将session id保存在url中。

    1.6K20

    jav_video_ASP 第三方控件

    [使用说明] 本机测试的方法: 1.下载解压DotNetTextBox目录到默认站点的根目录后,必须在Internet信息服务管理器找到该目录后右击属性>创建>确定来创建虚拟目录,可以Internet...3.编辑Projects目录下项目文件的时候,请保证DotNetTextBox目录是放在站点根目录,即http://localhost/DotNetTextBox/可以访问到演示页面,否则项目中控件的图片显示将不正确...,这时请将用记事本打开sln文件,修改里面的相关路径,比如编辑normal项目,如果DotNetTextBox目录放在默认站点的aspx目录下,则请将SLN文件里所有http://localhost/DotNetTextBox...Doc/ 存放控件帮助文件及一些安装所需的文件。 Sample-Cs/ 存放控件的C#应用实例及其项目文件。 Sample-Vb/ 存放控件的VB.NET应用实例及其项目文件。...,请不要改动里面的JS代码及ASP.NET代码,否则会出错。

    1.5K10

    ASP.NET 调味品:AJAX

    有关 AJAX 更详细的定义,请访问 AJAX Wikipedia entry(英文)。 AJAX 到底是什么?AJAX 使您能够通过 JavaScript 调用执行服务器端方法,不需要刷新浏览器。...其次,加载事件期间,必须通过调用 Ajax.Utility.RegisterTypeForAjax 来注册包含这些函数的类。听起来似乎有些复杂,请不必担心;实际上只需要在代码中多加两行。...在此,我们看到 AJAX 工作的异步特性,因为对 GetMessageOfTheDay 的调用不阻碍执行其他 JavaScript 代码,不阻碍用户继续上进行操作。...将它视为此的后面的代码,其中用户可以添加新的发布。下面我们将添加启用了 AJAX 的函数。...但是,对于某个具体问题,记住 AJAX 可能不是唯一的解决方案,可能不是最佳的解决方案。现在,让我们证明 ASP.NET 社区是首屈一指的,让我们收拾屋子吧。

    3.7K50

    最受欢迎的ASP.NET的CMS下载

    通过Host帐号管理所有子站点每个子站点都有独自的管理员,让管理者任意数量的网站-每个成员都有其自身的外观和身份 功能丰富-DotNetNuke预装了一套内置的工具,提供了强大的件功能。...dotnetnuke是建立微软asp.netvb.net)平台。最近公布的版本是5.5,6.0开发中(核心代码将使用C#) 4. Gallery Server Pro....背景 这一项目源于2002年我想把照片放到网络上进行分享的欲望.我想我的照片保留在我自己的服务器上,不是其他人的服务器上,如EasyShare 或 Shutterfly 的.由于那时没有可供选择的免费解决方案...“主题”以及“母板”的使用是用户能参与到页面的设计及排版的工作中来,提高用户主动性,提升成品的用户满意度。...,走的是国际化道路 13.

    3K30

    解决asp.net负载均衡Session共享的问题

    每个客户端访问网站,都会创建相应的Session,用来保存客户的状态信息,网站如果做了负载均衡,session共享是要做的,IIS对于session的存储有五种模式 一、ASP.Net session...表中的SessionID ,包括两个部分:网站生成的24位SessionID及8位AppId组成,对于不同的站点,其AppId和AppName不同,能够不同站点下Session共享,就得保证这个...MAC失败       但在在网站登录访问却报错了“ASP.NET错误,验证视图状态MAC失败”,baidu了一下,大部分人都说是里或web.config里加EnableEventValidation...加密就得有个私钥,这个私钥我们并没有指定啊,那是因为 ASP.NET 自动生成的。...例如,存储在数据库中的值为"ekr30c3mwvnc3145yrswew3a037e5e5a",后8位的"037e5e5a"为AppID,面的"ekr30c3mwvnc3145yrswew3a"为应用程序中你可以使用

    1.8K21

    ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 【月儿原创】

    那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿。...请在此下载:http://sourceforge.net/project/showfiles.php?group_id=75348 如图所示: ?...为什么要设置成/Files这样不是~/Files,因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机器目录不是http形式的目录。...建议:Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?...前台代码: <%@ Page Language="<em>C#</em>"  validateRequest=false AutoEventWireup="true"  CodeFile="Default.aspx.cs

    1.1K30

    C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService(二)

    ASP 页面的代码嵌入 HTML 中,并在服务器上执行。ASP.NETASP.NET 使用面向对象的编程模型,支持多种语言(如 C#VB.NET)。...ASP.NET: 支持多种编程语言,包括 C#VB.NET、F# 等。开发人员可以选择自己熟悉和喜欢的语言。...;// 输出: Hello%2C+World%21注意:Server.UrlEncode 方法通常在 ASP.NET Web 应用程序中使用,不是非 Web 应用程序中。...连接池的生命周期通常应该与应用程序的生命周期保持一致,不是每次请求或任务完成关闭连接池。连接池的创建和关闭应该发生在应用程序的初始化和终止阶段。...,从而减轻页面传输的负担,同时意味着页面回发无法自动还原控件的状态。

    26910

    asp.net(c#)网页跳转几种方法小结「建议收藏」

    asp.net下,经常需要页面的跳转,下面是具体的几种方法。...这个方法是需要将一个页面的输出结果插入到另一个aspx页面的时候使用,大部分是表格中,将某一个页面类似于嵌套的方式存在于另一面。...他必须是同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。...·如果要确保HTML输出合法,请使用Response.Redirect,因为Server.Execute 或者Server.Transfer方法返回给客户端的页面包含多个标记,不是合法的HTML页面,非...这种页面导航方式类似于针对ASPX页面的一次函数调用,被调用的页面能够访问发出调用页面的表单数据和查询字符串集合,所以要把 被调用页面Page指令的EnableViewStateMac属性设置成False

    2.1K40

    MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    用户跑到我们的网站来访问一个需要登录的页面 我们的网站检测到用户没有登录,返回一个跳转到QQ登录的响应(302 指向QQ登录页面的地址并加上一个返回的链接页面,通常是returnUrl=) 用户被跳转到指定...另外的问题就是,大家知道我们ASP.NET 里面经常用到HttpContext,HttpApplicationt等对象,ASP.NET所有的处理基本上都离不开这两个对象,因为我们的Request以及...即使现在,web.config添加自己定义的http module 不是一件能让人开心的事情,反正我一想到那个很长的类名以及程序集名就够蛋疼的。   ...可是别小看了这个Dictionary,我们所有的信息比如Application state, request stateserver state等等这些信息全部存在这个数据结构中。...这个字典OWin管道的各个组件中传输,你可以任意的往里面添加或更改数据。 OWin默认为我们定义了以下的数据: ?

    2.7K50

    asp.net 跳转页面

    实例 Example that uses Redirect [C#; ASP.NET] 复制代码 代码如下: using System; using System.Web.UI;...这个方法是需要将一个页面的输出结果插入到另一个aspx页面的时候使用,大部分是表格中,将某一个页面类似于嵌套的方式存在于另一面。...他必须是同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。...同时,使用Server.Transfer应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查b310,,博球,博球网,行家心水,赛事推荐,赛事分析,资料库,足球赛事,篮球...这种页面导航方式类似于针对ASPX页面的一次函数调用,被调用的页面能够访问发出调用页面的表单数据和查询字符串集合,所以要把 被调用页面Page指令的EnableViewStateMac属性设置成False

    3.4K10

    C# Evalaspx页面中的用法及作用

    Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,需数据源支持 ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval...当然,ASP.NET 2.0面中仍然支持DataBinder.Eval,你可以不支持简化的Eval语法的环境中使用它。...Container则根本不是任何一个静态的对象或方法,它是 ASP.NET页面编译器在数据绑定事件处理程序内部声明的局部变量,其类型是可以进行数据绑定的控件的数据容器类型(如在Repeater内部的数据绑...,可以是一个带返回值的C#或者VB.NET方法,还可以是某个控件的某个属性的值,可以是C#或者VB.NET对象的某个字段或者属性的值等等。...三,可以将数据绑定表达式包含在Javascript代码中,从而实现在Javascript中调用C#或者VB.NET的方法。

    7.2K20

    C#基础知识复习

    6) 类可以有析构函数,结构不行。 C#中类成员的访问修饰符有哪些?  public:公有的,任何位置都可以访问。  private:私有的,只有类的自身才能访问。... ref参数方法内部可以直接使用;out参数方法内部不能直接使用。  ref参数方法内部可以使用可以不使用;out参数方法返回之前必须对其赋值。... Code-Behind:代码隐藏技术(代码后置),ASP.NET中aspx页面通过其页面指令@Page,将页面的处理逻辑代码分离到另一个cs文件中,从而将页面的显示逻辑和处理逻辑分离,提高了页面的可维护性...为了克服 Web 编程的这一固有局限性,ASP.NET 框架包含了状态管理功能,可以往返过程之间保存和控件的相关联的信息及其值。这便是视图状态。 ASP.NET中常见文件的后缀名有哪些?...SQL Server 写出一条Sql语句: 取出表A中第31条到第40条记录(SQL Server, 以自动增长的ID作为主键, 注意:ID可能不是连续的)。

    6.1K10

    .net的ValidateRequest 属性

    ASP.NET 1.1 中,@Page 指令上的 ValidateRequest 属性被打开后,将检查以确定用户没有查询字符串、Cookie 或表单域中发送有潜在危险性的 HTML 标记。...您可以禁用它,必须有非常好的理由;其中一条这样的理由可能是用户需要能够将某些 HTML 张贴到站点,以便得到更好的格式设置选项。...使用双引号不是单引号,这是因为 HTML 编码仅转义双引号。 ? 强制一个代码以限制可以使用的字符数。...自我总结语: 通常用于:当发布公告等信息,加入了第三方编辑器的情况之下,提交数据,一定要禁止该属性 如果在1.0版本中webconfig...你只需要在那一的HTML设计模式下把validateRequest=”false”添加到Page命令中即可,例如: <%@ Page language=”c#” Codebehind

    42730

    ASP.NET MVC学习笔记03视图

    用Razor编写一个视图模板文件,将 所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程。 ---- 控制器返回指定视图 当前控制器类中的Index方法返回了一个硬编码的字符串。...控制器的方法 (被称为action method(操作方法) ),如上面的Index方法,一般返回一个ActionResult(或从ActionResult所继承的类型),不是原始的类型,如字符串。...视图布局 选择页面的布局,这里就选择默认提供的基于Bootstrap的一个布局模板_Layout.cshtml.当然,实际项目中,你可以提前搭建好布局页面,并使用布局功能来实现整体站点的风格统一,在后面会提到...这段文字是每个页面的公用文 字,即使这段文字出现在每个页面上,但是实际上它仅保存在工程里的一个地方。...同时,我们修改下当前的页面的Title为Movie List以及二级标题内容如下图。此时通过路由访问Hello,会自动参照当前的布局样式展示页面,缺省内容会沿用默认布局。 ?

    2.1K30

    IIS 7.0探索用于 Windows Vista 的 Web 服务器和更多内容

    但在下一个 Windows Server 版本(代号为“Longhorn”)即将最后发布之前,为什么应当开始考虑 IIS 这个服务器应用程序呢?...此工具提供了一组全面的管理功能和比 UI 更好的批量操作支持。通过这个功能强大的实用程序,可以轻松从命令提示符读取和写入配置、访问站点和应用程序池状态信息以及执行几乎任何其他管理任务。 ?...两者有区别,人们熟悉的 ASP.NET 模型允许现有 ASP.NET 模块和处理程序继续工作 IIS 7.0 服务器上,实际上它已完全不同于以前的旧技术。...像以前一样,还可以为不同的错误代码配置自定义错误,或重定向到自定义 URL。详细的错误现在已本地化,如果安装了相应语言的语言包,就可以按客户端的首选语言提供错误描述。...使用失败请求跟踪,可以错误发生始终捕获有价值的跟踪信息,即使它们是间歇性的,或难以复现的。这可以帮助诊断和解决以前需要艰难调试的困难问题。

    5.1K90
    领券