自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

竹林之风

不积跬步,无以至千里;不积小流,无以成江海。

  • 博客(17)
  • 收藏
  • 关注

原创 ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.NET报错页;(2)Global.asax、Filter、DelegatingHandler等自定义处理;(3)未转发到.NET运行时的部分根据web.config中的CustomErrors设置跳转到相应页面;(4)以上都未接收并处理的部分跳转至IIS的默认报错页。采用默认错...

2021-05-07 14:51:01 337

原创 ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几种方式:(1)设置301、302响应标头;(2)调用Response.Redirect;(3)MVC控制器方法返回RedirecResult类的实例。因为该原因发生异常的情况,一般就是代码不规范,同一执行路径执行了多次重定向。可从如下几方面排查代码去掉重复的重定向操作:(1)从Global.asax.cs到具体方法...

2021-05-07 14:50:08 1236

原创 在ASP.NET Core下使用Scaffold-DbContext命令自动从数据库生成EF Core模型

在ASP.NET Core下使用EF Core读取和操作数据库时,若采用DB First开发模式,则需要手动写或者自动生成相关实体类和DBContext类。自动生成可采用Scaffold-DbContext命令。而使用该命令需要在实体类所在项目引用Microsoft.EntityFrameworkCore.Tools包和MySql.Data.EntityFrameworkCore包(MySQL引用该包,其它数据库引用相应的其它对应包)。(1)在VS菜单中依次点击“视图”/“其它窗口”/“...

2021-05-07 14:49:19 832

原创 通用基础表逻辑设计(三)——功能权限

概述在一个应用系统中有多个用户,用户通常分为多种角色,每种角色的用户能够访问的页面、能够查看的数据或者能够执行的操作等各有不同,因此需要设计与实现应用系统的权限体系。通过对应用系统进行需求分析,由用例图可知功能需求,由E-R图可知数据需求,应用系统的权限就包括功能权限和数据权限。功能权限描述了一个用户或者一种角色能够访问哪些页面、能够执行哪些操作(按钮、链接等),数据权限描述了...

2019-07-23 22:58:42 971

原创 ASP.NET实现HTTP长轮询(四)——WebApi

本文主要描述如何在ASP.NET WebApi中实现长轮询:(1)控制器:usingSystem;usingSystem.Web.Http;usingSystem.Threading.Tasks;usingSystem.Threading;publicclassLongPollingController:ApiController{...

2019-06-10 18:18:08 1558

原创 ASP.NET实现HTTP长轮询(三)——MVC

本文主要描述如何在ASP.NET MVC中实现长轮询:(1)控制器继承AsyncController:usingSystem.Threading;usingSystem.Web.SessionState;[SessionState(SessionStateBehavior.Disabled)]publicclassLongPollingController...

2019-06-10 18:17:07 660

原创 ASP.NET实现HTTP长轮询(二)——一般处理程序ashx

本文主要描述如何在ASP.NET一般处理程序中实现长轮询:(1)实现IAsyncResult:usingSystem;usingSystem.Threading;usingSystem.Web;publicclassLongPollingAsyncResult:IAsyncResult{publicHttpContextContext...

2019-06-10 18:16:01 598

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

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

2019-06-10 18:13:21 1951

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

HTTP长连接(long connection)与短连接(short connection)本质上是TCP长连接和短连接:短连接是指在一次HTTP请求和响应之后立即关闭本次TCP连接,下次请求响应重建一个新的TCP连接;而长连接是指请求响应之后并不立即关闭本次TCP连接,下次请求响应继续重用该TCP连接。HTTP/1.0默认短连接,HTTP/1.1起默认长连接,长连接通过请求头Co...

2019-06-10 18:11:50 2298 1

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

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

2018-01-08 20:06:19 13301

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

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

2017-11-28 17:49:06 5610

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

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

2017-11-03 13:40:00 7559 6

原创 ASP.NET MVC中的Area区域简介

ASP.NET MVC4有预定义的目录规则,框架根据这些目录规则去加载各种类。在MVC单项目中,随着业务越来越复杂多样,我们会希望按照功能对代码按文件夹分门别类。如果在默认的目录结构下业务混合,这样不方便管理和维护;如果另开新项目,又比较散乱。那么MVC有没有这样一种机制来相对独立这些模块呢?答案是肯定的,这就是MVC的Area区域技术,用来实现在一个MVC项目中组织和维护多个相对独立的模块。

2017-10-30 18:29:42 6772

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

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

2017-10-30 18:27:09 702

原创 小试Git源码版本控制

我们一个人开发或维护一个项目的时候,一般项目源码放在自己的电脑上就可以了;当加入新成员和我们一起开发或维护的时候,如果还是按照这样的方式放置源码,那源码的合并将是一件麻烦和苦恼的事情。因此在团队开发中我们需要源码版本控制系统,常用的有SVN、Git等,有了源码版本控制,方便团队开发,也更方便随时随处获取源码。SVN是集中式存储,而Git是分布式的方式,Git的使用方式也较SVN更复杂一些。目前有不

2017-10-30 18:22:23 414

原创 C#中问号“?”的用法

在C#中问号有单问号和双问号两种场景,其中单问号就是用于条件表达式的一个三元运算符;双问号有两个用法:可空类型修饰符和空合并运算符。(1)条件表达式三元运算符:如x>y?a:b,即当x>y时表达式取值a,否则取值b;c = x > y ? a : b;//等价于if (x > y) { c = a;}else { c = b;}(2)可空类型修

2017-10-30 18:17:03 7231

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

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

2016-04-02 18:04:45 5934

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除