2009-12 归档
共 26 篇
与命令式编程相比,申明式编程可以用更简单,更清楚的方法来描述软件的行为。申明式编程就是说用申明来定义程序的行为,而不是写一些指令。在C#里,也和其它大多数语言一样,你的大多数程序都是命令式的:在程序中写一个方法来定义行为。在C#中,你在编程时使用特性就是申明式编程。你添加一个特性到类,属性,数据成员,或者是方法上,然后.Net运行时就会为你添加一些行为。这样申明的目的就是简单易用,而且易于阅读和维护。 让我们以一个你已经使用过的例子开始。当你写你的第一个ASP.Net Web服务时,向导会生成这样的代码: VS.net的Web服务向导添加了特性到HelloWorld()方法上,这就定义了HelloWorld是一个web方法。ASP.net运行时会为你生成代码来响应这个特性。运行时生成的Web服务描述语言(WSDL)文档,也就是包含了对SOAP进行描述的文档,调用HelloWorld方法。ASP.net也支持运行时发送SOAP请求HelloWorld方法。另外,ASP.net运行时动态的生成HTML面页,这样可以让你在IE里测试你的新Web服务。而这些全部是前面的WebMethod特性所响应的。这个特性申明了你的意图,而且运行时确保它是被支持的。使用特性省了你不少时间,而且错误也少了。…
👤 博主
📅 2009-12-31
📂 Web编程
👁 5110
👍 0
🔄 来源:Wu.Country@侠缘
阅读全文 →
你已经知道,所谓的只读属性就是指调用者无法修改这个属性。不幸运的是,这并不是一直有效的。如果你创建了一个属性,它返回一个引用类型,那么调用者就可以访问这个对象的公共成员,也包括修改这些属性的状态。例如: 任何MyBusinessObject的公共客户都可以修改你的内部dateset。你创建的属性用来隐藏类的内部数据结构,你提供了方法,让知道该方法的客户熟练的操作数据。因此,你的类可以管理内部状态的任何改变。然而,只读属性对于类的封装来说开了一个后门。当你考虑这些问题时,它并不是一个可读可写属性,而是一个只读属性。 欢迎来到一个精彩的基于引用的系统,任何返回引用的成员都会返回一个对象的句柄。你给了调用者一个接口的句柄,因此调用者修改这个对象的某个内部引用时,不再需要通过这个对象。…
👤 博主
📅 2009-12-31
📂 Web编程
👁 4881
👍 0
🔄 来源:Wu.Country@侠缘
阅读全文 →
可以用事件给你的类型定义一些外部接口。事件是基于委托的,因为委托可以提供类型安全的函数签名到事件句柄上。加上大多数委托的例子都是使用事件来说明的,以至于开发人员一开始都认为委托与事件是一回事。在原则21里,我已经展示了一些不在事件上使用委托的例子。在你的类型与其它多个客户进行通信时,为了完成它们的行为,你必须引发事件。 一个简单的例子,你正在做一个日志类,就像一个信息发布机一样在应用程序里发布所有的消息。它接受所有从程序源发布的消息,并且把这些消息发布到感兴趣的听众那里。这些听众可以是控制台,数据库,系统日志,或者是其它的机制。就可以定义一个像下面这样的类,当消息到达时来引发事件: AddMsg方法演示了一个恰当的方法来引发事件。临时的日志句柄变量 是很重要的,它可以确保在各种多线程的情况下,日志句柄也是安全的。如果没有这个引用的COPY,用户就有可能在if检测语句和正式执行事件句柄之间移除事件句柄。有了引用COPY,这样的事情就不会发生了。…
👤 博主
📅 2009-12-31
📂 Web编程
👁 4714
👍 0
🔄 来源:Wu.Country@侠缘
阅读全文 →
EXIF信息(Exchangeable Image File),它是记录在数码照片中的一组参数,这些参数包括相机型号、快门、光圈、焦距、感光度、白平衡等。通过EXIF信息我们可以了解拍摄时相机的各种参数设定。 下边介绍一种简单快速的方法查看图片EXIF信息:在Windows操作系统中,右键单击图片,打开属性对话框,切换到"摘要"选项卡,点击"高级"按钮即可看到EXIF信息。 2010-01-11补充:若是图片包含了GPS信息,通过上边方法是看不到的,推荐一款小工具IExif可查看:
👤 博主
📅 2009-12-29
📂 操作系统
👁 4818
👍 0
🔄 来源:本站原创
阅读全文 →
使用GZip压缩页面文件,既可以降低站点流量,减轻服务器负担,又可以提高用户打开页面的速度,是非常有优势的。要启用GZip压缩,既可以在页面程序中设置(见《ASP.NET页面启用gzip压缩》),也可以在IIS服务器中设置,今天我们看看怎么在IIS6.0中配置使用GZip压缩。 3步开启IIS6.0GZip压缩功能 ①在IIS中打开网站属性,切换到"服务"选项卡,钩选"压缩应用程序文件"和"压缩静态文件": ②右键点击"Web 服务扩展",选择"添加一个新的 Web 服务扩展",设置如下: ③在命令行下执行"iisreset /restart",重启IIS服务,这样就可以了; 配置启用GZip压缩的文件类型…
👤 博主
📅 2009-12-29
📂 服务器
👁 7134
👍 0
🔄 来源:本站原创
阅读全文 →
XPath没有提供直接获取CDATA 节点的语法,只能变通下,先定位到其父节点,再获取子节点来获取。
👤 博主
📅 2009-12-28
📂 Web编程
👁 11838
👍 0
🔄 来源:本站原创
阅读全文 →
测试中发现问题: ·GZipCompress方法中使用StreamWriter则无法往gz写入内容; ·GZipCompress方法中msReturn先初始化再复制msTemp时,一定要将当前流位置设置为0,否则解压不出内容:
👤 博主
📅 2009-12-25
📂 Web编程
👁 7414
👍 0
🔄 来源:本站原创
阅读全文 →
说明 ·接口参数最好都用HttpUtility.UrlEncode进行编码,特别是含中文的,否则接口调用总失败,返回"检验错误"; ·动易未提供接口供程序查询短信发送状态,发送状态需登录短信通平台才能查看;
👤 博主
📅 2009-12-22
📂 Web编程
👁 5269
👍 0
🔄 来源:本站原创
阅读全文 →
单一职责原则(SRP:Single Responsibility Principle) 核心思想:系统中的每一个对象都应该只是一个单独的职责,而所有对象所关注的主是自身职责的完成。 原则说明:其实单一职责的意思就是所谓的“高内聚、低耦合”。也就是每个类应该只有一个职责,对外只能提供一个功能,而想起类变化的原因应该只有一个,在设计模式中,所有的设计模式都遵循这一原则。 开闭原则(OCP:Open for Extension,Close for Modification) 核心思想:一个对象对扩展开放,对修改关闭。 原则说明:对类的改动是通过增加代码来进行的,而不是发动现有的代码。也就是说,软件开发人员一旦写出了可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去,这就需要借助于抽象和多态,即把可能变化的内容抽象出来,从而使抽象的部分是相对稳定的,而具体的实现层则是可以改变和扩展的。…
👤 博主
📅 2009-12-21
📂 其他
👁 4255
👍 0
🔄 来源:网络
阅读全文 →
------------------------------------------------------- 问:QQ邮箱发送失败服务器响应Error: need EHLO and AUTH first怎么解决? 答:登录QQ邮箱申请授权码,上边代码做如下修改:
👤 博主
📅 2009-12-18
📂 Win编程
👁 5042
👍 0
🔄 来源:本站原创
阅读全文 →