StateServer 解决 Session过期和分布式保存Session

ASP.NET Session配置核心原理与高可用实战指南 Session是Web应用中实现用户状态管理的基础机制,其本质并非简单数据存储,而是一套基于SessionID的信任契约,依赖加密签名、密钥同步与序列化安全来保障跨请求一致性。理解SessionID的防伪机制、Cookie的大小与数量限制、MachineKey在集群中的统一作用,是解决会话丢失、跨服务器失效等高频问题的前提。在分布式场景下,StateServer和SQLServer模式虽可脱离InProc,但需严控网络连通性、超时配置、SQL Agent清理任务及序列化风险。本文聚焦于.NET平台Sessi 阅读详情

使用 StateServer 保存 Session
Post by roydux, 2008-4-23, Views:89 正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。  
   
   这次到优快云上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。  
   
   现在我就把原因和解决办法写出来。  
   
   
   
   原因:  
   
   由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:  
   <sessionState    mode='InProc'    stateConnectionString='tcpip=127.0.0.1:42424'    sqlConnectionString='data    source=127.0.0.1;Trusted_Connection=yes'    cookieless='true'    timeout='60'/>  
   
   我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer?SQLServer(大小写敏感)    。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。  
   
   哪些情况下该进程会重起呢?微软的一篇文章告诉了我们:  
   1、配置文件中processModel标签的memoryLimit属性  
   2、Global.asax或者Web.config文件被更改  
   3、Bin文件夹中的Web程序(DLL)被修改  
   4、杀毒软件扫描了一些.config文件。  
   更多的信息请参考PRB:    Session    variables    are    lost    intermittently    in    ASP.NET    applications  
   
   
   解决办法:  
   
   前面说到的sessionState标签中mode属性可以有三个取值,除了InProc之外,还可以为StateServer、SQLServer。这两种存Session的方法都是进程外的,所以当aspnet_wp.exe重起的时候,不会影响到Session。  
   
   现在请将mode设定为StateServer。StateServer是本机的一个服务,可以在系统服务里看到服务名为ASP.NET    State    Service的服务,默认情况是不启动的。当我们设定mode为StateServer之后,请手工将该服务启动。  
   
   这样,我们就能利用本机的StateService来存储Session了,除非电脑重启或者StateService崩掉,否则Session是不会丢的(因Session超时被丢弃是正常的)。  
   
   除此之外,我们还可以将Session通过其他电脑的StateService来保存。具体的修改是这样的。同样还在sessionState标签中,有个stateConnectionString='tcpip=127.0.0.1:42424'属性,其中有个ip地址,默认为本机(127.0.0.1),你可以将其改成你所知的运行了StateService服务的电脑IP,这样就可以实现位于不同电脑上的Asp.net程序互通Session了。  
   
   如果你有更高的要求,需要在服务期重启时Session也不丢失,可以考虑将mode设定成SQLServer,同样需要修改sqlConnectionString属性。关于使用SQLServer保存Session的操作,请访问这里。  
   
   在使用StateServer或者SQLServer存储Session时,所有需要保存到Session的对象除了基本数据类型(默认的数据类型,如int、string等)外,都必须序列化。只需将[Serializable]标签放到要序列化的类前就可以了。  
   如:  
   [Serializable]  
   public    class    MyClass  
   {  
           ......  
   }  
   具体的序列化相关的知识请参这里。  
   
   至此,问题解决。  

ASP.NET 使用mode=”InProc”方式保存Session老是丢失,无奈改成StateServer 模式。

session是工作在你的应用程序进程中的。asp.net进程、iis往往会在20分钟之后重启相关的应用程序,缓冲池满了(例如100个之后)也会重启,各种进程保护措施都会随时重新启动,因此InProc方式丢失session是很正常的事。csdn上明确告诉了这种模式只能保存“易失的、暂时的 ”变量,这是cache没有之前的一种解决方案。而长期保持的数据就要保存在外部数据源中。状态服务器就是一种进程外的数据源。

 

StateServer 模式的实质是,把Session 存放在一个单独的进程里,此进程独立于 aspnet_wp.exe 或 w3wp.exe 。启用此服务后,在“任务管理器”中可以看到一个名为 aspnet_state.exe 的进程,下面开始说明一下设置的具体步骤:

1、 修改注册表(关键步骤,如下图)

运行 regedit → 打开注册表 → 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state /Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(1 为允许远程电脑的连接,0 代表禁止)→ 设置 Port (端口号)

注意事项:

a)、若ASP.NET State Service 正在运行,修改注册表内容后,则需要重新启动该服务

b)、注意端口号的键值是以十六进制储存的,可以使用十进制进行修改,42424 是默认的端口

c)、AllowRemoteConnection 的键值设置成“1”后,意味着允许远程电脑的连接,也就是说只要知道你的服务端口,就可享用你的ASP.NET State Service,即把 Session 存放在你的电脑进程内,因此请大家慎用;键值为“0”时,仅有stateConnectionString 为“tcpip=localhost: 42424”与“tcpip=127.0.0.1:42424”的情况,方可使用ASP.NET State Service

2、 开启 ASP.NET State Service

右键点击“我的电脑”→ 管理 → 服务与应用程序 → 服务 → 双击“ASP.NET State Service” → 启动(可设为“自动”)

说明:只要安装了 .Net Framework ,都拥有此服务。

3、 更改 Web.config

打开 Web.config → 找到 <sessionState> 节点内容

<sessionState

mode=”InProc”

stateConnectionString=”tcpip=127.0.0.1:42424″

sqlConnectionString=”data source=127.0.0.1;Trusted_Connection=yes”

cookieless=”false”

timeout=”20″ />

→ 将其改为以下内容

<sessionState mode=”StateServer” stateConnectionString=”tcpip=192.168.0.2:42424″ timeout=”20″ />

 

注意事项:
1、timeout=”20″为Session 20分钟超时

2、IP 地址(可以是远程计算机 IP、计算机名称、域名)与端口号,端口号需与ASP.NET State Service 的服务端口一致

ASP.NET Session并发阻塞与无状态替代方案实战 Session是ASP.NET中用于维持用户会话状态的基础机制,其底层依赖标记接口、HttpModule管线和存储锁机制实现。然而,默认的InProc模式引发严重并发阻塞、内存泄漏与水平扩展瓶颈;StateServer/SQLServer则带来序列化开销与网络延迟。现代Web架构强调无状态设计,JWT令牌、Redis分布式缓存、MemoryCache双写等替代路径,可在保障登录态、购物车、临时数据等核心场景的同时,显著提升吞吐量与云原生兼容性。本文聚焦Session的锁等待实证、七宗罪归因及渐进式迁移策略, 阅读详情

相关推荐

ASP.NET Session并发锁导致的Web请求阻塞真相

Session是Web应用中管理用户状态的基础机制,其底层通过请求串行化保障数据一致性,但由此引入的排他锁机制极易引发隐蔽性阻塞。当多个同SessionID请求(如页面、验证码、图片Handler)并发到达时,ASP.NET默认对Session加写锁,导致后续请求在AcquireRequestState阶段长时间等待,表现为无资源消耗的‘假性卡顿’。该问题在动态资源处理、IHttpHandler自定义实现及高并发场景下尤为突出,直接影响首屏加载、表单提交等核心用户体验。本文聚焦Session阻塞原理与IHt

weixin_40192258的博客 437

使用 StateServer 保存 Session 解决 Session过期

使用 StateServer 保存 SessionPost by roydux, 2008-4-23, Views:89 正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。 这次到优快云上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软...

weixin_30709061的博客 192

ASP.NET Global.asax 6大核心事件实战:从定时任务到全局状态管理

本文深入解析ASP.NET Global.asax文件的6大核心事件,包括Application_Start、Application_End、定时任务实现、全局异常处理等关键功能。通过实战代码示例展示如何利用Global.asax进行全局状态管理、会话控制和性能优化,帮助开发者掌握ASP.NET应用程序生命周期的核心管理技术。

weixin_34034670的博客 490

《SpringSecurity in Action》五:SpringSession基于redis实现分布式session设置session超时时间

文章目录1 概述2 原因3 测试 1 概述 在基于redis实现分布式session开发时,发现设置了session超时后怎么也不生效,我分别进行了两处设置: server: servlet: session: timeout: 300 # 5分钟 spring: session: timeout: 300 分别进行了这两处配置后,发现我们session并没有正确的设置为5分钟,还是默认的30分钟。 2 原因 当使用redis作为共享session时,会涉及到以下几个

shangcunshanfu的博客 4015

TempData本质解析:Mvc中跨请求状态传递的核心机制

TempData是ASP.NET MVC中实现Post-Redirect-Get(PRG)模式的关键状态传递机制,其底层并非独立存储,而是基于Session或Cookie的‘一次性读取’语义封装。它通过标记位+延迟清除策略保障跨Action重定向时的瞬时数据可靠性,同时依赖ITempDataProvider抽象实现存储解耦。在分布式场景下,TempData失效往往源于Session未共享或提供器选型不当;而Keep/Peek方法则提供了对默认‘读即销毁’行为的可控干预。理解TempData的生命周期管理与存

dejz8829的专栏 500

.NET Framework 1.0到4.0演进本质:设计哲学与底层机制解构

.NET Framework并非单纯的功能叠加,而是面向不同硬件约束、部署环境与开发范式的系统性抽象升级。其核心围绕CLR运行时机制、内存管理模型(如分代GC、LOH优化)、异步与并发模型(TPL/async)、声明式编程(LINQ/Expression Tree)及安全模型(CAS→Claims→RBAC)持续演进。理解这些底层原理,有助于规避GAC冲突、GC风暴、线程阻塞、序列化异常等典型问题,并支撑.NET Framework向.NET Core/.NET 5+的平滑迁移。本文聚焦1.0至4.0关键版

534

使用 sessionState mode="StateServer",在开启了状态服务后,还是报错:无法向会话状态服务器发出会话状态请求。...

  最近项目采用了“StateServer”模式来保存session,即配置:<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="6000" />   在 ASP.NET State Service(ASP.NET状态服务)...

weixin_30512043的博客 923

LVGL v9的lv_scale控件实战:5分钟打造动态仪表盘(附完整代码)

本文详细介绍了LVGL v9中lv_scale控件的实战应用,通过5个关键步骤快速打造动态仪表盘。文章涵盖核心特性解析、代码实现、样式定制及性能优化,适用于工业HMI、智能家居等场景,并附完整代码示例。

gin88的博客 262

Session 共享(StateServer模式)(原创)

Session 共享要注意两点: 1、必须在同一个域名下 2、StateServer模式是把session保存在同一台服务器上的进程:aspnet_state.exe里面,当然也可以保存在memcache和数据库里,这个下一节再讲。   web.config设置: &lt;machineKey decryptionKey="FD69B2EB9A11E3063518F1932E314...

weixin_34150224的博客 206

【论文阅读1】机理引导的残差学习用于电池全生命周期状态监测 | Nature Communications

本文提出了一种机理引导的残差学习框架,用于提升电池全生命周期内荷电状态(SOC)和健康状态(SOH)的监测精度。该方法融合等效电路模型的先验知识与机器学习,设计了修正模型和补偿模型两种通用框架。实验验证表明,该方法在三种不同类型电池数据集上均表现出色,SOC和SOH估计误差较传统方法降低50%以上,且在未见工况下仍保持良好外推能力。模型具有强鲁棒性,在减少训练数据量和降低采样频率时性能稳定,并兼具物理可解释性。该框架无需离线测试和运行中校准,为电池安全监测提供了有效解决方案。

qq_21843433的博客 615

Unidbg补环境实战:复现Shopee风控Native层运行环境

Android App风控已从HTTP层签名校验,演进为深度依赖Native层系统调用与硬件特征的多维验证。其核心原理在于通过JNI桥接Java与Native代码,调用openat、sysconf、getrandom等系统接口读取/proc、/sys、/dev等路径的真实状态,并结合SELinux策略、CPU拓扑、分区哈希等硬性指标构建设备可信画像。这种技术架构显著提升了对抗黑灰产的能力,但也对逆向分析与自动化调用提出更高要求——必须精准模拟底层环境而非仅Hook逻辑。Unidbg补环境正是为此而生:它支持

weixin_30533109的博客 636

分布式保存Session 和 StateServer 解决 Session过期

分布式保存Session 和 StateServer 解决 Session过期

High_Mount的专栏 972

tiktok算法协议研究

经过上述分析,可以确定目标字符串来源于一段 JSON 数据,而这段 JSON 数据来自于一个经过加密的本地文件。对字符串 "sdi_v2" 进行 SHA-1 计算,得到 20 字节的结果;将第一步得到的数据进行MD5计算,生成16字节的结果;将第二步的结果转换为十六进制字符串,从而得到 32 字节的密钥。写这种算法分析的帖子真的是太无聊了,就先分析到这里吧,后续有机会再来谈下被加密的本地文件是怎么来的!!自我感觉TT的算法并不难,就是量太大了,所以我想问问有没有感兴趣的朋友来一起分析,欢迎联系。

2503_90751938的博客 2575

Session 详解

摘要:本文探讨了Web开发中的会话(Session)机制实现。首先通过商店会员活动案例引出会话概念,解释了HTTP无状态协议下需要会话管理的原因。详细分析了不同Web平台对Session的实现方式,重点介绍了ASP.NET中Session的配置选项(mode、cookieless等)和常见Session丢失原因。针对Session共享和负载均衡场景提出了解决方案,并指出传统Session的并发缺点。最后建议可考虑替代方案如cookie加密、Redis等存储登录状态。文章还包含了Session序列化问题和简单

FeJerry的专栏 75

微信小程序推送微信服务号模板消息

微信小程序中发送微信服务号模板消息,无需用户手动确认订阅,无需绑定开放平台,无需使用UnionId。

qq_20751269的博客 1556

VGG16

VGG16学习笔记

一去不复返的通信er 1177

分布式中使用Redis实现Session共享(二)

  上一篇介绍了一些redis的安装及使用步骤,本篇开始将介绍redis的实际应用场景,先从最常见的session开始,刚好也重新学习一遍session的实现原理。在阅读之前假设你已经会使用nginx+iis实现负载均衡搭建负载均衡站点了,这里我们会搭建两个站点来验证redis实现的session是否能共享。 阅读目录 Session实现原理 session共享实现方案 问题拓展 ...

weixin_34148456的博客 87

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

基于redis实现分布式Session

学习到好的知识还是需要记录下来的。 开发环境 asp.net mvc4,iis。asp.net 自带的session机制存在诸多不好的地方。先只要列出几点。 asp.net mvc 默认的session模式mode为InProc。很多向我这样的菜鸟是没有意识去修改它的。这模式下的话是session的保存的东西是存储在服务器内存的。而服务器的资源是有限的,当用户访问量大的时候,对服务器的内存...

weixin_30545285的博客 132

出现 Tomcat:HTTP状态 404 - 未找到解决方法(图文分析)

出现如下问题 HTTP状态 404 - 未找到 类型 状态报告 消息 请求的资源[/ajax_war_exploded/]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。 Apache Tomcat/8.5.69 解决方法如下: 网上中的操作有步操作多数都误导 这个部署的环境目录上面是web.xml 下面的目录路径是web即可不用到webapp 保存重启服务器即可使用 其他配置中启动tomcat的操作具体 JRE 1.8 ...

码农研究僧的博客 13万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

(转)分布式中使用Redis实现Session共享(二)

  上一篇介绍了一些redis的安装及使用步骤,本篇开始将介绍redis的实际应用场景,先从最常见的session开始,刚好也重新学习一遍session的实现原理。在阅读之前假设你已经会使用nginx+iis实现负载均衡搭建负载均衡站点了,这里我们会搭建两个站点来验证redis实现的session是否能共享。 阅读目录 Session实现原理 session共享实现方案 问题拓...

weixin_33937778的博客 90

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

在SharePoint 2010程序中使用Session

很多开发人员喜欢在ASP.NET程序中使用Session,用它来记录当前登录用户的一些信息。但是在SharePoint 2010系统中,默认是禁用Session功能的。如果在一个应用程序中使用了Session,你很可能会发现代码会抛出一个“引用的对象没有实例化”异常。如果通过Visual Studio调试一下代码,就能发现HttpContext.Session属性返回的是null。 要在一个

GuojingDua的专栏 973

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ASP.NET状态管理原理与实战决策指南

Web应用的状态管理,本质是应对HTTP无状态协议带来的数据连续性挑战。其核心原理在于权衡客户端与服务端的计算、存储和网络资源:客户端方案(如QueryString、Hidden Field、Cookie)降低服务器压力但增加传输负担与安全风险;服务端方案(如Session、ViewState、ApplicationState)保障一致性却影响扩展性与性能。在云原生与高并发场景下,合理选择状态载体——区分数据生命周期、敏感性、体积及集群需求——直接决定系统可维护性与伸缩能力。本文结合ASP.NET典型机制,

diaoqi6581的博客 362

ASP.NET状态管理实战:六种方案选型与生产避坑指南

状态管理是Web开发中连接用户、请求与数据的核心机制,其本质并非简单存储,而是围绕时效性、作用域和可靠性三维度展开的工程权衡。在ASP.NET生态中,ViewState、Session、Cookie、Application、HttpRuntime.Cache及数据库临时表各具适用边界:ViewState保障页面级PostBack状态自洽,Session需结合StateServer或SQLServer应对Web Farm挑战,Cookie凭借HttpOnly/Secure/SameSite配置成为安全认证态载

clugcpne10995的博客 396
上一篇: Visual Studio 2008操作技巧
下一篇: Web前端-HTTP Cache-control
netbug2009
博客等级 码龄17年 21粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值