上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 85 下一页
摘要: 在博客程序的日志中经常会出现这样的错误日志。从错误内容看,应该是请求的URL路径不对,可是通过Request.Url.AbsoluteUri记录的URL又是正确的,让人丈二和尚摸不着头脑。这个问题存在已久,之前选择了默默地忍受。今天又看到这个错误,突然觉得甚是烦人,不想再忍受,于是决定查出问题真相,并将之消灭。 阅读全文
posted @ 2014-07-07 13:20 dudu 阅读(2127) 评论(2) 推荐(7) 编辑
摘要: 昨天在写代码中一不小心将UserControl写成了Control,将原来应该继承自System.Web.UI.UserControl的用户控件。变成了继承自System.Web.UI.Control,在运行时,访问站点竟然出现503错误。然后打开Windows事件日志,发现原来是w3wp进程崩溃了。 阅读全文
posted @ 2014-07-06 13:33 dudu 阅读(3399) 评论(11) 推荐(3) 编辑
摘要: 在园子博客程序实现异步化改造后,在日志中发现这样的错误提示:System.TimeoutException: 异步操作超出页面超时时间。这个错误说明了某个异步任务的执行时间超出了Page.AsyncTimeout,AsyncTimeout的默认值是45秒,可以通过web.config中的设置进行更改。 阅读全文
posted @ 2014-07-05 14:57 dudu 阅读(1933) 评论(1) 推荐(0) 编辑
摘要: 要在ASP.NET中处理好自定义错误(Custom Errors)首先要抛弃使用web.config\customErrors。使用web.config\customErrors最大的一个缺点是在显示自定义错误页面时会重定向。这会带来2个麻烦: 1. 会造成用户反馈问题时提供的是重定向后的URL。2. 会造成用户无法通过刷新浏览器进行重试,或者问题解决后通过刷新浏览器恢复正常。 阅读全文
posted @ 2014-06-24 10:49 dudu 阅读(18530) 评论(40) 推荐(42) 编辑
摘要: 1. 只返回404 Status Code,自定义404页面在IIS的Error Pages中配置。2. 设置Response.SuppressContent为true,以防有响应内容被发给客户端。3. 以前喜欢用霸道的Response.End()强制中止当前线程,而用Context.ApplicationInstance.CompleteRequest()更温和,也不会引发异常。 阅读全文
posted @ 2014-06-23 17:29 dudu 阅读(3546) 评论(0) 推荐(5) 编辑
摘要: 一个网站如果用的是IIS,只要在浏览器地址栏中输入这个网站的域名并加上“.”,就会引发“Bad Request - Invalid Hostname”错误。如果一个网站用的是ASP.NET(假设没有对以“.”结尾的URL进行重写),只要在一个URL之后加上“.”,ASP.NET中所有的自定义错误设置都形同虚设。 阅读全文
posted @ 2014-06-23 13:41 dudu 阅读(4851) 评论(41) 推荐(12) 编辑
摘要: 在IIS+ASP.NET的运行环境,默认情况下会输出以下的响应头。。。那如何移除这些响应头呢?下面我们来一个一个移除。1. 移除Server;2. 移除X-AspNet-Version;3. 移除X-AspNetMvc-Version;4. 移除X-Powered-By。 阅读全文
posted @ 2014-06-17 14:27 dudu 阅读(17497) 评论(12) 推荐(3) 编辑
摘要: 1. 在.aspx中添加异步标记;2. 在.aspx.cs或者.ascx.cs(用户控件)中添加异步方法;3. 在.aspx.cs或者.ascx.cs的Page_Load或者OnLoad注册异步方法。 阅读全文
posted @ 2014-06-07 17:14 dudu 阅读(7394) 评论(4) 推荐(2) 编辑
摘要: 不知Firefox的哪个版本开始,经常不能正常加载TinyMCE。经过分析发现,出问题时总是停留在加载advhr插件(tiny_mce/plugins/advhr/editor_plugin.js)的地方,一直处于加载状态。在TinyMCE的配置中去掉advhr这个插件后,问题解决。 阅读全文
posted @ 2014-06-04 21:57 dudu 阅读(1556) 评论(2) 推荐(0) 编辑
摘要: 操作步骤如下:1. 运行windbg,File->Attach a Process,选择一个w3wp.exe进程,然后点击OK。2. 在命令窗口输入命令.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll。3. 接着输入命令!threadpool。 阅读全文
posted @ 2014-06-03 15:04 dudu 阅读(1885) 评论(3) 推荐(1) 编辑
摘要: 当处于内核模式的http.sys接收到来自用户的请求之后,会将请求放入队列中。那处于用户模式的w3wp进程如何从内核模式的队列中取出请求呢?I/O完成端口(IOCP,I/O Completion Port)闪亮登场。w3wp专门用了一个线程池干这个——W3TP,可以通过process explorer捕捉到它的身影。 阅读全文
posted @ 2014-05-31 21:29 dudu 阅读(5522) 评论(3) 推荐(0) 编辑
摘要: 一、IIS:应用程序池队列(Application pool queue,位于HTTP.SYS)。这是请求到达IIS后遇到的第一个队列,http.sys收到请求后会将请求放入对应的应用程序池队列,这样可以减少上下文的切换。需要注意的是应用程序池队列虽然是给w3wp进程用的,但它存在于http.sys的内存区。 阅读全文
posted @ 2014-05-30 21:49 dudu 阅读(5628) 评论(4) 推荐(4) 编辑
摘要: 在默认情况下,http.sys kerne mode cache只缓存静态文件。那我们如何让ASP.NET OutputCache直接使用http.sys kerne mode cache?这样缓存的处理性能会更好。解决方法是在IIS的Output Caching设置中,添加一条针对.aspx扩展名的使用kernel-mode caching的缓存规则。 阅读全文
posted @ 2014-05-29 12:59 dudu 阅读(1021) 评论(6) 推荐(1) 编辑
摘要: 万万没有想到!当初为了解决使用负载均衡时记录客户端IP地址的问题,在IIS URL Rewrite Module中增加一条URL重写规则。竟然造成http.sys的内核模式缓存(kernel mode caching)被IIS URL Rewrite Module禁用,禁用理由是重写规则中用到了影响缓存安全的服务器变量。 阅读全文
posted @ 2014-05-28 16:01 dudu 阅读(7983) 评论(11) 推荐(4) 编辑
摘要: 一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它。也期待大家能够多分享解一些解决实际问题的内容。在我们遭遇“黑色30秒”问题的过程中,切身体会到了异步的巨大作用,于是开始逐步地用async/await改造现有代码。 阅读全文
posted @ 2014-05-08 11:10 dudu 阅读(28460) 评论(38) 推荐(23) 编辑
摘要: 最近一直被C#调用Haskell时的“尝试读取或写入受保护的内存”问题所困扰,而且困在其中,越陷超深,无法自拔,差点弃用C#解决我们面临的问题。问题是这样的,只要在Haskell代码中对字符串进行操作,在C#调用时就会引发异常。 阅读全文
posted @ 2014-05-07 14:25 dudu 阅读(11790) 评论(31) 推荐(23) 编辑
摘要: Haskell的代码:readMarkdown与writeHtmlString是pandoc中的函数,newString的作用是将String转换为IO CString。运行C#代码之后,出现错误:Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 阅读全文
posted @ 2014-05-05 12:17 dudu 阅读(13725) 评论(2) 推荐(0) 编辑
摘要: 系统环境:Windows Server 2008 R2,Haskell Platform 2013.2.0.0,ghc 7.6.3,cabal 1.16.0。操作步骤:1. 安装Windows版Haskell Platform;2. 编写Haskell代码保存于.hs文件中;3. 编写C代码保存于.c文件中;编写cabal配置文件保存于.cabal文件中。 阅读全文
posted @ 2014-05-05 10:04 dudu 阅读(2163) 评论(3) 推荐(3) 编辑
摘要: 1. 运行命令cabal install glib时出现错误;2. 运行命令cabal install gtk2hs-buildtools;3. 重新运行命令cabal install glib,出现新的错误;4. 下载/安装GTK+ all-in-one bundle;5. 重新运行命令cabal install glib,出现新的错误。 阅读全文
posted @ 2014-05-04 15:17 dudu 阅读(1567) 评论(0) 推荐(1) 编辑
摘要: 所用环境:Windows Server 2008 + ghc 7.6.3(Haskell Platform 2013.2.0.0自带的) + pandoc 1.12.4。操作步骤:1. 安装Haskell Platform。2. 安装pandoc,安装命令:cabal install pandoc。3. 在命令行中运行ghci。4. 引用pandoc的相应模块。5. 调用pandoc的readMarkdown与writeHtmlString函数。 阅读全文
posted @ 2014-05-03 12:21 dudu 阅读(992) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 85 下一页