RSS 2.0 Feed
2007-12 Entries
摘要:.net FrameWork 3.0 后,我们会发现有两个Color数据结构。一个是:System.Drawing.Color一个是:System.Windows.Media.Color 这两个结构有啥区别呢? 下面是对这两个类的属性的一个简单比较:   System.Drawing.Color Structure System.Windows.Media.Color Structure 所在组件 System.Drawing.dll PresentationCore.dll 支持的版本 .NET FrameworkSupported in: 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0 .NET Compact FrameworkSupported in: 3.5, 2.0, 1.0 XNA FrameworkSupported in: 1.0 .NET FrameworkSupported in: 3.5, 3.0 SP1, 3.0 A Gets the alpha component value of this Color structure. Gets or sets the sRGB alpha channel value of the color. B Gets the blue component value of this Color structure. Gets or sets the sRGB blue channel value of the color. ......[阅读全文]

posted @ | Feedback (3) | Filed Under [ .net 3.0 WPF 相关 ]

摘要:上个月 Scott Guthrie 的博客中提到, VS2008 如果用 VSS 做源代码管理,会有一些bug。 在他的博客中提到: “我们正在更新Visual SourceSafe 2005,以使它能和VS 2008合作。我们原先计划在上个星期就发布的,但在发布前发现了一个缺陷,会延迟几个星期。我们目前计划在几个星期内发布。Brian Harry在这里的博客帖子里对此有详述。” 相关地址:http://blog.joycode.com/scottgu/archive/2007/11/27/111998.aspx 我这些天都在等这个bug,我在用VS2008+VSS2005中,总碰到一些怪异的小问题。也没看到国内有人讨论这个问题。一直以为这个补丁没发布,今天自己去查了一下,原来这个补丁11号的时候就发布了。自己现在才知道。 至于有些人想象中的VSS2008则不会出现。VS2008下如果用VSS做源代码管理的话,应该是打了这个补丁的VSS2005。   VS2005时带的VSS2005版本号是: version 8.0.50727.42 打了这个补丁后得版本号是:version 8.0.50727.1551(VS2008 用) 这个补丁下载地址: Download the VS80-KB943847-X86-INTL.exe package now. 这个补丁包有3.14M   这个补丁修复了那些bug,请到 http://support.microsoft.com/kb/943847 去看。   参考资料: VS 2008 and SourceSafe Q&A http://blogs.msdn.com/richardb/archive/2007/12/03/vs-2008-and-sourcesafe-q-a.aspx VSS2005 的官方网址 http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx...[阅读全文]

posted @ | Feedback (4) | Filed Under [ .net 编程心得 技术随笔 .net 3.5 ]

摘要: 我们先来看以下几个请求,看a.aspx 页面用Request.QueryString接受到的是啥信息?   页面URL Request.QueryString["info"]接受到的值 案例一 a.aspx?info=%25 % 案例二 a.aspx?info=%bc%bc%ca%f5 ???? 情况分析: 案例一 a.aspx?info=%25 为何 Request.QueryString["info"]接受到的值是 % ,而不是 %25,是因为Request.QueryString 替我们在接受到值后,做了一次URL解码。 HttpUtility.UrlDecode("%25")  的计算结果就是 % 上面的这个案例一虽然看起来很简单。但是我们在一些特殊场景时候,就会因为这个而极度郁闷。 比如以下几种情况: 你有一个自己的加密算法,而这个加密算法,某些情况下会计算出带百分号的结果,而这个结果你是要通过URL参数的方式传递给其它页面的。这时候你就苦恼的发现,某些时候某个功能就不能用。 如果解决案例一碰到的情况呢? 解决方案一: 把需要传递的参数传递前作一次 HttpUtility.UrlEncode ,记得是按照 UTF-8 的编码的 UrlEncode 。这样如果我们希望客户端接受到的是 %25  就应该传递的是 %2525 。 切记,不可在接受方每次接受后,自作聪明的都做一次 UrlEncode 。而是在发送方做 UrlEncode 。如果接受方接受后作 UrlEncode 的话,就会出现下面情况:发送方发送 a.aspx?info=%25 ,这时候如果接受方  接受后作 UrlEncode 的话,一切正确发送方发送 a.aspx?info=% ,这时候如果接受方  接受后作 UrlEncode 的话,则就乱了。 另:这套方案中切记, UrlEncode  和 UrlDecode 的次数应该一一对应。不能多一次,也不能少一次。有人就会说,这还会出现次数不对应么? 比如下面情况,一个不留意就很可能出现次数不对应。而出现不是你所期望的情况。比如我们有这样类似的功能: a.aspx 页面中,根据传入的 from 参数,自动跳转到 from 参数(用Request.QueryString["from"]来接受这个参数)设置的页面。b.aspx 页面也是同样的逻辑,根据传入的 from 参数(用Request.QueryString["from"]来接受这个参数),自动跳转到指定的页面。c.aspx 页面也是同样的逻辑,根据传入的 from 参数(用Request.QueryString["from"]来接受这个参数),自动跳转到指定的页面。这样我们就可能书写下面的链接地址:a.aspx?from=b.aspx  a.aspx?from=b.aspx?from=c.aspxa.aspx?from=b.aspx?from=c.aspx?from=http://blog.joycode.com/ghj/ 下面再复杂一点,我给下面几个链接,其中都有 a 这个参数,请告诉我 a 这个参数是被那个页面接受到了?说明:  HttpUtility.UrlEncode("&")  == "%26"     HttpUtility.UrlEncode("%")  == "%25" 地址 a 参数会被那个页面接受到 a.aspx?from=b.aspx?from=c.aspx&a=1 a 参数被 a.aspx 页面接受到了 a.aspx?from=b.aspx?from=c.aspx%26a=1 a 参数被 b.aspx 页面接受到了 a.aspx?from=b.aspx?from=c.aspx%2526a=1 a 参数被 c.aspx 页面接受到了 如果想不明白,就想想下面这句话每一次用 Request.QueryString 获取参数时候,就作了一次 HttpUtility.UrlDecode。 解决方案二: 不用 Request.QueryString ,而是自己实现一个获取查询参数的方法。细节我在案例二讲完后再告诉大家,因为这个解决方案也处理了案例二的一些情况。 案例二 a.aspx?info=%bc%bc%ca%f5 传给我们的信息其实是使用 GB2312 编码后的“技术” 这两个汉字。不信,你可以用下面表达式计算的结果就是 %bc%bc%ca%f5HttpUtility.UrlEncode("技术", System.Text.Encoding.GetEncoding("GB2312")) ASP.net 系统内部,在处理 Request.QueryString 等情况时候,都是使用的 UTF-8 的编码,我们如果不存在多系统并存的问题时候,这个问题一点都不存在。但是,当需要跟其它系统交互式后,问题就可能会出现。如果你不了解案例二这里情况时,你就会被这个问题苦恼死。 比如下面这两个地址提到的问题: ASP.net中的Server.UrlEncode函数和ASP中的Server.URLEncode函数返回的值竟然不一样http://blog.joycode.com/ghj/archive/2003/10/20/2992.aspx PHP与aspx之间中文通过URL如何传递? http://topic.csdn.net/u/20071018/19/8a4066af-a08c-4214-91e9-ed4caf977e07.html 案例二的解决方案使用带编码的 HttpUtility.ParseQueryString 函数 就是采用类似下面代码的方式,来获得指定格式编码的查询文本参数。            System.Collections.Specialized.NameValueCollection......[阅读全文]

posted @ | Feedback (18) | Filed Under [ 技术随笔 网站开发管理相关内容 ]

摘要:.Net 提供了两个Cookie类: System.Web.HttpCookie  类 和 System.Net.Cookie 类 对应的有两个Cookie 集合类 System.Web.HttpCookieCollection 类 和 System.Net.CookieCollection 类 我们一般来理解他们的区别就是下面简单的一句: System.Web 命名空间下的是给服务器段用的,System.Net 是给客户端程序用的。 实际上不止这点区别:   下面我们来对比这两个Cookie类的属性如下,这些属性都是Copy自MSDN中文版的说明文档: System.Web.HttpCookie  类 System.Net.Cookie 类 MSDN中对构造函数的描述:已重载。 初始化 HttpCookie 类的新实例。 MSDN中对构造函数的描述:已重载。 根据 Netscape 规范初始化 Cookie 类的新实例。通常,应用程序无需构造 Cookie 类,因为该类会基于通过 HTTP 响应接收的 Set-Cookie 标头自动创建。   Comment  获取或设置服务器可添加到 Cookie 中的注释。   CommentUri  获取或设置服务器可通过 Cookie 来提供的 URI 注释。   Discard  获取或设置由服务器设置的丢弃标志。 Domain 获取或设置将此 Cookie 与其关联的域。 Domain  获取或设置 Cookie 对其有效的 URI。   Expired  获取或设置 Cookie 的当前状态。 Expires  获取或设置此 Cookie 的过期日期和时间。 ......[阅读全文]

posted @ | Feedback (5) | Filed Under [ .net 编程心得 设计思路 技术随笔 读书笔记 网站开发管理相关内容 ]