熟悉Ajax的人应该都知道DWR这个开源框架,它让Ajax程序开发变得简单,但是目前好像只能支持Java,今天就来说一下我在Asp.Net项目中怎样模拟实现DWR的功能:
创建一个接口(姑且叫做IWAjaxEngine),其作用定义对Ajax暴露的方法,我设计的是一个返回string类型的方法,还有一个是没有返回值的方法,两个方法的参数都是Dictionarystring, string类型。这样,Ajax在调用后台业务逻辑类时,都可以通过这个接口类型进行调用,而那些业务逻辑类只要是实现了这个接口,就可以通过类名反射进行初始化,反射部分下面详细再说。
在App_Data目录下新建一个XML文档作为配置文件,放在这个目录下的原因,大家应该都知道吧,是可以起到保护作用。这个配置文件中就是专门配置实现IWAjaxEngine接口的业务逻辑类的信息(类名、参数列表、参数类型等等),然后创建一个封装这个配置文件的类(WAjaxConfig),可以把这个类的实例设为static,这样就不用每次都读配置文件了。
接下来就说到重点部分了,也就是Ajax怎么直接调用后台业务逻辑类。我的想法是创建一个Web窗体,也就是.aspx和.aspx.cs文件,在page...[ 查看全文 ]