ASP.NET - 状态管理建议

29、ASP.NET 网站导航与状态管理全解析 本文深入解析了ASP.NET中的网站导航与状态管理技术。涵盖了客户端重定向和服务器端转移两种主要导航方法,以及网站地图控件(如Menu、TreeView和SiteMapPath)的使用。详细介绍了视图状态、会话状态、应用程序状态、Cookie、查询字符串等客户端和服务器端状态管理技术,并提供了代码示例和配置说明。文章还通过实验和案例场景帮助开发者更好地理解和应用这些技术,以构建高效、安全的Web应用程序。 阅读详情

 

      状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程。与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点。此外,到服务器的每一往返过程都将销毁并重新创建页;因此,如果超出了单个页的生命周期,页信息将不存在。

ASP.NET 提供多种方式来在服务器往返过程之间维护状态。对这些状态管理选项的选择主要取决于您的应用程序,并且应基于以下条件:

·需要存储的信息量有多大?

·客户端是接受持久性的还是内存中的 Cookie?

·要将信息存储在客户端还是服务器上?

·信息是否是敏感信息?

·您对应用程序设定了什么样的性能和带宽条件?

·目标浏览器和设备具有什么样的功能?

·您是否需要储存基于用户的信息?

·信息需要存储多长时间?

您使用 Web 场(多个服务器)、Web 园(一个计算机上的多个进程)还是单个进程来运行应用程序?

 

一、客户端状态管理选项

使用客户端选项存储页信息不使用服务器资源。这些选项往往具有最低的安全性但具有较快的服务器性能,因为对服务器资源的要求是适度的。但是,由于必须将信息发送到客户端来进行存储,因此对于以这种方式可以存储多少信息存在一定的客观限制。

以下是 ASP.NET 支持的客户端状态管理选项:

视图状态、控件状态、隐藏字段、Cookie、查询字符串

 

1、视图状态

Web 窗体页提供 ViewState 属性作为内置结构,在对同一页的多个请求间自动保留值。视图状态作为页中的隐藏域来进行维护。

可以使用视图状态在页回发到自身时跨越往返过程存储您自己的页特定值。例如,如果您的应用程序正在维护用户特定的信息(即,该信息在页上使用,但不是任何控件所必需的部分),则可以使用视图状态存储该信息。

使用视图状态的优点为:

·不需要任何服务器资源   视图状态包含在页代码内的结构中。

·实现简单   视图状态无需使用任何自定义编程。默认情况下对控件启用状态数据的维护。

·增强的安全功能   视图状态中的值经过哈希计算和压缩,并且针对 Unicode 实现进行编码,其安全性要高于使用隐藏域。

使用视图状态的缺点为:

·性能注意事项   由于视图状态存储在页本身,因此如果存储较大的值,用户显示页和发布页时的速度可能会减慢。尤其是对移动设备,其带宽通常是有限的。

·设备限制   移动设备可能没有足够的内存容量来存储大量的视图状态数据。

·潜在的安全风险   视图状态存储在页上的一个或多个隐藏域中。虽然视图状态以哈希格式存储数据,但它可以被篡改。如果直接查看页输出源,可以看到隐藏域中的信息,这导致潜在的安全性问题。

 

2、控件状态

ASP.NET 页框架提供了 ControlState 属性作为在服务器往返过程中存储自定义控件数据的方法。例如,如果您编写的自定义控件使用多个不同的选项卡来显示不同的信息,为使此控件能够按预期方式工作,控件需要知道在往返过程中哪个选项卡被选中。视图状态可用于此目的,但是开发人员可能在页级将视图状态关闭,这实际上破坏了您的控件。与视图状态不同,控件状态不能被关闭,因此它提供了存储控件状态数据的更可靠方法。

使用控件状态的优点为:

·不需要任何服务器资源   默认情况下,控件状态存储在页上的隐藏域中。

·可靠性   因为控件状态不像视图状态那样可以关闭,控件状态是管理控件的状态的更可靠方法。

·通用性   可以编写自定义适配器来控制如何存储控件状态数据和控件状态数据的存储位置。

使用控件状态的缺点为:

·需要一些编程   虽然 ASP.NET 页框架为控件状态提供了基础,但是控件状态是一个自定义的状态保持机制。为了充分利用控件状态,您必须编写代码来保存和加载控件状态。

 

3、隐藏字段

可以在页上的隐藏域中存储特定于页的信息,作为维护页的状态的一种方式。

如果使用隐藏域,最好在客户端上只存储少量经常更改的数据。

说明: 如果使用隐藏域,则必须使用 HTTP POST 方法向服务器提交页,而不是使用通过页 URL 请求该页的方法(HTTP GET 方法)向服务器提交页。

使用隐藏域的优点为:

·需要任何服务器资源   隐藏域在页上存储和读取。

·泛的支持   几乎所有浏览器和客户端设备都支持具有隐藏域的窗体。

·现简单   隐藏域是标准的 HTML 控件,不需要复杂的编程逻辑。

使用隐藏域的缺点为:

·潜在的安全风险   隐藏域可以被篡改。如果直接查看页输出源,可以看到隐藏域中的信息,这导致潜在的安全性问题。您可以手动加密和解密隐藏域的内容,但这需要额外的编码和开销。如果关注安全,请考虑使用基于服务器的状态机制,从而不将敏感信息发送到客户端。

·简单的存储结构   隐藏域不支持复杂数据类型。隐藏域只提供一个字符串值域存放信息。若要存储多个值,必须实现分隔的字符串以及用来分析那些字符串的代码。您可以手动分别将复杂数据类型序列化为隐藏域以及将隐藏域反序列化为复杂数据类型。但是,这需要额外的代码来实现。如果您需要将复杂数据类型存储在客户端上,请考虑使用视图状态。视图状态内置了序列化,并且将数据存储在隐藏域中。

·性能注意事项   由于隐藏域存储在页本身,因此如果存储较大的值,用户显示页和发布页时的速度可能会减慢。

·存储限制   如果隐藏域中的数据量过大,某些代理和防火墙将阻止对包含这些数据的页的访问。因为最大数量会随所采用的防火墙和代理的不同而不同,较大的隐藏域可能会出现偶发性问题。如果您需要存储大量的数据项,请考虑执行下列操作之一:

·将每个项放置在单独的隐藏域中。

·使用视图状态并打开视图状态分块,这样会自动将数据分割到多个隐藏域。

·不将数据存储在客户端上,将数据保留在服务器上。向客户端发送的数据越多,您的应用程序的表面响应时间越慢,因为浏览器需要下载或发送更多的数据。

 

4、Cookie

Cookie 用于在客户端上存储少量经常更改的信息。这些信息与请求一起发送到服务器。

使用 Cookie 的优点为:

·可配置到期规则   Cookie 可以在浏览器会话结束时到期,或者可以在客户端计算机上无限期存在,这取决于客户端的到期规则。

·不需要任何服务器资源   Cookie 存储在客户端并在发送后由服务器读取。

·简单性   Cookie 是一种基于文本的轻量结构,包含简单的键值对。

·数据持久性   虽然客户端计算机上 Cookie 的持续时间取决于客户端上的 Cookie 过期处理和用户干预,Cookie 通常是客户端上持续时间最长的数据保留形式。

使用 Cookie 的缺点为:

·大小受到限制   大多数浏览器对 Cookie 的大小有 4096 字节的限制,尽管在当今新的浏览器和客户端设备版本中,支持 8192 字节的 Cookie 大小已愈发常见。

·用户配置为禁用   有些用户禁用了浏览器或客户端设备接收 Cookie 的能力,因此限制了这一功能。

·潜在的安全风险   Cookie 可能会被篡改。用户可能会操纵其计算机上的 Cookie,这意味着会对安全性造成潜在风险或者导致依赖于 Cookie 的应用程序失败。另外,虽然 Cookie 只能被将它们发送到客户端的域访问,历史上黑客已经发现从用户计算机上的其他域访问 Cookie 的方法。您可以手动加密和解密 Cookie,但这需要额外的编码,并且因为加密和解密需要耗费一定的时间而影响应用程序的性能。

说明: Cookie 通常用于为已知用户自定义内容的个性化情况。在大多数此类情况中,Cookie 是作为“标识”而不是“身份验证”。因此,通常保护用于标识的 Cookie 的方法是在 Cookie 中存储用户名、帐户名或唯一用户 ID(例如 GUID),然后用以访问站点的用户个性化结构中的信息。

 

5、查询字符串

查询字符串是在页 URL 的结尾附加的信息。

可以使用查询字符串来通过 URL 将数据提交回您的页或另一页上。查询字符串提供一种维护某些状态信息的简单但有限的方法。例如,它们是将信息从一页传送到另一页的简便的方法(例如,将产品号传递到将处理该产品号的另一页)。

使用查询字符串的优点为:

·不需要任何服务器资源   查询字符串包含在对特定 URL 的 HTTP 请求中。

·广泛的支持   几乎所有的浏览器和客户端设备均支持使用查询字符串传递值。

·实现简单   ASP.NET 完全支持查询字符串方法,其中包含了使用 HttpRequest 对象的 Params 属性读取查询字符串的方法。

使用查询字符串的缺点为:

·潜在的安全性风险   用户可以通过浏览器用户界面直接看到查询字符串中的信息。用户可将此 URL 设置为书签或发送给别的用户,从而通过此 URL 传递查询字符串中的信息。如果您担心查询字符串中的任何敏感数据,请考虑使用窗体(使用 POST 而不是查询字符串)中的隐藏域。

·有限的容量   有些浏览器和客户端设备对 URL 的长度有 2083 个字符的限制。

客户端方法状态管理摘要

下表列出了 ASP.NET 可用的客户端状态管理选项,并提供了有关何时使用每个选项的建议。

状态管理选项

使用建议

视图状态

当您需要存储少量回发到自身的页信息时使用。使用 ViewState 属性可提供具有基本安全性的功能。

控件状态

当您需要在服务器的往返过程间存储少量控件状态信息时使用。

隐藏字段

当您需要存储少量回发到自身或另一页的页信息时使用,也可以在不存在安全性问题时使用。

说明:

只能在提交到服务器的页上使用隐藏域。

Cookie

当您需要在客户端存储少量信息以及不存在安全性问题时使用。

查询字符串

当您将少量信息从一页传输到另一页以及不存在安全性问题时使用。

说明:

只有在请求同一页,或通过链接请求另一页时,才能使用查询字符串。

 

二、服务器端状态管理选项

存储页信息的服务器端选项往往比客户端选项具有更高的安全性,但它们可能使用更多的 Web 服务器资源,这可能在信息存储量较大时导致伸缩性方面的问题。ASP.NET 提供几种选项来实现服务器端状态管理。

以下是 ASP.NET 支持的服务器端状态管理选项:

应用程序状态 、会话状态 、配置文件属性 、数据库支持

 

1、应用程序状态

ASP.NET 通过 HttpApplicationState 类将应用程序状态提供为一种存储全局应用程序特定信息(对于整个应用程序都可见)的方法。应用程序状态变量实际上是 ASP.NET 应用程序的全局变量。

您可以在应用程序状态中存储应用程序特定的值,应用程序状态将由服务器来管理。

由多个会话共享并且不经常更改的数据是插入到应用程序状态变量的理想数据。

使用应用程序状态的优点为:

·实现简单   应用程序状态易于使用,为 ASP 开发人员所熟悉,并且与其他 .NET Framework 类一致。

·应用程序范围   由于应用程序状态可供应用程序中的所有页来访问,因此在应用程序状态中存储信息可能意味着仅保留信息的一个副本(例如,相对于在会话状态或在单独页中保存信息的多个副本)。

使用应用程序状态的缺点为:

·应用程序范围   应用程序状态的范围可能也是一项缺点。在应用程序状态中存储的变量仅对于该应用程序正在其中运行的特定进程而言是全局的,并且每一应用程序进程可能具有不同的值。因此,不能依赖应用程序状态来存储唯一值或更新 Web 场和 Web 园服务器配置中的全局计数器。

·数据持续性有限   因为在应用程序状态中存储的全局数据是易失的,所以如果包含这些数据的 Web 服务器进程被损坏(如因服务器崩溃、升级或关闭而损坏),将丢失这些数据。

·资源要求   应用程序状态需要服务器内存,这可能会影响服务器的性能以及应用程序的可伸缩性。

应用程序状态的精心设计和实现可以提高 Web 应用程序性能。例如,如果将常用的、相关的静态数据集放置到应用程序状态中,则可以通过减少对数据库的数据请求总数来提高站点性能。但是,这里存在一种性能平衡。当服务器负载增加时,包含大块信息的应用程序状态变量就会降低 Web 服务器的性能。在移除或替换值之前,将不释放在应用程序状态中存储的变量所占用的内存。因此,最好只将应用程序状态变量用于更改不频繁的小型数据集。

 

2、会话状态

ASP.NET 提供了一种会话状态,该会话状态可作为 HttpSessionState 类或存储会话特定信息(仅在该会话中可见)的方法来使用。ASP.NET 会话状态将一个有限时间窗口内来自同一浏览器的请求标识为一个会话,并在该会话持续期间保留变量的值。

可以在会话状态中存储会话特定的值和对象,该会话状态对象将由服务器来进行管理并可用于浏览器或客户端设备。存储在会话状态变量中的理想数据是特定于单独会话的短期的、敏感的数据。

使用会话状态的优点为:

·实现简单   会话状态功能易于使用,为 ASP 开发人员所熟悉,并且与其他 .NET Framework 类一致。

·会话特定的事件   会话管理事件可以由应用程序引发和使用。

·数据持久性   放置于会话状态变量中的数据可以经受得住 Internet 信息服务 (IIS) 重新启动和辅助进程重新启动,而不丢失会话数据,这是因为这些数据存储在另一个进程空间中。此外,会话状态数据可跨多进程保持(例如在 Web 场或 Web 园中)。

 

平台可伸缩性   会话状态可在多计算机和多进程配置中使用,因而优化了可伸缩性方案。

·无需 Cookie 支持   尽管会话状态最常见的用途是与 Cookie 一起向 Web 应用程序提供用户标识功能,但会话状态可用于不支持 HTTP Cookie 的浏览器。但是,使用无 Cookie 的会话状态需要将会话标识符放置在查询字符串中(同样会遇到本主题在查询字符串一节中陈述的安全问题)。

·可扩展性   您可通过编写自己的会话状态提供程序自定义和扩展会话状态。然后可以通过多种数据存储机制(例如数据库、XML 文件甚至 Web 服务)将会话状态数据以自定义数据格式存储。

使用会话状态的缺点为:

·性能注意事项   会话状态变量在被移除或替换前保留在内存中,因而可能降低服务器性能。如果会话状态变量包含诸如大型数据集之类的信息块,则可能会因服务器负荷的增加影响 Web 服务器的性能。

 

2、配置文件属性

ASP.NET 提供了一个称为配置文件属性的功能,可让您存储特定于用户的数据。除了当用户的会话过期时配置文件数据不丢失这点与会话状态不同外,它与会话状态类似。配置文件属性功能使用 ASP.NET 配置文件,ASP.NET 配置文件以固定的格式存储并与单个用户相关联。ASP.NET 配置文件可让您轻松地管理用户信息,而无需创建和维护自己的数据库。此外,配置文件使用了一个强类型 API,您可以在应用程序中的任何位置访问该 API,从而使用用户信息。您可以在配置文件中存储任何类型的对象。ASP.NET 配置文件功能提供了一个通用存储系统,使您能够定义和维护几乎任何类型的数据,同时仍可用类型安全的方式使用数据。

使用配置文件属性的优点为:

·数据持久性   放置在配置文件属性中的数据在 IIS 和辅助进程重新启动过程中得以保留而不会丢失数据,因为数据存储在一个外部机制中。此外,配置文件属性可跨多进程保持(例如在 Web 场或 Web 园中)。

·平台可伸缩性   配置文件属性可在多计算机和多进程配置中使用,因而优化了可伸缩性方案。

·可扩展性   为了使用配置文件属性,您必须对配置文件提供程序进行配置。ASP.NET 提供了一个 SqlProfileProvider 类,使您可以将配置文件数据存储在 SQL 数据库中,但您也可以创建自己的配置文件提供程序类将配置文件数据按自定义格式存储到自定义存储机制中,例如 XML 文件甚至 Web 服务。有关更多信息,请参见 ASP.NET 配置文件提供程序和实现配置文件提供程序。

使用配置文件属性的缺点为:

·性能注意事项   配置文件属性通常比使用会话状态慢,因为前者将数据持久保存到数据存储设备而非内存中。

·额外的配置要求   与会话状态不同,配置文件属性功能需要使用相当数量的配置。若要使用配置文件属性,您不仅要对配置文件提供程序进行配置,还要预先配置您想要存储的所有配置文件属性。

·数据维护   配置文件属性需要一定的维护。因为配置文件数据持久保存到存储设备中,所以必须确保在数据陈旧时,应用程序调用由配置文件提供程序提供的相应清理机制。

 

4、数据库支持

在某些情况中,您可能希望使用数据库支持来维护网站上的状态。通常,数据库支持与 Cookie 或会话状态结合在一起使用。例如,对于电子商务网站,普遍使用关系数据库维护状态信息,其原因是:

·安全性

·个性化

·一致性

·数据挖掘

下面是支持 Cookie 的数据库网站的常见功能:

·安全性   访问者将帐户名称和密码键入到站点登录页中。站点结构通过登录值查询数据库以确定该用户是否有权使用您的站点。如果数据库确认该用户信息有效,网站将把包含该用户的唯一 ID 的有效 Cookie 分发到客户端计算机上。站点授予该用户访问权限。

·个性化   通过站点中存储的安全性信息,您的站点能够借助读取客户端计算机上的 Cookie 来区分站点上的每一用户。通常,站点在数据库中具有信息,描述用户的首选项(由唯一 ID 标识)。此关系通称作个性化。站点可以使用在 Cookie 中包含的唯一 ID 获知用户的首选项,然后向用户提供与用户的特定愿望相关并在一段时间内对用户首选项作出反应的内容和信息。

·一致性   如果您已创建了一个商业网站,您可能想要在站点上保留所购买的物品和服务的交易记录。这些信息能够可靠地保存在您的数据库中并通过用户的唯一 ID 来引用。它可用于确定购买交易是否完成,还可确定如果购买交易失败所应采取的操作步骤。这些信息还可用于通知用户使用您的站点所下的订单的状态。

·数据挖掘   有关站点使用、访问者或产品交易的信息能够可靠地存储在数据库中。例如,业务发展部门可能希望使用从该站点收集的这些数据确定下一年的产品线或分销策略。市场营销部门可能希望查看有关您的站点的用户的人口统计信息。设计和支持部门可能希望查看交易并记下购买过程可以改进的区域。诸如 Microsoft SQL Server 之类的大多数企业级关系数据库提供了可适用于大多数数据挖掘项目的可扩展工具集。

在上述方案中通过将网站设计为在每一一般性阶段使用唯一 ID 重复查询该数据库,该站点对状态进行维护。在此方法中,用户感受到站点正记住和响应其本人。

 

使用数据库维护状态的优点为:

·安全性   访问数据库需要严格的身份验证和授权。

·存储容量   可以根据需要在数据库中存储尽可能多的信息。

·数据持久性   可以根据需要在尽可能长的时间内存储数据库信息,这些信息不受 Web 服务器可用性的影响。

·可靠性和数据完整性   数据库包括多种用于维护有效数据的功能,其中包括触发器和引用完整性、事务等。通过在数据库中(而不是在会话状态等对象中)保存有关事务的信息,可以更为方便地从错误恢复。

·可访问性   存储在数据库中的数据可供众多的信息处理工具访问。

·广泛的支持   有大量数据库工具可供使用,并且有许多自定义配置可供使用。

使用数据库维护状态的缺点为:

·复杂性   使用数据库支持状态管理需要更复杂的硬件和软件配置。

·性能注意事项   不佳的关系数据模型结构可能导致可伸缩性问题。此外,对数据库执行过多的查询可能会影响服务器性能。

服务器端方法状态管理摘要

下表列出了 ASP.NET 可用的服务器端状态管理选项,并提供了有关何时使用每种选项的建议。

状态管理选项

使用建议

应用程序状态

可在以下情况下使用:存储由多个用户使用且更改不频繁的全局信息,而且不存在安全性问题。不要在应用程序状态中存储大量的信息。

会话状态

可在以下情况下使用:存储特定于单独会话的短期信息,并且需要较高的安全性。不要在会话状态中存储大量的信息。需要注意,将为应用程序中每一会话的生存期创建并维护会话状态对象。在支持许多用户的应用程序中,这可能会占用大量服务器资源并影响可缩放性。

配置文件属性

可在以下情况下使用:存储需要在用户会话过期后保留、并在对应用程序的后续访问中需要再次检索的特定于用户的信息。

数据库支持

可在以下情况下使用:存储大量信息,管理交易,或者信息必须可以经受得住应用程序和会话重新启动。数据挖掘十分重要,并且需要较高的安全性。

 

32、ASP.NET 服务器端状态管理与网站编程指南 本文详细介绍了ASP.NET中服务器端状态管理与网站编程的相关技术。涵盖了配置文件属性、应用程序对象和会话对象等状态管理方法,以及页面和应用程序级别的异常处理机制。同时探讨了配置文件设置的读取与修改、异步Web页面的启用和自定义处理程序的创建等内容。通过实验和代码示例,帮助开发者更好地理解和应用这些关键技术,以提升Web应用程序的性能、安全性和可靠性。 阅读详情

相关推荐

1、ASP.NET 2.0 开发全解析:从基础到高级应用

本文全面解析了 ASP.NET 2.0 的开发技术,从基础概念到高级应用涵盖了 Web 开发的各个方面。内容包括网站创建、服务器控件使用、数据处理、状态管理、自定义控件、输入验证、母版页设计、身份验证、移动开发等主题,并提供了实践建议和常见问题解答。通过学习本文,开发者可以系统地掌握 ASP.NET 2.0 的核心知识并应用于实际项目中。

ss78901的博客 61

ASP.NET 状态管理建议

 ASP.NET  ASP.NET 状态管理建议   状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程。与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点。此外,到服务器的每一往返过程都将销毁并重新创建页;因此,如果超出了单个页的生命周期,页信息

bestshl的专栏 974

内网穿透-frp二层隧道搭建

环境: weblogic: 192.168.0.133 10.10.20.12 win7 : 10.10.20.7 10.10.10.7go语言、跨平台的 可以分为frpc和frps frpc—>请求----->frps frps:放到黑客公网上 1.需要出网 2.配置: frpc:放到肉鸡上,请求frps 2.端口转发 2.1frpc传到肉鸡(weblogic) 利用工具,传入内存马到weblogic,然后使用冰蝎进行连接 然后在文件管理中上传frpc.exe和frpc.ini文件 fr

yyytaotao的博客 2103

ASP.NET 状态管理的建议

状态管理是在相同或不同页面的多个请求之上维护状态和页面信息的过程。与任何基于 HTTP 技术的实质一样,Web 窗体页面是没有状态的,这意味着它们不会自动指出序列中的请求是否全部来自相同的客户端或者是否只是一个仍然在查看页面或网站的活动浏览器实例。此外,页面在每次在回传到服务器的过程中都被销毁并重建;因此,任何超出单个页面生命周期之外的信息都将不覆存在。关于服务器回传过程和 Web 窗体页面生...

weixin_30257433的博客 154

Android Profiler实战:如何用CPU分析工具揪出卡顿元凶(附线程状态解读)

本文深入解析Android Profiler中的CPU分析工具,重点聚焦线程活动监控。通过解读线程状态时间轴上的绿、黄、灰三色含义,并结合实战案例,指导开发者精准定位导致界面卡顿的CPU密集型或I/O阻塞代码,有效提升应用性能与用户体验。

weixin_29197699的博客 372

设备树实践:从零构建一个嵌入式板级的设备树描述

本文详细介绍了如何从零开始为嵌入式Linux系统构建设备树(Device Tree),以i.MX6ULL处理器为例,涵盖硬件分析、设备树语法、外设配置及调试技巧。通过实践指导,帮助开发者掌握设备树编写,实现硬件与软件的高效对接,提升嵌入式开发效率。

plum99的博客 306

MSDN: asp.net状态管理建议

状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程。与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点。此外,到服务器的每一往返过程都将损坏并重新创建页;因此,如果超出了单个页的生命周期,页信息将不存在。有关服务器往返过程和 Web 窗体页生命周期的更多信息,请参见 Web 窗体...

weixin_33985679的博客 102

WSL Ubuntu20 通过1Panel配置SSH服务的完整避坑指南

本文详细介绍了在WSL Ubuntu20环境下通过1Panel配置SSH服务的完整指南,包括环境准备、SSH服务安装与基础配置、1Panel中的SSH管理技巧以及连接测试与故障排查。特别针对WSL特性提供了避坑建议,如IP动态变化处理、SSH服务初始化配置等关键步骤,帮助用户高效搭建稳定的SSH服务环境。

weixin_29239279的博客 414

ASP.NET 状态管理

ASP.NET 状态管理概述 每次将网页发送到服务器时,都会创建网页类的一个新实例。在传统的 Web 编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失。 为了解决传统的 Web 编程的固有限制,ASP.NET 包括了几个选项,可帮助您按页保留数...

aobc72208的博客 261

告别高延迟!用RV1106+4G模块+libdatachannel搭建低功耗WebRTC监控,保姆级避坑指南

本文详细介绍了如何利用RV1106低功耗处理器、4G模块和libdatachannel库构建嵌入式WebRTC监控系统,解决高延迟问题。通过硬件选型、系统优化和核心代码实现,提供了一套完整的低功耗实时视频传输方案,特别适合智能安防和工业物联网应用。

weixin_42527401的博客 192

视觉巡线小车(STM32+OpenMV)——技术总结

在现代机器人技术中,视觉巡线是一种常见的导航方式,它允许机器人通过识别和跟踪地面上的线路来自主导航。本文将总结使用STM32微控制器和OpenMV视觉模块来实现视觉巡线小车的关键技术和步骤。

weixin_66608063的博客 3078

ASP转ASP.NET(1)

与ASP相比,ASP.NET在很多方面有了显著的改进,这些方面包括:性能、状态管理、可缩放性、配置、部署、安全性、输出缓存控制、网络场支持和XML Web services结构等。 如果您具有ASP 开发技能,则新的 ASP.NET 编程模型对您来说将会是非常熟悉的。然而,ASP对象模型已经经历了重大改动而变得更加结构...

weixin_33827731的博客 212

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案 入门基础 11.多选题 以下方式中属于FineReport中预览模式的有( ) 分页预览、填报预览、新填报预览、数据分析、移动端预览 16.判断题 FineReport报表工具必须购买激活码后才能使用。 错误,可以免费获取激活码。 29.单选题 FineReport是一款利用( )语言开发的报表工具。java 41.多选题 访问帮助文档的方式有哪些?设计器中社区菜单下-帮助文档;直接访问http://help.finere

qq_37485720的博客 2万+

ASP.NET Core模型状态:验证状态管理

在Web应用开发中,数据验证是保证应用健壮性和安全性的关键环节。ASP.NET Core提供了强大的模型状态(Model State)管理系统,它不仅能够处理数据绑定过程中的验证错误,还能有效管理验证状态,为开发者提供清晰的验证结果反馈。本文将深入探讨ASP.NET Core模型状态的验证状态管理机制,帮助您构建更加健壮的Web应用。 ## 模型状态基础概念 ### ModelStateDic...

gitblog_00448的博客 816

5.4 磁悬浮轴承控制系统仿真:在MATLAB/Simulink中搭建包含功放、传感器模型的闭环系统模型,进行稳定性与动态性能仿真

磁悬浮轴承控制系统仿真方法 摘要:磁悬浮轴承控制系统仿真需建立包含转子动力学、传感器、控制器、功率放大器和电磁执行器的高保真非线性模型。通过MATLAB/Simulink搭建闭环系统,重点建模传感器带宽限制与噪声、功放饱和特性以及电磁力非线性。仿真分析包括时域阶跃响应、扰动抑制测试,频域稳定性分析(伯德图、奈奎斯特图),以及参数摄动下的鲁棒性验证。关键要验证控制算法在非线性因素影响下的稳定性和动态性能,为实际系统实现提供可靠依据。仿真中需特别注意物理量单位一致性和数字控制离散化效应。

技术工作者 1108

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

迁移到 ASP .NET:需考虑的重要问题

简介虽然 Microsoft® ASP .NET 的设计者在保持 ASP 应用程序的向后兼容性方面做了大量不懈的努力,但在将 Web 应用程序由 ASP 向 ASP .NET 迁移之前,还是应该了解一下几个关键的问题。在 .NET 平台和 ASP .NET 中对现有技术进行了改进并采用了一些新技术,透彻理解这些技术有利于简化此迁移过程,但这需要经过一段漫长的时间。本文探讨各方面的变化,以便

sam1111的专栏 1266

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ASP.NET 状态管理概述

ASP.NET 状态管理概述   每次将网页发送到服务器时,都会创建网页类的一个新实例。在传统的 Web 编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失。为了解决传统的 Web 编程的固有限制,ASP.NET 包括了几个选项,可帮助您按页保留数据和

wwlearn的专栏 1174

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ASP.NET状态管理的总结

由于HTTP协议的无状态特性,导致在ASP.NET编程中,每个请求都会在服务端从头到执行一次管线过程, 对于ASP.NET页面来说,Page对象都会重新创建,所有控件以及内容都会重新生成, 因此,如果希望上一次的页面状态能够在后续页面中保留,则必需引入状态管理功能。 ASP.NET为了实现状态管理功能,提供了8种方法,可帮助我们在页面之间或者整个用户会话期间保留状态数据。 这些方法分为二类:

黄毛的专栏 559

ASP.NET Web 服务还是 .NET Remoting:如何选择

概述随着时间的推移,已经形成这样一种惯例:即将应用程序构建成一组组件,分布于计算机网络之间,并作为整个程序的一部分一起运行。过去,分布式应用程序逻辑需要具备组件/对象技术,例如,Microsoft® 分布式组件对象模型 (DCOM)、Object Management Group 的公共对象请求代理程序体系结构 (CORBA) 或 Sun 的远程方法调用 (RMI)。这些技术提供了可靠的、可升

dshj的专栏 1011

ASP.NET性能最佳实践

根据MSDN webcast 整理逻辑/物理设计实践 推荐 : 使用逻辑三层模型 页面(.aspx)和用户控件(.ascs) 可重用类型(组件)放在/bin目录下 数据放在SQL数据库中 推荐 : 为Web Farm设计 不要假定访问者永远会回到同一服务器 注意静态变量和应用状态 Web Farm会话状态

johncools的博客 1165

开发高性能的ASP.NET 应用程序

页面和服务器控件处理 下列准则提供了有效使用 ASP.NET 页面和控件的建议。 避免到服务器的不必要的往返行程 在某些情况下不必使用 ASP.NET 服务器控件和执行回发事件处理。例如,在 ASP.NET 网页中验证用户输入经常可在数据提交到服务器之前在客户端进行。通常,如果不需要将信息传递到服务器以进行验证或将其写入数据存储区,请避免使用导致到服务器的往返...

weixin_30507481的博客 81
上一篇: ASP.NET页面对象 – User
下一篇: ASP.NET - 视图状态概述
dodream
博客等级 码龄21年 93粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值