﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-不再回头 .net学习日记＆资料-随笔分类-.Net 2.0</title><link>http://www.cnitblog.com/sfep/category/2218.html</link><description>我再也不愿听你要求 我受够了你那些自私要求</description><language>zh-cn</language><lastBuildDate>Fri, 30 Sep 2011 10:10:08 GMT</lastBuildDate><pubDate>Fri, 30 Sep 2011 10:10:08 GMT</pubDate><ttl>60</ttl><item><title>linkgate 保护下的东西也可以下载啊</title><link>http://www.cnitblog.com/sfep/archive/2006/11/08/18947.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Wed, 08 Nov 2006 00:19:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/11/08/18947.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/18947.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/11/08/18947.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/18947.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/18947.html</trackback:ping><description><![CDATA[linkgate 保护下的东西也可以下载啊<br /><br />今天把linkgate　保护下的东西给下载到了　爽哦　这下可以狂采集音乐了<br /><br />7i24 的这个东西卖倒是高价　可东西还是不怎么样啊<br /><br /><br />不过iis的插件　保护音乐很难　只要给听　总有办法能下载到吧<br /><br />以前用的是　纵横IIS防盗链嗅探狗 用这个来防盗连　不过这东西很垃圾　ＣＰＵ使用很高　有时候ＩＩＳ死掉（至少我遇到过一次）<br /><br />而且他服务端得到用户ＩＰ的时候　有时候会是个域名　这样和网页调用中得到的ip就不一样了　结果很多用户听不了　歌曲　伤心<br /><br />自己写了个　防盗　防下的　程序　用asp.net写的　也很爽哦　只是不能控制　带宽和线程　但防菜鸟下载歌曲足够了　最中要的是盗链给防了<br /><br />用了自己这个程序后　服务器ＣＵＰ使用低的可怜...　<img src ="http://www.cnitblog.com/sfep/aggbug/18947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-11-08 08:19 <a href="http://www.cnitblog.com/sfep/archive/2006/11/08/18947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用的DES对称加密</title><link>http://www.cnitblog.com/sfep/archive/2006/09/25/17291.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Sun, 24 Sep 2006 16:01:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/09/25/17291.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/17291.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/09/25/17291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/17291.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/17291.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System.IO<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System.Text<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System.Diagnostics<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System.Security.Cryptography<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">Imports</span>
				<span style="COLOR: #000000"> System.Text.RegularExpressions<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">'</span>
				<span style="COLOR: #008000">使用标准DES对称加密</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />'</span>
				<span style="COLOR: #008000">skey 为长度为8的字符 如：12345678</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />'</span>
				<span style="COLOR: #008000">此方法用64位加密</span>
				<span style="COLOR: #008000">
						<br />
						<img id="Codehighlighter1_214_1087_Open_Image" onclick="this.style.display='none'; Codehighlighter1_214_1087_Open_Text.style.display='none'; Codehighlighter1_214_1087_Closed_Image.style.display='inline'; Codehighlighter1_214_1087_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_214_1087_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_214_1087_Closed_Text.style.display='none'; Codehighlighter1_214_1087_Open_Image.style.display='inline'; Codehighlighter1_214_1087_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">Public</span>
				<span style="COLOR: #000000"> </span>
				<span id="Codehighlighter1_214_1087_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Function EncryptDes()</span>
				<span id="Codehighlighter1_214_1087_Open_Text">
						<span style="COLOR: #0000ff">Function</span>
						<span style="COLOR: #000000"> EncryptDes(</span>
						<span style="COLOR: #0000ff">ByVal</span>
						<span style="COLOR: #000000"> SourceStr </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">'</span>
						<span style="COLOR: #008000">get encodekey string from web.config</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> skey </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    skey </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ConfigurationSettings.AppSettings(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">EnCodeKey</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">'</span>
						<span style="COLOR: #008000">put the input string into the byte array</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> des </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> DESCryptoServiceProvider </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> DESCryptoServiceProvider()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> inputByteArray </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">Byte</span>
						<span style="COLOR: #000000">()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    inputByteArray </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> Encoding.Default.GetBytes(SourceStr)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">'</span>
						<span style="COLOR: #008000">set encrypt object and skey</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    des.Key </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ASCIIEncoding.ASCII.GetBytes(skey)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    des.IV </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ASCIIEncoding.ASCII.GetBytes(skey)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> ms </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> MemoryStream </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> MemoryStream()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> cs </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> CryptoStream </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> sw </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> StreamWriter </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> StreamWriter(cs)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    sw.Write(SourceStr)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    sw.Flush()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cs.FlushFinalBlock()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ms.Flush()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Return</span>
						<span style="COLOR: #000000"> Convert.ToBase64String(ms.GetBuffer(), </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, ms.Length)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span>
						<span style="COLOR: #0000ff">End Function</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">'</span>
				<span style="COLOR: #008000">使用标准DES对称解密</span>
				<span style="COLOR: #008000">
						<br />
						<img id="Codehighlighter1_1110_1812_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1110_1812_Open_Text.style.display='none'; Codehighlighter1_1110_1812_Closed_Image.style.display='inline'; Codehighlighter1_1110_1812_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_1110_1812_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1110_1812_Closed_Text.style.display='none'; Codehighlighter1_1110_1812_Open_Image.style.display='inline'; Codehighlighter1_1110_1812_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">Public</span>
				<span style="COLOR: #000000"> </span>
				<span id="Codehighlighter1_1110_1812_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Function DecryptDes()</span>
				<span id="Codehighlighter1_1110_1812_Open_Text">
						<span style="COLOR: #0000ff">Function</span>
						<span style="COLOR: #000000"> DecryptDes(</span>
						<span style="COLOR: #0000ff">ByVal</span>
						<span style="COLOR: #000000"> SourceStr </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">'</span>
						<span style="COLOR: #008000">get encodekey string from web.config</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> sKey </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">String</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    sKey </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ConfigurationSettings.AppSettings(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">EnCodeKey</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">'</span>
						<span style="COLOR: #008000">put the input string into the byte array</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> des </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> DESCryptoServiceProvider </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> DESCryptoServiceProvider()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    des.Key </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ASCIIEncoding.ASCII.GetBytes(sKey)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    des.IV </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ASCIIEncoding.ASCII.GetBytes(sKey)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> buffer </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">Byte</span>
						<span style="COLOR: #000000">() </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> Convert.FromBase64String(SourceStr)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> ms </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> MemoryStream </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> MemoryStream(buffer)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> cs </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> CryptoStream </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Dim</span>
						<span style="COLOR: #000000"> sr </span>
						<span style="COLOR: #0000ff">As</span>
						<span style="COLOR: #000000"> StreamReader </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">New</span>
						<span style="COLOR: #000000"> StreamReader(cs)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">Return</span>
						<span style="COLOR: #000000"> sr.ReadToEnd()<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span>
						<span style="COLOR: #0000ff">End Function</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>使用的DES对称加密<br /><img src ="http://www.cnitblog.com/sfep/aggbug/17291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-09-25 00:01 <a href="http://www.cnitblog.com/sfep/archive/2006/09/25/17291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dgridview Diy</title><link>http://www.cnitblog.com/sfep/archive/2006/08/28/16090.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Mon, 28 Aug 2006 11:39:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/08/28/16090.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/16090.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/08/28/16090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/16090.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/16090.html</trackback:ping><description><![CDATA[
		<p>自己不会看到别人的代码　就Copy一下了</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">foreach</span>
				<span style="COLOR: #000000"> (GridViewRow myrow </span>
				<span style="COLOR: #0000ff">in</span>
				<span style="COLOR: #000000"> GridView1.Rows)<br /><img id="Codehighlighter1_58_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_321_Open_Text.style.display='none'; Codehighlighter1_58_321_Closed_Image.style.display='inline'; Codehighlighter1_58_321_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_58_321_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_58_321_Closed_Text.style.display='none'; Codehighlighter1_58_321_Open_Image.style.display='inline'; Codehighlighter1_58_321_Open_Text.style.display='inline';" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />            </span>
				<span id="Codehighlighter1_58_321_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.cnitblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_58_321_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                DropDownList ddl </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> (DropDownList)myrow.FindControl(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">DropDownList1</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                ddl.DataSource </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> ds;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                ddl.DataValueField </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">userid</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                ddl.DataTextField </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">username</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                ddl.DataBind();<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />            }</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.cnitblog.com/sfep/aggbug/16090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-08-28 19:39 <a href="http://www.cnitblog.com/sfep/archive/2006/08/28/16090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>.Net 2.0 发送Email</title><link>http://www.cnitblog.com/sfep/archive/2006/06/27/12910.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Mon, 26 Jun 2006 21:17:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/06/27/12910.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/12910.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/06/27/12910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/12910.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/12910.html</trackback:ping><description><![CDATA[
		<p>命名空间 System.Net.Mail</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">            </span>
				<span style="COLOR: #0000ff">Dim</span>
				<span style="COLOR: #000000"> mg </span>
				<span style="COLOR: #0000ff">As</span>
				<span style="COLOR: #000000"> MailMessage </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">New</span>
				<span style="COLOR: #000000"> MailMessage(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">xxx@126.com</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">, sTo, sSubject, aMessage)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />            mg.IsBodyHtml </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">True</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />            mg.BodyEncoding </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> System.Text.Encoding.GetEncoding(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">gb2312</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: #0000ff">Dim</span>
				<span style="COLOR: #000000"> client </span>
				<span style="COLOR: #0000ff">As</span>
				<span style="COLOR: #000000"> SmtpClient </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">New</span>
				<span style="COLOR: #000000"> SmtpClient(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">smtp.126.com</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />            client.Credentials() </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">New</span>
				<span style="COLOR: #000000"> Net.NetworkCredential(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">xxxx</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">xxx</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">)<br /><img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />            client.Send(mg)</span>
		</div>
<img src ="http://www.cnitblog.com/sfep/aggbug/12910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-06-27 05:17 <a href="http://www.cnitblog.com/sfep/archive/2006/06/27/12910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>asp.net 2.0中加密web.config</title><link>http://www.cnitblog.com/sfep/archive/2006/03/28/8148.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Mon, 27 Mar 2006 22:12:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/03/28/8148.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/8148.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/03/28/8148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/8148.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/8148.html</trackback:ping><description><![CDATA[
		<p>在asp.net 2.0中,可以很方便地加密web.config文件里的敏感信息了.比如如果有权限操作服务器的话,<br />可以用下面的方法加密web.config里的敏感信息,比如要加密数据库连接串<br />aspnet_regiis -pe "connectionStrings" -app "/应用程序的名字"</p>
		<p>如果没权限的话,可以在程序里动态实现</p>
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080">1</span>
				<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">Configuration config </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Configuration.GetWebConfiguration(Request.ApplicationPath);<br /></span>
				<span style="COLOR: #008080">2</span>
				<span style="COLOR: #000000">
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />ConfigurationSection section </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> config.Sections[</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">connectionStrings</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">];<br /></span>
				<span style="COLOR: #008080">3</span>
				<span style="COLOR: #000000">
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /> section.ProtectSection (</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">DataProtectionConfigurationProvider</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /></span>
				<span style="COLOR: #008080">4</span>
				<span style="COLOR: #000000">
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" /> config.Update ();<br /></span>
				<span style="COLOR: #008080">5</span>
				<span style="COLOR: #000000">
						<img src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.cnitblog.com/sfep/aggbug/8148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-03-28 06:12 <a href="http://www.cnitblog.com/sfep/archive/2006/03/28/8148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用asp.net 2.0构建企业级门户平台（2、实现页面请求的调度） </title><link>http://www.cnitblog.com/sfep/archive/2006/03/25/8068.html</link><dc:creator>不再回头</dc:creator><author>不再回头</author><pubDate>Fri, 24 Mar 2006 21:39:00 GMT</pubDate><guid>http://www.cnitblog.com/sfep/archive/2006/03/25/8068.html</guid><wfw:comment>http://www.cnitblog.com/sfep/comments/8068.html</wfw:comment><comments>http://www.cnitblog.com/sfep/archive/2006/03/25/8068.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/sfep/comments/commentRss/8068.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/sfep/services/trackbacks/8068.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Times New Roman" color="#000000" size="3">
						<span style="COLOR: #666699">
								<font face="Times New Roman" color="#000000" size="3">
										<span style="COLOR: #666699">
												<font face="Times New Roman" color="#000000" size="3">
														<span style="COLOR: #666699">
																<font face="Times New Roman" color="#000000" size="3">页面调度采用了UrlRewrite技术，关于该技术的资料可以参考我转发的一篇文章：<a href="http://erpcrm.cnblogs.com/articles/232924.html">http://erpcrm.cnblogs.com/articles/232924.html</a><br /><br />首先，让我们新建一个网站（我使用的是 VWD 2005 Express BETA2）。<br /></font>
														</span>
												</font>
										</span>
								</font>
						</span>
				</font>
				<font face="Times New Roman" color="#000000" size="3">
						<span style="COLOR: red">
								<font face="Times New Roman" color="#000000" size="3">
										<span style="COLOR: red">
												<font face="Times New Roman" color="#000000" size="3">
														<span style="COLOR: red">
																<font style="COLOR: red" face="Times New Roman" color="#000000" size="3">1、添加一个default.aspx ,</font>
														</span>
												</font>
										</span>
										<br />
								</font>
						</span>该窗体不需要做什么工作，它的存在只有一个意义，就是告诉IIS 把类似的请求（<a href="http://www.xxx.com/">www.xxx.com/</a>）转过来，否则的话，ASP.NET是截获不到这种请求的。<br /><span style="COLOR: red">2、我们在哪截获用户的请求呢？<br /></span>当然是Global.asax了（当然了，你可以把代码放到Global.asax.cs中，或者自己实现IHttpModuler来达到类似的效果）。<br />代码如下：</font>
		</p>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid; HEIGHT: 45px">
				<div>
						<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #000000">；Global.asax文件，只有一行，可以看出具体的代码文件都在Global.asax.cs里面<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #000000">&lt;%</span>
						<span style="COLOR: #000000">@ Application Language</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">C#</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000"> CodeBehind</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">Global.asax.cs</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000"> Inherits</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">Global</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">%&gt;</span>
				</div>
		</div>
		<br />
		<font face="宋体, MS Song">Global.asax.cs文件：<br /></font>
		<div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
				<div>
						<font face="宋体, MS Song">
								<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />
						</font>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Data;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Configuration;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web.Security;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web.UI;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web.UI.WebControls;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web.UI.WebControls.WebParts;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> System.Web.UI.HtmlControls;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">class</span>
						<span style="COLOR: #000000"> Global : System.Web.HttpApplication<br /><img id="Codehighlighter1_287_941_Open_Image" onclick="this.style.display='none'; Codehighlighter1_287_941_Open_Text.style.display='none'; Codehighlighter1_287_941_Closed_Image.style.display='inline'; Codehighlighter1_287_941_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /></span>
						<span id="Codehighlighter1_287_941_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						</span>
						<span id="Codehighlighter1_287_941_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">protected</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">void</span>
								<span style="COLOR: #000000"> Application_BeginRequest(Object sender, EventArgs e)<br /><img id="Codehighlighter1_369_934_Open_Image" onclick="this.style.display='none'; Codehighlighter1_369_934_Open_Text.style.display='none'; Codehighlighter1_369_934_Closed_Image.style.display='inline'; Codehighlighter1_369_934_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />      </span>
								<span id="Codehighlighter1_369_934_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								</span>
								<span id="Codehighlighter1_369_934_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />       <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />              String appPath </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> Request.AppRelativeCurrentExecutionFilePath;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />              </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000"> (appPath.StartsWith(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">~/Admin/</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">, </span>
										<span style="COLOR: #0000ff">true</span>
										<span style="COLOR: #000000">, </span>
										<span style="COLOR: #0000ff">null</span>
										<span style="COLOR: #000000">))<br /><img id="Codehighlighter1_514_544_Open_Image" onclick="this.style.display='none'; Codehighlighter1_514_544_Open_Text.style.display='none'; Codehighlighter1_514_544_Closed_Image.style.display='inline'; Codehighlighter1_514_544_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />        </span>
										<span id="Codehighlighter1_514_544_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										</span>
										<span id="Codehighlighter1_514_544_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />            </span>
												<span style="COLOR: #0000ff">return</span>
												<span style="COLOR: #000000">;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />        </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000"> (appPath.Equals(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">~/WebResource.axd</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">, StringComparison.OrdinalIgnoreCase))<br /><img id="Codehighlighter1_639_669_Open_Image" onclick="this.style.display='none'; Codehighlighter1_639_669_Open_Text.style.display='none'; Codehighlighter1_639_669_Closed_Image.style.display='inline'; Codehighlighter1_639_669_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />        </span>
										<span id="Codehighlighter1_639_669_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										</span>
										<span id="Codehighlighter1_639_669_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />            </span>
												<span style="COLOR: #0000ff">return</span>
												<span style="COLOR: #000000">;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />        </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000"> (appPath.StartsWith(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">~/ApplicationTemplate/</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">, StringComparison.OrdinalIgnoreCase))<br /><img id="Codehighlighter1_773_803_Open_Image" onclick="this.style.display='none'; Codehighlighter1_773_803_Open_Text.style.display='none'; Codehighlighter1_773_803_Closed_Image.style.display='inline'; Codehighlighter1_773_803_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />       </span>
										<span id="Codehighlighter1_773_803_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />            </span>
												<span style="COLOR: #0000ff">return</span>
												<span style="COLOR: #000000">;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />               <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">this</span>
										<span style="COLOR: #000000">.Context.RewritePath(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">~/ApplicationTemplate/DefaultTemplate.aspx</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);                 <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
								</span>
								<span style="COLOR: #000000">  <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />
						</span>
				</div>
		</div>从以上的代码可以看出：<br />除那三个特殊的路径外，其它的请求全部重写到<span style="COLOR: #000000">"</span><span style="COLOR: #000000">~/ApplicationTemplate/DefaultTemplate.aspx</span><span style="COLOR: #000000">"，<br />那么</span><span style="COLOR: #000000"> DefaultTemplate.aspx 包含什么呢？      </span><br />让我们新建一个文件夹 ApplicationTemplate 在该文件夹下新建一个web窗体 DefaultTemplate.aspx。<br />只 是为了演示UrlRewrite，DefaultTemplate.aspx中你可以输入一些简单的内容，如：“这是一个默认的模版”；<br />这样当我们请求“/default.aspx”时，呈现在我们面前的页面是DefaultTemplate.aspx的内容。<br />不信？你先动手试试吧！<br /><br /><span style="COLOR: red">3、如果我们想 把 / 重写到 ApplicatonTemplate/defaultTemplate.aspx,而把 /product/ 重写到ApplicationTemplate/ProductTemplate.aspx，怎么做呢？<br /></span><br />首先我们在ApplicationTemplate文件夹下，添加一个ProductTemplate.aspx。<br />我们可能会想到在 Global.asax.cs 的 Application_BeginReque方法里再添加一个对路径的判断，显然这是不灵活的。<br />怎么更灵活呢？就让我们来设计一个页面调度引擎吧！<br />在这里，我们叫他 ApplicationManager。<br />添加一个类文件 ApplicationManager.cs ，   VWD提示我们要把它放到 App_Code目录下，就按它说的办吧！<br /><br />该类有个方法叫  String  GetNewPath（String  oldPath）;<br />我们要这个方法输入“/ default.aspx”返回 “~/ApplicationTemplate/DefaultTemplate.aspx”,<br />输入"/product/" 返回 “~/ApplicationTemplate/ProductTemplate.aspx” <br />如果输入的是“/Admin”,还应该返回“/Admin”。<br /><br />我们假定GetNewPath（）方法有这个功能，那么让我们改造一下 ：Applicaton_BeginReques;<br /><br /><div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"><div><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Application_BeginRequest(Object sender, EventArgs e)<br /><img id="Codehighlighter1_73_303_Open_Image" onclick="this.style.display='none'; Codehighlighter1_73_303_Open_Text.style.display='none'; Codehighlighter1_73_303_Closed_Image.style.display='inline'; Codehighlighter1_73_303_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_73_303_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_73_303_Closed_Text.style.display='none'; Codehighlighter1_73_303_Open_Image.style.display='inline'; Codehighlighter1_73_303_Open_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span><span id="Codehighlighter1_73_303_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_73_303_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />       <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />        String appPath </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Request.AppRelativeCurrentExecutionFilePath;<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />   String newPath </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ApplicationManager.GetNewPath(appPath) <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(newPath </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> appPath)<br /><img id="Codehighlighter1_244_282_Open_Image" onclick="this.style.display='none'; Codehighlighter1_244_282_Open_Text.style.display='none'; Codehighlighter1_244_282_Closed_Image.style.display='inline'; Codehighlighter1_244_282_Closed_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_244_282_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_244_282_Closed_Text.style.display='none'; Codehighlighter1_244_282_Open_Image.style.display='inline'; Codehighlighter1_244_282_Open_Text.style.display='inline';" src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span id="Codehighlighter1_244_282_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_244_282_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /> </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.Context.RewritePath(newPath);<br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000">              <br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://erpcrm.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div></div><br />今天先到这，我的下一篇文章会把源码提供出来，也许会和本文中的不太一致，但意思不会差。<br /><br /><br /><div class="itemdesc">posted @ <a title="permalink" href="http://erpcrm.cnblogs.com/archive/2005/09/09/233181.html">2005-09-09 12:31</a> WIND 阅读(757) | <a title="comments, pingbacks, trackbacks" href="http://erpcrm.cnblogs.com/archive/2005/09/09/233181.html#FeedBack">评论 (2)</a> | <a href="http://erpcrm.cnblogs.com/admin/EditPosts.aspx?postid=233181">编辑</a> <a href="http://erpcrm.cnblogs.com/AddToFavorite.aspx?id=233181">收藏</a></div><div class="seperator"> </div><div class="posttitle"><a class="posttitle" id="_1e7ffa6906de_HomePageDays_DaysList_ctl01_DayItem_DayList_ctl03_TitleUrl" href="http://erpcrm.cnblogs.com/archive/2005/09/09/233112.html">利用asp.net 2.0构建企业级门户平台（1、设计思想）</a></div><span style="FONT-SIZE: 10pt">该门户平台暂定名为：ECubePortal<br />ECubePortal是什么？ <br />ECubePortal是一个类似于CommunityServer和DotNetNuke的企业级的门户平台，实际上它更像SharePoint（功能没有SPS复杂，但比它灵活）。它相比CS和DNN有两个最大的特点：<br />1、URL更友好<br />    CS和DNN里采用这样的Url链接,  <a href="http://www.xxx.com/default.aspx?tabindex=1;www.xxx.com/default.aspx?tabindex=2">www.xxx.com/default.aspx?tabindex=1;www.xxx.com/default.aspx?tabindex=2</a>;<br />    在该平台中是这样   <a href="http://www.xxx.com/product/">www.xxx.com/product/</a>; <a href="http://www.xxx.com/service/">www.xxx.com/service/</a><br />2、该平台中的模块采用的是 webpart，是由.net 2.0直接支持的，不像CS和DNN采用自己的标准。<br />其它的如 主题、皮肤、安全管理等都是建立在.net 2.0基础上，比CS和DNN要灵活方便。<br /><br />一、设计思想<br />先让我们假设一种简单的公司网站需求：<br />有一家叫ECube的公司，想实现一个较简单的公司网站，首先要包含公司简介、产品简介、服务与支持、联系我们四个大栏目，<br />该公司要求，他们自己能够在线定制每个页面的内容，而且还表示如果有可能还要新加栏目(如 在线招聘),而且也希望他们自己能够在线完成。<br />通常我们是如下实现的：<br />先不考虑公司定制的要求，我们新建一个Web项目，然后添加4个页面：<br />default.aspx  //公司简介页面<br />product.aspx //产品页面<br />service.aspx //服务支持页面<br />Contac.aspx //联系我们 页面。<br /><br />然后再填充每个页面的内容，页面间的链接，一个简单的公司网站就完成了。<br />如果考虑客户的深层次需求，事情可能就不是这么简单了，因此就有了CS、DNN。<br />CS、DNN给我们解决类似问题提供了很好的思路。<br />CS中，把网站的主栏目、子栏目都集中存储起来，然后用类似的url 去检索 default.aspx?tabid=1;<br />他们都实现了自定义的HttpModule，由HttpModule来截获用户的请求，然后再组装成一个页面。<br /><br />我的方案也是这个思路，但组装页面部分交给.net webpart 去实现。<br />关于主题、皮肤、安全管理等利用.net 2.0的内部机制。<br /><br />下一步，就让我们先实现一个简单的网站，以展示UrlRewrite的神奇效果。</span><br /><br />参考文档：<a href="http://erpcrm.cnblogs.com/articles/234246.html">http://erpcrm.cnblogs.com/articles/234246.html</a><img src ="http://www.cnitblog.com/sfep/aggbug/8068.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/sfep/" target="_blank">不再回头</a> 2006-03-25 05:39 <a href="http://www.cnitblog.com/sfep/archive/2006/03/25/8068.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>