惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
B
Blog RSS Feed
罗磊的独立博客
V
V2EX
V
Visual Studio Blog
博客园 - 叶小钗
W
WeLiveSecurity
小众软件
小众软件
K
Kaspersky official blog
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
H
Hacker News: Front Page
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Spread Privacy
Spread Privacy
The Register - Security
The Register - Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
The Last Watchdog
The Last Watchdog
AI
AI
N
News | PayPal Newsroom
D
DataBreaches.Net
Cloudbric
Cloudbric
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - jblzg

用powershell脚本实现Andoird为不同市场编译、签名自动化,效率极大提高 JSON与Protocol Buffers Visual Studio 2008提高工作效率的小技巧 转:批处理获得任意天前的日期 SQL Server 2008 事务日志物理文件尺寸无法减小的解决办法(含日志收缩(shrink)技巧) 用虚拟机实际体验Google Chromium OS (Chrome OS) Pre-Built 2009年互联网5大趋势之一:结构化的数据 由一个案例引出SQL注入防范(WebKnight),补救(数据修复)的思考 参加Google Developer Day 2009归来 宽高比例不固定的用户头像纵向居中的方法(不使用表格、代码精简、图片不变形) Canonical URL Tag - 继SiteMap之后最重要的搜索引擎优化实践 - jblzg 金额字符串转换成Decimal格式的怪问题引发的思考 对常规启用 IIS6.0 Gzip 方法的补充,用于解决wget、curl等无法得到压缩结果的问题 FCKeditor.NET的配置、扩展与安全性经验交流 搜狐博客列表页面分析 ASP.NET Web 开发中的静态资源(JS、CSS、图片)版本控制 避免修改Web.config的appSettings配置时导致的所有页面重编译 参加Google Developer Day 2008归来 一次有趣的Debug——使用Lumigent Log Explorer对SQL Server事务日志进行分析,对SQL Server事务、操作进行撤销(恢复)
网站首页、频道首页静态化的问题
jblzg · 2009-03-04 · via 博客园 - jblzg

我们公司的网站首页、频道首页静态化策略是这样的:

一个服务ServiceA每5分钟会对配置好的网站首页、频道首页源地址分别发起一次请求,然后把请求的数据写入一个Html文档,这个Html文档即静态化的页面。

本来一直工作的很正常,但今天我使用了自定义的500错误页面后出问题了,首页静态页面不定时地呈现出了我自定义的500错误页面,经分析,发现原来没有使用自定义错误页面时,WebResponse的返回结果是一个错误,可以被捕捉到;但使用了自定义错误页面后,WebResponse就把这个错误页面当成了首页的内容了。

接下来就是改进ServiceA了,在获得WebResponse的内容之前先判断返回的HttpStatusCode,只有是200时才返回页面内容,否则返回一个空字符串,附部分代码:

HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(SourceUrl);
wr.Timeout 
= 20000;  // 20秒
HttpWebResponse wResponse = (HttpWebResponse)wr.GetResponse();

if (wResponse.StatusCode == HttpStatusCode.OK)
{
    StreamReader sr 
= new StreamReader(wResponse.GetResponseStream(), System.Text.Encoding.GetEncoding(Encodeing));
    strContent 
= sr.ReadToEnd();
}

在如何获得Http请求的状态代码时颇费一番周折,后来发现WebResponse类是没有 StatusCode 属性的,只有继承于它的HttpWebResponse类才有;另外,HttpWebRequest.GetResponse 返回的类型竟然不是HttpWebResponse,而是WebResponse,难道HttpWebResponse.GetResponse 还会返回非Http的Response?如果有朋友有答案,感谢分享。