分类:Web编程
共 944 篇
可以用事件给你的类型定义一些外部接口。事件是基于委托的,因为委托可以提供类型安全的函数签名到事件句柄上。加上大多数委托的例子都是使用事件来说明的,以至于开发人员一开始都认为委托与事件是一回事。在原则21里,我已经展示了一些不在事件上使用委托的例子。在你的类型与其它多个客户进行通信时,为了完成它们的行为,你必须引发事件。 一个简单的例子,你正在做一个日志类,就像一个信息发布机一样在应用程序里发布所有的消息。它接受所有从程序源发布的消息,并且把这些消息发布到感兴趣的听众那里。这些听众可以是控制台,数据库,系统日志,或者是其它的机制。就可以定义一个像下面这样的类,当消息到达时来引发事件: AddMsg方法演示了一个恰当的方法来引发事件。临时的日志句柄变量 是很重要的,它可以确保在各种多线程的情况下,日志句柄也是安全的。如果没有这个引用的COPY,用户就有可能在if检测语句和正式执行事件句柄之间移除事件句柄。有了引用COPY,这样的事情就不会发生了。…
👤 博主
📅 2009-12-31
👁 4859
👍 0
📂 Web编程
阅读全文 →
XPath没有提供直接获取CDATA 节点的语法,只能变通下,先定位到其父节点,再获取子节点来获取。
👤 博主
📅 2009-12-28
👁 11988
👍 0
📂 Web编程
阅读全文 →
测试中发现问题: ·GZipCompress方法中使用StreamWriter则无法往gz写入内容; ·GZipCompress方法中msReturn先初始化再复制msTemp时,一定要将当前流位置设置为0,否则解压不出内容:
👤 博主
📅 2009-12-25
👁 7557
👍 0
📂 Web编程
阅读全文 →
说明 ·接口参数最好都用HttpUtility.UrlEncode进行编码,特别是含中文的,否则接口调用总失败,返回"检验错误"; ·动易未提供接口供程序查询短信发送状态,发送状态需登录短信通平台才能查看;
👤 博主
📅 2009-12-22
👁 5400
👍 0
📂 Web编程
阅读全文 →
启用gzip压缩前后对比: 大多数浏览器自带了gzip解压功能,经gzip压缩后的页面不需做格外的操作就能正常显示了。但url若做为接口使用,在应用程序中获取返回内容时,则需手工进行解压,示例代码: 顺便检测了下各大门户站,都启用了gzip压缩,下边为www.qq.com检测信息:
👤 博主
📅 2009-12-18
👁 13846
👍 0
📂 Web编程
阅读全文 →
说明 ·压缩时GZipStream构造函数第三个参数一定要设置为true,并且一定要先调用Close再来复制,否则不能正常解压(测试发现调用Close后会追加几字节内容); ·解压时直接使用Read方法读取内容,不能调用GZipStream实例的Length等属性,否则会出错:System.NotSupportedException: 不支持此操作;
👤 博主
📅 2009-12-18
👁 10612
👍 0
📂 Web编程
阅读全文 →
mzwu.com下有一个SetCookie.asp,内容如下: sjkuku.com下有一个Cookie.htm,内容如下: 访问Cookie.htm结果: SetCookie.asp中保存的cookie丢失了,双击IE状态栏隐私报告图标: 可以看到,原因是IE的隐私策略阻止了来自mzwu.com域的cookie,在SetCookie.asp中加入P3P头可解决问题: 后记:从表面现象来看,似乎是实现了B域在A域下存取cookie,但进一步测试发现,这样生成的cookie仍只能在B域页面中读取,A域名页面是无法直接读取的,同样,A域生成的cookie在B域页面中也一样不能读取。
👤 博主
📅 2009-12-18
👁 12266
👍 0
📂 Web编程
阅读全文 →
突然间,访问站点所有页面都出错,全提示:未能加载文件或程序集“AspNetPager”或它的某一个依赖项。拒绝访问。最终在McAfee访问保护日志中找到了原因: 2009-12-9 9:29:17 已由访问保护规则禁止 NT AUTHORITY\NETWORK SERVICE c:\windows\system32\inetsrv\w3wp.exe C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\73aadb6b\28e3561d\assembly\tmp\BJPV18EK\AspNetPager.DLL 通用最大保护:禁止在 Windows 文件夹中创建新的可执行文件 已阻止的操作: 创建 解决方法:…
👤 博主
📅 2009-12-09
👁 7959
👍 0
📂 Web编程
阅读全文 →
平时都是在CMD中直接执行"dir",使用C#时竟不确定应该调用哪个exe了,其实"dir"可看作"cmd.exe /C dir"的简写方式,这样就该知道怎样在C#中调用了,写下来,备忘吧。
👤 博主
📅 2009-11-30
👁 6753
👍 0
📂 Web编程
阅读全文 →
在ASP.NET中,若要将一个URL参数值赋值给一个变量,都得先判断参数是否存在,否则等待你的很可能就是"未将对象引用设置到对象的实例",以前都是Request.QueryString != null比较后再赋值,但今天在一个项目中发现竟还报错,代码大致结构如下: 后来发现URL为:http://www.mzwu.com/?id=,原因是Request.QueryString的值为一个空字符串,所以通过了Request.QueryString != null的验证,但将空字符串传给int.Parse方法,还是报错了,可见,光判断参数是否存在还是不够的,还必须得进一步判断是否有传值才行,最终代码改为: 原因是:当参数不存在时,参数值为null,调用string.IsNullOrEmpty方法,null会自动转换为空字符串;当参数存在但不传值时,参数值为空字符串,string.IsNullOrEmpty很容易就判断出来了!
👤 博主
📅 2009-11-30
👁 9209
👍 0
📂 Web编程
阅读全文 →