随笔分类 - Asp.net
细说ASP.NET的各种异步操作
摘要:在上篇博客【C#客户端的异步操作】,我介绍了一些.net中实现异步操作的方法,在那篇博客中,我是站在整个.net平台的角度来讲述各种异步操作的实现方式,并针对各种异步操作以及不同的编程模型给出了一些参考建议。上篇博客谈到的内容可以算是异步操作的基础,今天我再来谈异步,专门来谈在ASP.NET平台下的各种异步操作。在这篇博客中,我主要演示在ASP.NET中如何使用各种异步操作。在后续博客中,我还会分析ASP.NET的源码,解释为什么可以这样做,或者这样的原因是什么,以解密内幕的方式向您解释这些操作的实现原理。由于本文是【C#客户端的异步操作】的续集,因此一些关于异步的基础内容,就不再过多解释了。
阅读全文
用Asp.net写自己的服务框架
摘要:我的上篇博客【我心目中的Asp.net核心对象】讲述了一些我认为在Asp.net中比较重要的核心对象,以及演示了直接使用它们也能实现一个简单的服务响应。今天,我将继续把我认为Asp.net的另一些重要的内容拿出来与大家一起分享,同时将使用本次所讲述的内容改进上篇博客所演示的那个简单的服务,让它成为一个真正能用的服务框架。在这篇博客中,不仅会继续演示上次提到的三个核心对象,我还会再引入另二个关键对象,我将用更多实战代码来演示它们如何在一起协同工作,来完成许多常见任务,展现它们的精彩故事,也最终会让它们来实现我的服务框架。因此,这篇博客不仅仅是针对Asp.net的基础技术的讲解,而是更多地以实战形
阅读全文
我心目中的Asp.net核心对象
摘要:想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现Asp.net好复杂。一大堆服务端控件,各有各的使用方法,有些控件的事件也很重要,必须在合适地时机去响应,还真有些复杂。后来逐渐发现这些复杂的根源其实就是服务器控件相关的抽象逻辑。随着Ajax越用越多,可能有些人也做过这些事情:【新建一个ashx文件,读取一些用户的输入数据,Form, QueryString,然后调用业务逻辑代码,将处理后的结果序列化成JSON字符串再发给客户端】,这样也能完成一次请求。不知大家有没有做过这类事情,反正我是做过的。慢慢地,我也嫌烦了,这些事情中除了调用业务逻辑部分,都是些体力活嘛。于是想,写点
阅读全文
Session,有没有必要使用它?
摘要:今天来说说 Session 。这个东西嘛,我想每个Asp.net开发人员都知道它,尤其是初学Asp.net时,肯定也用过它,因为用它保存会话数据确实非常简单。与前二篇博客不同,这次我不打算细说它的使用,而是打算说说它的缺点,同时我还会举个实际的例子,来看看它到底有什么不好的影响。当然了,光批评是没有意义,事情也得解决,没有会话也不行,所以,本文将也给出一个自认为能替代Session的解决方案。Session的来龙去脉当我们新建一个网站时,VS20XX 生成的网站模板代码中,Session就是打开。是的,如果你没有关闭它,Session其实是一直在工作着。您只需要在Page中用一行代码就能判断您
阅读全文
细说 Form (表单)
摘要:Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源。虽然Asp.net WebForms框架为了帮助我们简化开发工作,做了很完美的封装,让我们只需要简单地使用服务端控件就可以直接操作那些HTML表单元素了。但我认为了解一些基础的东西,可以使我们不必束缚在WebForms框架上,以及遇到一些奇怪问题时,可以更从容地解决它们。今天,我将和大家来聊聊表单,这个简单又基础的东西。我将站在HTML和单纯的Asp.net框架的角度来解释它们的工作方式,因此,本文不演示WebForms服务器控件的相关内容。简单的表单,简单的处理方式好了
阅读全文
细说Cookie
摘要:Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态,所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述,也算是我对Cookie的认识总结。Cookie 概述Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。为什么需要Cookie? 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分是不是来源于同一个浏览器。所以,需要额外的
阅读全文
Asp.net MVC 框架,我也来山寨一下
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】继我的【Ajax服务端框架】完成后,也花了些时间学习了一Asp.net MVC,感觉我的Ajax框架也能玩MVC开发,于是乎,在又加了点功能后,现在也能像Asp.net MVC那样写aspx和ascx了。先来点代码来看看,具体的页面呈现效果请参考:通用数据访问层及Ajax服务端框架的综合示例,展示与下载<%@ Page Title="商品管理" Language="C#" MasterPageFile="~/MasterPage.master&q
阅读全文
通用数据访问层及Ajax服务端框架的综合示例,展示与下载
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】本文将专门介绍:我的通用数据访问层及 Ajax服务端框架的综合示例,同时也是为了让大家能对这二个组件有更多的了解。因此,本文将以界面截图以及部分代码展示的方式来说明,这样可能会有更感性的认识它。这个演示网站的特点:1. 数据访问全使用了我的通用数据访问层 + 存储过程的实现。2. 页面使用了大量的Ajax技术,没有任何的直接提交或回传(Submit Form or postback),分页,查询,对话框,都以Ajax的方式实现。3. 所有Ajax技术的客户端全部基于JQuery,服务端则使用我的Aja
阅读全文
我的Ajax服务端框架 - 安全问题,初始化设置,实现原理
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】返回到目录:晒晒我的Ajax服务端框架 我的Ajax服务端框架 - 安全问题通过前面章节的示例代码,您会发现一个问题:那就是在JS中可以调用所有的C#的方法(理论上是可以调用任何一个程序集中的所有Public类的所有方法)。如果您认为这样做,有安全问题,那么可以订阅事件 OnAjaxCall 来过滤请求。FishWebLib提供的Handler或者Module都有这个事件,您可以统一处理。可参考以下代码:// Ajax调用的安全检查事件。FishWebLib.Ajax.AjaxMethodV2Han.
阅读全文
发一款数据库的辅助工具:My-SqlViewer
摘要:今天发一个我自己写的且经常使用的数据库的辅助工具:My-SqlViewer 由于我比较喜欢使用存储过程,但发现不管是SQL Server Management Studio Express还是MySql的各类乱七八糟工具,在日常开发中,总会发现有些地方在使用时不够方便,甚至缺少某些功能,于是才有这个工具的出现。本工具的定位是:1. 辅助工具--所以功能有限,但要将有限的功能做得尽量好。2. 支持SqlServer与MySqlMy-SqlViewer 使用说明本程序是为程序员而设计的辅助工具,因此假设运行的操作系统环境中已安装有所需要的各种必需组件,而没有随本程序的安装包一起提供。本程序需要以下
阅读全文
我的Ajax服务端框架 - (4) JS直接请求ascx用户控件
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】返回到目录:晒晒我的Ajax服务端框架此功能将让您在Javascript直接请求一个ascx用户控件,并获取它的输出HTML。示例代码如下:Javascript调用代码var url = '/Controls/OrderList.ascx?' + $.param({ StartDate: '2010-12-01', EndDate: '2011-01-03' });$("#divResultList").load(url); 上面的调
阅读全文
我的Ajax服务端框架 - (3) JS调用页面方法
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】返回到目录:晒晒我的Ajax服务端框架 此功能将让您在Javascript直接调用当前aspx页面中的一个C#方法。示例代码如下:C#方法public partial class Customers : MyBasePage{ /// <summary> /// 供AJAX调用:更新客户资料。具体调用方法请参考JS代码。 /// 方法可以是静态的,也可以是不是静态的。 /// </summary> /// <param name="customer"&
阅读全文
我的Ajax服务端框架 - (1) JS直接调用C#方法
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】返回到目录:晒晒我的Ajax服务端框架 在Ajax网站中,Javascript经常需要请求服务器,比如:提交一个小的状态修改请求,获取某个对象的JOSN字符串,获取一小段HTML,等等。FishWebLib的Ajax服务端框架提供的这个功能将让您可以在Javascript直接调用一个C#方法,用来完成上述需求。示例代码如下:C#方法namespace MyLab.AjaxService{ /// <summary> /// Ajax服务类,提供“商品记录”相关操作 /// </sum
阅读全文
我的Ajax服务端框架 - (2) 将FORM直接提交给C#方法
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】返回到目录:晒晒我的Ajax服务端框架 此功能将让您在Javascript直接将一个Html FORM 提交给一个C#方法。示例代码如下:C#方法public class AjaxProduct{ public int Insert(Product product) { product.EnsureItemIsOK(); return BllFactory.GetProductBLL().Insert(product); }}public sealed c...
阅读全文
晒晒我的Ajax服务端框架
摘要:注意:本文所介绍的框架已有新版本,点击后面链接即可阅读。【写自己的ASP.NET MVC框架】今天晒晒我的Ajax服务端框架。自从接触JQuery-EasyUI后,我对Ajax越来越感兴趣了。也慢慢的把UI开发的重心从服务器端移到客户端来了。一般说来,在Asp.net的环境中实现Ajax,要么是使用Asp.net AJAX框架,要么就要自己写些ashx来直接与客户端交互,当然还有第三方的框架可供选择。由于对Asp.net AJAX这个东西嘛,实在没啥兴趣。虽然它可以帮你为一些WebService生成JS的代理类。但是在客户端的JQuery却不能发挥它的强大功能。随着ashx处理器越写越多,发现
阅读全文