一切福田,不離方寸,從心而覓,感無不通。

页面超过了最大请求长度问题

今天遇到了这样的事情,“页面超过了最大请求长度问题” “/AppShop”应用程序中的服务器错误。 超过了最大请求长度。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 超过了最大请求长度。 源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪: [HttpException (0x80004005): 超过了最大请求长度。] System.Web.HttpRequest.GetEntireRawContent() +8766626 System.Web.HttpRequest.GetMultipartContent() +62 System.Web.HttpRequest.FillInFormCollection() +168 System.Web.HttpRequest.get_Form() +68 System.Web.HttpRequest.get_HasForm() +8722023 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97 System.Web.UI.Page.DeterminePostBackMode() +63 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +133 问题:在百万行数据表中真分页查询,页面上有一DropDownList用来选择页码,达到十万个下拉项,viewstate=true。         在页面回传时,产生超过了最大请求长度的  问题 分析:这可能是由于viewstate包含数据量过大,引起回传request包含数据量过大。 解决方案:可以在webconfig文件中修改最大请求长度。 <configuration> <system.web> <httpRuntime  maxRequestLength="10000"     ……> </system.web> </configuration> 结果:先设为1000,不通过,设为10000后,通过 总结:或进行二级分页可能更好 FORM:http://www.cnblogs.com/wenanry/archive/2009/04/16/1437094.html

龙生   28 Aug 2014
View Details

主流JS库一览

目前来看,JS框架以及一些开发包和库类有如下几个,Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx Dojo (JS library and UI component ): Dojo 是目前最为强大的j s框架,它在自己的Wiki上给自己下了一个定义,dojo是一个用JavaScript编写的开源的DHTML工具箱。dojo很想做一个“大一统”的 工具箱,不仅仅是浏览器层面的,野心还是很大的。Dojo包括ajax, browser, event, widget等跨浏览器API,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛应用在很多项目中,他的UI组件的 特点是通过给html标签增加tag的方式进行扩展,而不是通过写JS来生成,dojo的API模仿Java类库的组织方式。 用dojo写Web OS可谓非常方便。dojo现在已经4.0了,dojo强大的地方在于界面和特效的封装,可以让开发者快速构建一些兼容标准的界面。 优点:库相当完善,发展时间也比较长,功能强大,据说利用dojo的io.bind()可以实现comet,看见其功能强大非一般,得到IBM和SUN的支持 缺点:文件体积比较大,200多KB,初次下载相当慢,此外,dojo的类库使用显得不是那么易用,j s语法增强方面不如prototype。 Prototype (JS OO library): 是一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,以prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,值得推荐,感觉也是现实中应用最广的库类(RoR集成的AJAX JS库),之上还有 Scriptaculous 实现一些JS组件功能和效果。 优点:基本底层,易学易用,甚至是其他一些js特效开发包的底层,体积算是最小的了。 缺点:如果说缺点,可能就是功能是他的弱项 Scriptaculous (JS UI component based on prototype): Scriptaculous 是基于prototype.js框架的JS效果。包含了6个js文件,不同的文件对应不同的js效果,所以说,如果底层用 prototype的话,做js效果用Scriptaculous那是再合适不过的了,连大名鼎鼎的digg都在用他,可见不一般 优点:基于prototype是最大的优点,由于使用prototype的广泛性,无疑对用户书锦上添花,并且在《ajax in action》中就拿Scriptaculous来讲述js效果 缺点:刚刚兴起,需要时间的磨练 yui-ext (JS UI component): 基 于Yahoo UI的扩展包yui-ext是具有CS风格的Web用户界面组件能实现复杂的Layout布局,界面效果可以和backbase媲美,而且使用纯 javascript代码开发。真正的可编辑的表格Edit Grid,支持XML和Json数据类型,直接可以迁入grid。许多组件实现了对数据源的支持,例如动态的布局,可编辑的表格控件,动态加载的Tree 控件、动态拖拽效果等等。1.0 beta版开始同Jquery合作,推出基于jQuery的Ext 1.0,提供了更多有趣的功能。 优点:结构化,类似于java的结构,清晰明了,底层用到了Jquery的一些函数,使整合使用有了选择,最重要的一点是界面太让让人震撼了。 缺点:太过复杂,整个界面的构造过于复杂。 Jquery : jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优秀的js效果,jQuery可以帮你达到目的!并且简介的语法和高的效率一直是jQuery追求的目标, 优点:注重简介和高效,js效果有yui-ext的选择,因为yui-ext 重用了很多jQuery的函数 缺点:据说太嫩,历史不悠久。 Mochikit : MochiKit 自称为一个轻量级的js框架。MochiKit 主要受到 Python 和 Python 标准库提供的很多便利之处的启发,另外还缓解了浏览器版本之间的不一致性。其中的 MochiKit.DOM 尤其方便,能够以比原始 JavaScript 更友好的方式处理 DOM 对象。MochiKit.DOM 大部分都是针对 XHTML […]

龙生   28 Aug 2014
View Details

在asp.net中发送图片到远程服务器上

发送代码: var imgFile = Request.Files["imgFile"]; if (imgFile == null) return; var img = Image.FromStream(imgFile.InputStream); var ms = new MemoryStream(); img.Save(ms,ImageFormat.Jpeg); var data = new byte[ms.Length]; ms.Seek(0, SeekOrigin.Begin); ms.Read(data, 0, Convert.ToInt32(ms.Length)); ms.Dispose(); var fileName = imgFile.FileName; var fileType = imgFile.ContentType; var fileSize = data.Length.ToString(); var myRequest = WebRequest.Create(Common.ImgUrl + "/upload/UploadImg.aspx"); myRequest.Method = "POST"; myRequest.ContentType = fileType; myRequest.ContentLength = data.Length; myRequest.Headers.Add("FileType", Server.UrlEncode(fileType)); myRequest.Headers.Add("FileSize", fileSize); myRequest.Headers.Add("FileName", Server.UrlEncode(fileName)); myRequest.Headers.Add("dir", Server.UrlEncode(Request["dir"])); using (var newStream = myRequest.GetRequestStream()) { // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); } // Get response var myResponse = myRequest.GetResponse(); […]

龙生   27 Aug 2014
View Details

利用InputStream 属性直接从HttpPostedFile对象读取文本内容

//利用InputStream 属性直接从HttpPostedFile对象读取文本内容 System.IO.Stream MyStream; int FileLen; FileLen = file.ContentLength; // 读取文件的 byte[] byte[] bytes = new byte[FileLen]; MyStream = file.InputStream; MyStream.Read(bytes, 0, FileLen); from:http://blog.csdn.net/yyixin/article/details/5336899

龙生   27 Aug 2014
View Details

WebRequest 对象的使用

from:http://www.cnblogs.com/haogj/archive/2011/06/09/2076708.html

龙生   27 Aug 2014
View Details

使用HttpWebRequest实现大文件上传

Author:xuzhihong Create Date:2011-06-03 Descriptions: WinForm程序使用HttpWebRequest实现大文件上传 概述: 通常在WinForm程序中都是采用WebClient方式实现文件上传功能,本身这个方式没有问题,但是当需要上传大文件比如说(300+M)的时候,那么WebClient将会报内存不足异常(Out of Memory Exceptions),究其原因是因为WebClient方式是一次性将整个文件全部读取到本地内存中,然后再以数据流形式发送至服务器。本文将讲述如何采用HttpWebRequest方式每次读取固定大小数据片段(如4KB)发送至服务器,为大文件上传提供解决方案,本文还将详细讲述将如何将“文件上传”功能做为用户自定义控件,实现模块重用。   关键词:HttpWebRequest、WebClient、OutOfMemoryExceptions   解决方案: 开始我在WinForm项目中实现文件上传功能的时候,是采用WebClient(WebClient myWebClient = new WebClient();)方式,这大部分情况都是正确的,但有时候会出现内存不足的异常(Out of Memory Exceptions),经常测试,发现是由于上传大文件的时候才导致这问题。在网上查阅了一下其他网友的解决方案,最后找的发生异常的原因:“WebClient方式是一次性将整个文件全部读取到本地内存中,然后再以数据流形式发送至服务器”,详细请参考:http://blogs.msdn.com/b/johan/archive/2006/11/15/are-you-getting-outofmemoryexceptions-when-uploading-large-files.aspx 。按照这个解释,那么大文件上传出现内存不足的异常也就不足为奇了。下面我将讲述如何一步步使用HttpWebRequest方式来实现文件分块上传数据流至服务器。 按照惯例还是先预览一下文件上传最后的效果吧,如下图所示:   界面分为两部分,上面是文件基本信息,下面是文件上传自定义控件,我这里实现的是一个案件上传多个监控视频功能。以下是详细步骤: 第一步:创建用户自定义控件BigFileUpload.xaml 文件上传是一个非常常用的功能,为了所写的程序能非常方便地多次重复使用,我决定将其处理为一个用户自定义控件(UserControl)。 我们先在项目中创建一个FileUpload文件夹,在其目录下新建一个WPF自定义控件文件命名为BigFileUpload.xaml,这样就表示文件上传是一个独立的小模块使用。之所以用WPF自定义控件是因为WPF页面效果好看点,而且我想以后可能大部分C/S程序都会渐渐的由WinForm转向WPF吧,当然创建Window Forms用户控件也是没有问题的。然后我们需要做一个下图效果的页面布局:   前台设计代码如下: <UserControl x:Class="CHVM.FileUpload.BigFileUpload" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="160" Width="480"> <Grid Height="160" Width="480" Background="White"> <Label Height="28" HorizontalAlignment="Left" Margin="16,10,0,0" Name="label1" VerticalAlignment="Top" Width="53">文件</Label> <Label HorizontalAlignment="Left" Margin="15,52,0,80" Name="label2" Width="54">进度</Label> <ProgressBar Height="20" Margin="61,52,116,0" Name="progressBar1" VerticalAlignment="Top" /> <TextBox Height="23" Margin="61,12,116,0" Name="txtBoxFileName" VerticalAlignment="Top" /> <Button Height="23" HorizontalAlignment="Right" Margin="0,10,35,0" Name="BtnBrowse" VerticalAlignment="Top" Width="75" Click="BtnBrowse_Click">浏览…</Button> <Button Height="23" HorizontalAlignment="Right" Margin="0,52,35,0" Name="BtnUpload" VerticalAlignment="Top" Width="75" Click="BtnUpload_Click">上传</Button> <Label HorizontalAlignment="Left" Margin="16,0,0,44" Name="lblState" Width="183" Height="35" […]

龙生   27 Aug 2014
View Details

asp.net中使用HttpWebRequest发送上传文件

一个网站中需要上传一个文件到另一个网站,可以使用HttpWebRequest或者WebClient。 但是WebClient需要首先上传文件到服务器,才能执行发送,不太符合我的需求,这里不再介绍。 通过HttpWebRequest发送的原理: 构建一个HttpWebRequest,通过FileUpload获取要上传的文件,通过字节流发送这个文件,另一个网站接收字节流,保存到服务器。 发送程序: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //获取要上传的文件信息        byte[]data=fileupload1.FileBytes;        stringfileName=fileupload1.FileName;        stringfileType=fileupload1.PostedFile.ContentType;        stringfileSize=data.Length.ToString();        HttpWebRequest myRequest=(HttpWebRequest)WebRequest.Create("http://localhost:8102/Default.aspx");        myRequest.Method="POST";        myRequest.ContentType=fileType;        myRequest.ContentLength=data.Length;        myRequest.Headers.Add("FileType",Server.UrlEncode(fileType));        myRequest.Headers.Add("FileSize",fileSize);        myRequest.Headers.Add("FileName",Server.UrlEncode(fileName));        using(Stream newStream=myRequest.GetRequestStream())        {            // Send the data.            newStream.Write(data,0,data.Length);            newStream.Close();        }        // Get response        HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();        StreamReader reader=newStreamReader(myResponse.GetResponseStream(),Encoding.UTF8);        stringcontent=reader.ReadToEnd(); 接收程序: 0 1 2 3 4 5 6 7 8 9 10 stringfileName=Server.UrlDecode(Request.Headers["FileName"].ToString());            stringfileType=Server.UrlDecode(Request.Headers["FileType"].ToString());            intfileSize=int.Parse(Request.Headers["FileSize"].ToString());            byte[]bytes=Request.BinaryRead(fileSize);            File.WriteAllBytes(Server.MapPath("~/uploadfiles/"+fileName),bytes);            Response.HeaderEncoding=System.Text.Encoding.UTF8;            Response.Charset="utf-8";            Response.Write("FileType:"+fileType+";FileName:"+fileName+";FileSize:"+fileSize); FROM:http://blog.bossma.cn/dotnet/asp-net-httpwebrequest-upload-send-file/

龙生   27 Aug 2014
View Details

8点1氪:亚马逊落户上海自贸区,美国货直邮中国

36氪微信号:wow36kr 亚马逊落户上海自贸区:美国货直邮中国 亚马逊(中国)投资有限公司宣布与自贸区、上海信投达成合作,三方将在自贸区内合作开展跨境电子商务业务,并在自贸区内建立跨境电子商务平台。 三方的合作内容包括:一是建设跨境电子商务平台,为境内外客户购买亚马逊境外网站和中国网站商品提供服务;二是建设物流仓储平台,为中国企业出口商品配送全球提供物流仓储服务;三是利用自贸实验区金融创新政策,优化亚马逊公司融资结构,合作开展跨境电子支付服务; 上海跨境贸易电子商务试点平台,自去年底正式运营以来,目前备案和上线商家已达 32 家,分别来自日本、韩国、澳大利亚、美国、意大利、法国和香港等国家和地区,已进入备案和上线的品种有近万种,形成了一定的品牌集聚效应。 微软推出Windows物联网操作系统预览版 微软现开始向所有 Windows 物联网开发者出货英特尔 Galileo 主板和配套的 Windows 物联网操作系统预览版,并且可以在一系列第三方合作伙伴,如亚马逊,Fry’s 和 newegg.com 购买。 今年早些时候,该公司推出了 Windows 物联网开发者计划,目的是为小物件装上 Windows 操作系统,微软已经向少数指定的开发者出货少量英特尔 Galileo 主板,和相应的特制 Windows 操作系统 Windows 物联网操作系统是一个“Windows8.1 的非商业版本”,预览版的推出,是微软进军物联网计划的一个重要步骤,让制造商和开发人员创建,产生新的想法,并提供反馈,以帮助微软继续改 Windows 物联网操作系统。 谷歌眼镜新专利曝光:与普通眼镜无外观差异 美国专利商标局于 8 月 12 日批准了谷歌一项将用于“可穿戴式显示设备”的外观设计专利。根据该专利提供的草图,未来谷歌眼镜或将不再有置于镜框外右侧的微型显示屏,取而代之的将是一款电子元件全部内置,且从外观看来与普通眼镜并无差异的设备。 专利持有人 Heinrich 在其个人网站上对该项专利的描述为:“早期机械结构布局。为有关设备的发布引导消费商品包装的开发。考虑了人类因素和物理模型,以适应更多的人配戴。结合了骨传导音频系统,包括元件设计和测试等。大量的高保真和低保真原型开发。” 专利适用于“可穿戴式显示设备”,从外观看与普通眼镜框无明显差异。与当前谷歌眼镜相比,新设计将外置的显示屏幕放在了右侧镜框的内部。 三星首款Nook平板电脑巴诺开卖 三星今天与 Barnes&Noble 联手发布了 Galaxy Tab 4 Nook 平板电脑。这款产品基本上是三星现有 Galaxy Tab 4 平板电脑更名产品,并且预装了一些 Nook 定制软件,该平板电脑拥有 7 英寸显示屏,分辨率 1280×800,售价 179 美元,和三星 Galaxy Tab 4 平板电脑现有价格基本相同。 Barnes&Noble 于 2012 年发布自己的平板电脑,但很快了结相关业务,前后不到一年时间,Nook 平板电脑亏损让 Barnes&Noble 季度财报难堪,以至于它最终宣布剥离该部门,该部门目前专注于电子书阅读器产品。 亚马逊 Kindle Fire HD 平板电脑只卖 139 美元,而 HDX 版本售价为 229 美元。不过,Nook 平板电脑允许访问完整的谷歌 Play 商店,这意味着应用程序选择将远远超过你亚马逊的平板电脑。 传亚马逊将在印度测试无人机送货服务 […]

龙生   21 Aug 2014
View Details

提升你网站水平的的前端交互效果【附源码】

这里集合的这组 HTML5 & CSS3 效果,有的是网站开发中常用的、实用的功能,有的是先进的 Web 技术的应用演示。不管哪一种,这些案例中的技术都值得我们去探究和学习。 超炫的 HTML5 粒子效果进度条   我喜欢粒子效果作品,特别是那些能够应用于实际的,例如这个由 Jack Rugile 基于 HTML5 Cavnas 编写的进度条效果。看着这么炫的 Loading 效果,即使让我多等一会也无妨:) 源码下载   /   在线演示 使用 CSS3 打造一组质感细腻丝滑的按钮   CSS3 引入了众多供功能强大的新特性,让设计和开发人员能够轻松的创作出各种精美的界面效果。下面这些发出闪亮光泽的按钮,很漂亮吧?把鼠标悬停在按钮上,还有动感的光泽移动效果。 源码下载   /   在线演示 纯 CSS 绘制《辛普森一家》人物头像   一组纯 CSS 绘制的《辛普森一家》人物头像。《辛普森一家》(The Simpsons)是马特·格勒宁为美国福克斯广播公司创作的一部动画情景喜剧。 源码下载   /   在线演示 CSS & jQuery 制作一款漂亮的多彩时钟   大家可能见过各种各样的时钟效果,比如多年前非常流行的 Flash 制作的各种新奇的动画时钟,现在的 Web 开发者们又开始应用 CSS3 和 Canvas 等最新技术来实现。 源码下载    /  在线演示 傻眼了!竟然有如此逼真的雨滴效果   Rainyday.js 是一个轻量的 JavaScript 库,利用 HTML5 Canvas 实现雨滴下落在玻璃表面的动画效果。Rainyday.js 尽可能的模拟现实的雨滴效果,几乎可以以假乱真了。 源码下载   /   在线演示 HTML5 Canvas 模拟可撕裂布料效果   这是一个模拟可撕裂布料效果的 HTML5 Canvas 应用演示,效果逼真。你会看到,借助 Canvas 的强大绘图和动画功能,只需很少的代码就能实现让您屏息凝神的效果。 源码下载   /   在线演示 SVG 实现一个漂亮的页面预加载效果   展示如何使用 CSS 动画, SVG 和 JavaScript 创建一个简单的页面预加载效果。对于网站来说,这些预载入得画面提供了一种创造性的方法,使用户在等待内容加载的时候不会那么无聊。 源码下载   /   在线演示 结合 CSS3 & Canvas 模拟人行走的效果   HTML5 和 CSS3 […]

龙生   21 Aug 2014
View Details

8个前沿的 HTML5 & CSS3 效果【附源码下载】

作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握。前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身手。这篇文章挑选了8个前沿的 HTML5 & CSS3 效果,记得收藏哦:) 温馨提示:为保证最佳的效果,请在 IE10+、Chrome、Firefox 和 Safari 等现代浏览器中浏览。 HTML5 模拟现实物理效果 Ball Pool 是一个基于 HTML5 技术的实验,模拟现实物理效果,让你在 Web 中感受自然物体的运动。玩法介绍:可以随意拖动圆球、点击页面背景、晃动浏览器、双击页面背景或者按住鼠标左键,有不同的效果,赶紧来体验一下。 源码下载     在线演示 实现各种 CSS3 文本动画效果 这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本动画插件,可以让你为网页中的文字运用各种动画。 在线演示   源码下载 离开你网站时显示模态弹窗 Ouibounce 是一个微小的库,用于实现在用户离开你的网站的时候显示一个模式窗口。这个库可以帮助你增加着陆页的转换率。 Ouibounce 会在当鼠标光标移动到接近(或通过)视口(viewport)的顶部的时候触发。 源码下载      在线演示 实现各种好看的阴影效果 Shine.js 是一个用于实现漂亮阴影的 JavaScript 库。您可以设置动态光的位置,可定制的阴影。不依赖于第三方库,兼容 AMD。能在支持 textShadow 或 boxShadow 的浏览器中正常使用,如果有需要会自动添加前缀。 源码下载      在线演示 表单填写进度提示效果 Fort.js 是一款用于时尚、现代的表单填写进度提示效果的 JavaScript 库,你需要做的就是添加表单,剩下的任务就交给 Fort.js 算法了,使用非常简单。提供了Default、Gradient、Sections 以及 Flash 四种效果,满足开发的各种场合需要。 源码下载      在线演示 HTML5 WebGL 实现逼真的云朵效果 使用 HTML5 WebGL 实现超逼真的云朵效果。WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实现3D图像的展示。 源码下载      在线演示 带有数字显示的加载进度条效果 有的时候,在我们的应用程序中,我们希望能够显示特定任务的百分比进度。这里分享的这款小巧的 JavaScript 插件就是实现这个功能,易于使用和定制,而且是是免费开源的。 立即下载      在线演示 自适应的占位符效果 在早期,我们都是通过使用 JavaScript 来实现占位符功能。而现在,HTML5 原生提供的 placeholder 属性让我们在现代浏览器轻松就能实现这样的功能。这里向大家分享一个自适应的占位符效果(Adaptive Placeholder),当你输入的时候,提示文字不会消失,而是以动画的方式移动到了输入框的上方。 源码下载      在线演示

龙生   21 Aug 2014
View Details
1 2 3