- 博客(38)
- 收藏
- 关注
原创 IIS工作原理
1.服务端的http.sys接收请求,它负责监听来自外部的HTTP请求,根据请求的URl将其转发给相应的应用程序池(application pool),当此HTTP请求处理完成时,它又负责把处理完成的结果发送出去,为了提供更好的性能,http.sys内部建立了一个缓冲区,将最近的HTTP请求保存起来.2.http.sys收到请求后,将请求传给应用程序池的工作进程(inetinfo.exe)...
2020-03-25 13:09:31 1624
原创 .net简单工厂、工厂模式
简单工厂缺点:如果添加新产品就不得不修改工厂逻辑,这样就会造成工厂逻辑过于复杂,并且,它所能创建的类只能是事先考虑到的,对系统的维护和扩展相当不利工厂模式缺点:一个工厂只能创建一种产品,如果要求工厂创建多种产品,工厂模式就不好用了...
2019-11-13 16:06:31 269
原创 ASP.NET Core WebApi使用Swagger生成api说明文档
1.2.3.Startup.cs---ConfigureServices//注册Swagger生成器,定义一个和多个Swagger 文档 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { ...
2019-09-18 17:22:43 384
原创 MVC路由
1.比如访问http://localhost:88/home/index的时候,请求先被UrlRoutingModule截获2.从Routs中得到与当前url相符合的RoutData对象3.把RoutData对象和url封装成RequestContext对象4.从Requestcontext封装的RouteData中得到Controller名字5.根据Controller的名字,通...
2019-07-15 11:28:07 224
原创 依赖注入
/// <summary> /// 注册应用层的应用服务 /// </summary> public static IServiceCollection AddService(this IServiceCollection services) { services.Ad...
2019-01-07 09:59:53 204
原创 Entity Framework工具POCO Code First Generator的使用
在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一款不错的工具在Visual Studio中,通过“工具”→“扩展和更新...”来安装Entit这里添加一个控制台项目,并在项目中添加POCO Code First添加一个控制台项目,并在项目中...
2018-11-26 18:36:29 225
原创 .netcore 生成模型
1. 引用 2. Nuget程序包管理器控制台输入:Scaffold-DbContext "Server=192.168.0.115;Initial Catalog=数据库名字;User ID=sa;Password=Sa123456;MultipleActiveResultSets=True;" Microsoft.EntityFrameworkCore.SqlServer -Outpu...
2018-06-14 15:54:11 960
原创 .net 使用资源文件实现多语言切换
1,建几个你需要的语言资源文件,如图:2,public class Localization3Attribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { var Defaul...
2018-03-30 16:59:53 3252 1
原创 IOC框架-autoFac、Spring.NET
autoFac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象、以及ASP.NET集成。autoFac: 1 /// /// 属性注入 /// public IPeople people { get; set; }
2018-03-29 09:49:25 1494
原创 路由设置
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRo
2018-03-07 11:08:59 207
原创 clone、linq左连接
SELECT STUFF( (SELECT ','+Symbol from SM_Product for XML PATH('')), 1, 1, '' ) 结果:SH600004,SH600005,SH600006var sqlParaArr = paraList.Select(x => ((ICloneable)x).Clone()).ToArray(); ...
2018-02-08 09:42:24 238
原创 全局log4net
public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new SysExceptionAttribute()); } }
2017-11-07 14:20:15 287
原创 sql 查询子级和父级
递归方式--子级with cte as(select 0 as LVL,* from Customer with (nolock) where CId =636union allselect LVL+1 ,c.* from Customer c with (nolock) join cte pon c.ParentId = p.CId)select * from ct...
2017-10-20 10:23:24 2849
原创 C#调用webApi方法
webApi返回Json:在Global.asax.cs文件中,Application_Start() 事件添加=》GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();string url = "http://192.168.0.192/service/getIp
2017-07-28 10:42:25 4519
原创 C# 获取版本号、资源文件、全局配置Settings.Settings
1:Properties->AssemblyInfo.cs-[assembly: AssemblyVersion("1.0.0.0")]string Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); // 返回 1.0.0.02:Properties
2017-06-22 10:16:47 2228
原创 byte[]和结构互转
//struct转byte[]public byte[] StructTOBytes(object obj) { int size = Marshal.SizeOf(obj); //创建byte数组 byte[] bytes = new byte[size]; Int
2017-05-16 14:44:03 1657
原创 C# 数据写入Excel表
引用Microsoft.Office.Interop.Excel.dll才能编译。 /// /// 写入xls /// /// public bool WriteXls(string filename,int count,string code,string name) {
2017-04-21 16:18:18 1228
原创 SelectListItem
List listMechanism = new List();List listM = new Repository().Get().ToList(); listM.ForEach(t =>{ listMechanism.Add(new SelectListItem() {
2017-03-22 16:35:44 2028
原创 MVC中使用AuthorizeAttribute身份验证
代码顺序为:OnAuthorization-->AuthorizeCore-->HandleUnauthorizedRequest如果AuthorizeCore返回false时,才会走HandleUnauthorizedRequest 方法,并且Request.StausCode会返回401,401错误又对应了Web.config中所有,AuthorizeCore==false 时
2017-03-22 16:12:15 2625
原创 建造者模式
建造者模式(Builder Pattern),将一个复杂对象的构建与它的表示分离,使的同样的构建过程可以创建不同的表示。优点:使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以如要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。eg:建造房子//产品 public class House { public string
2017-02-15 11:34:28 380
原创 原型模式
原型模式通过复制一个原型对象得到多个与原型对象一模一样的新对象,实现原型模式的关键在于如何实现克隆方法。 通用的克隆实现方法是在具体原型类的克隆方法中实例化一个与自身类型相同的对象并将其返回,并将相关的参数传入新创建的对象中,保证它们的成员变量相同。优点:1、原型模式向客户隐藏了创建新实例的复杂性。2、原型模式允许动态增加或较少产品类。3、原型模式简化了实例的创建结构,工厂方法
2017-02-15 10:10:42 271
原创 观察者模式
观察者模式,有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。优点:1、通知通信:观察者模式支持广播通信。被观察者会向所有的注册过的观察者发出通知。2、聚耦合:观察者模式在被观察者和观察者之间建立了一个抽象的耦合,被观察者并不知道任何一个具体的观察者,只是保
2017-02-13 14:56:28 226
原创 Decorator装饰模式
动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。eg:,我们买了一部手机,慢慢的给这部手机添加新的装饰,比如说贴膜,添加挂件等。装饰模式角色:(1)抽象构件角色:给出一个抽象接口,以规范准备接收附加责任的对象。 publicabstract classPhone { publicabstract void
2017-02-10 10:01:49 243
原创 外观、中介者、代理模式
1、外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。子类继承外观类的所有属性方法,客户端只需要跟外观类进行交流,实现了对所有子类的封装。eg:某人要贷款流程:要访问1信用系统、2银行系统之前有没有贷款过、3现有资产系统,有了外观模式无需一个个的去访问查看。现在需要有个统一访问类,只需要访问这个统一类就可以,无需一个个去访问子系统。
2017-02-08 11:07:18 439
原创 Redis相关
private static string redisHost = ConfigurationManager.AppSettings["RedisServerHost"]; private static string pwd = ConfigurationManager.AppSettings["RedisServerPassword"]; private st
2017-02-06 15:38:27 348
原创 nodejs例子
var express = require('express');var http = require('http');var ioredis = require('ioredis');var log4js = require('log4js');var uuid = require('node-uuid');var app = express();var redis =
2017-01-16 11:19:08 676
原创 NodeJs学习
1.cmd运行 node -v:查看版本2.安装express:npm install express其他格式一样3.运行例如把nodeDemo.js放入G盘:node G:\nodeDemo.jsnodeDemo.js代码例如:var http = require("http"); http.createServer(function(request, response) {
2017-01-16 10:56:27 245
原创 Iframe之间操作
1主页面访问子iframe:ChartIframe.window.document.getElementById("aaa").innerHTML = ‘’123456“”; //ChartIframe是name ChartIframe.window.priceGet();2子页面访问主页面:win
2017-01-11 16:14:47 707
原创 MD5加密
public static string GetMd5HashCode(string input) { string result = string.Empty; if (string.IsNullOrWhiteSpace(input)) return result;
2016-11-28 10:15:57 971
原创 Json序列化和反序列化
1.使用JavaScriptSerializer类 Student stu = new Student() { Name = "lily", Age = 11, }; JavaScriptSerializer js = ne
2016-11-25 15:06:50 386
原创 WCF服务返回JSON格式数据、配置web调用地址
/// 为了支持多个参数,还需要设置BodyStyle为WrappedRequest。 有多种url形式: --/UserNameEnable?f={UserName} --/UserNameEnable?name={UserName}&pwd={pwd}或者: 多个参数 UriTempla...
2016-11-24 14:30:30 3912
原创 .net 简体繁体互转
//引用 Microsoft.VisualBasic; public static string StringConvert(string str, string type) { String value = String.Empty; switch (type) {
2016-11-23 10:21:38 324
转载 .net输入汉字转拼音
1、微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下:Microsoft Visual Studio International Pack 1.0 SR1、Microsoft Visual Studio International Feature Pack 2.02、双击“Vsintlpack2.msi”安装3
2016-11-23 09:32:55 740
原创 DDE实现动态数据交换
eg:MT4就运用DDE让自己成为服务端,程序可利用DDE获取MT4的外汇报价数据实现实时更新。 先下载MT4运行,设置工具-选项-勾选启用为DDE服务器using NDde.Client; public static DdeClient Create(string Symbol,string data, Action<DdeAdviseEventArgs> handler)...
2016-11-18 15:26:15 7170 1
原创 发布iis 500.21错误原因
500.21错误原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装解决:开始->所有程序->附件->右键点击“命令提示符”->以管理员身份运行->输入“%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i”命令行。或cmd管理员身份运行输入
2016-11-18 11:13:16 1972
转载 jquery ready和load区别
DOM文档加载的步骤:(1) 解析HTML结构。(2) 加载外部脚本和样式表文件。(3) 解析并执行脚本代码。(4) 构造HTML DOM模型。//ready(5) 加载图片等外部文件。(6) 页面加载完毕。//load页面中要是没有图片之类的媒体文件的话ready与load是差不多的,但是页面中有文件就不一样了,所以还是推荐大家在工作中用ready。
2016-11-18 09:49:13 266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人