ASP.NET实现HTTP长轮询(一)——WebForm

    本文主要描述如何在ASP.NETWebForm中实现长轮询:(1)在ASP.NETWebForm的aspx文件中设置如下指令即可实现异步的ASP.NETWebForm:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LongPolling.aspx.cs" Inherits="LongPolling&q...

阅读全文

HTTP长连接与短连接、长轮询与短轮询及长轮询的实现概述

    HTTP长连接(longconnection)与短连接(shortconnection)本质上是TCP长连接和短连接:短连接是指在一次HTTP请求和响应之后立即关闭本次TCP连接,下次请求响应重建一个新的TCP连接;而长连接是指请求响应之后并不立即关闭本次TCP连接,下次请求响应继续重用该TCP连接。HTTP/1.0默认短连接,HTTP/1.1起默认长连接,长连接通过请求头Connection:keep-alive启用长连接、通过Keep-Alive:timeout=20设置长连接的超时时间...

阅读全文

写在2017年最后一天

    此时此刻,电视新年节目传来的阵阵欢歌笑语环绕耳边,朋友圈众人发布的句句新年祝语映入眼帘,已删除的微信聊天记录里那段段对白涌进脑海,这一切将我带入沉思。我深感时光如梭白驹过隙,更对时间充满敬畏,对人生充满希冀。蓦然回首这即将过去的2017,一切却未在那灯火阑珊处。这一年有得有失,这一年有坚定也有彷徨,这一年有执着也有茫然。        一个人的时间可以有三种用途:消费、投资、交易。当我们业余时间去吃喝玩乐游娱购就是消费,...

阅读全文

实现网页原路返回:从哪个页面跳转过来就返回哪个页面

一、需求        导航对于PC网站或WAP网站有着相当重要的作用,它有利于提升用户体验,不至于让用户迷路。而“返回”就是导航的功能之一,主要体现在WAP网页左上角的“返回”按钮或链接。这里“返回”是指原路返回,即从哪个页面跳转过来就返回哪个页面。或许你会想,浏览器不是有返回按钮吗?JS不是提供了history.go(-1)或history.back(-1)来实现这个功能吗?对于简单情况这是有用的,但是有两种情况或许不太适用:(1)浏览器返回按钮和history对象提供的...

阅读全文

通用基础表逻辑设计(二)——扩展字段

一、扩展字段表        一个表的字段可能并非一成不变,系统的运行、需求的变化等客观条件可能会需要增加其他字段,如何在不直接修改表设计的前提下满足需求呢?该扩展字段表的思想就是将列设计转化为行设计,字段的增加表现为记录的增加。当然这种方式也不是万能的,对于需要排序、查询和索引的字段最好还是通过添加表字段的方式增加。字段名称数据类型属性允许空默认值备注ext_idint(4)PK  AI扩展字段编号ext_guidchar(36)newid()扩...

阅读全文

通用基础表逻辑设计(一)——配置、枚举和类别

一、配置表        一个系统中往往有很多需要可自定义的参数,比如网站名称、联系地址等基础参数以及各种系统运行参数等等,这个时候就需要单独一个参数配置表来保存这些参数。可能最先想到的就是一个参数加一个字段,但参数的个数不一定是固定的,如此设计需要修改数据库、修改程序,可扩展性不够。所以可以把这种列设计转换为行设计,参数增减通过数据行的增减来实现。字段名称数据类型属性允许空默认值备注cfg_idint(4)PK  AI配置编号cfg_guidcha...

阅读全文

可迁移数据库的基本命名和实施规范

前言        数据库管理系统(DBMS)是各类信息系统的核心组成部分,常用的关系数据库系统(RDBMS)有SQLite、SQLServer、MySQL、Oracle等等。不同种类和版本的关系数据库系统在大小写区分、数据类型、SQL语法等等方面各有差异,若一个信息系统需要支持一种以上的数据库系统,那么为了可迁移而在数据库命名和实施上应该遵守必要的命名和实施规范。命名规范        1、各...

阅读全文

jQuery AJAX跨域在IE9及以下版本中失效问题

        使用jQueryAJAX在IE9及以下版本浏览器中提交HTTP跨域请求时,浏览器会报错且并不执行该操作,是因为IE9及以下版本默认不支持跨域请求。主要有以下几个办法解决:(1)修改IE设置:工具->Internet选项->安全->Internet->自定义级别->通过域访问数据源->启用,但此设置对于用户自行操作不现实;(2)将请求页面与被请求页面转换为同域,例如使用自行实现的代理;(3)调用AJAX前,设置$.suppo...

阅读全文

在线支付子模块的设计与实现

        一个在线交易系统需要各种支付方式方便客户付款,这些支付方式按场景可分为在线支付和线下现付。线下现付常见的有货到付款、邮局汇款、银行电汇等非实时方式,在线支付主要包括网银直连(如工行、农行等)和第三方支付平台(如支付宝、微支付、快钱、银联等)。当然完善的支付方式还可以包含优惠券、积分兑换等功能,本文仅简述用于与银行/第三方支付平台对接的在线支付功能集成(从订单创建成功后开始支付到支付成功后反馈订单状态这个过程),不讨论自身作为第三方支付平台的设计与实现。图1:总...

阅读全文

如何解决Cookie和Ajax的跨域问题

        Cookie用来在浏览器端保存小文本信息,它的属性Domain和Path用来标识该Cookie在什么域和什么路径下有效。要使Cookie跨域如何实现?若是在同一顶级域名下实现各子域名跨域,可以设置Cookie的Domain,假设顶级域名是example.com,则设置Cookie.Domain=".example.com"即可。那不同顶级域名之间如何跨域呢?为各顶级域名生成一个相同名和值的Cookie、JSONP调研、SSO单点登录等。&n...

阅读全文