05 2016 档案
摘要:本文旨在介绍如何使用常用的 Swagger 和 Swashbuckle 框架创建描述 Restful API 的交互界面,并为 API 用户提供丰富的探索、文件和操作体验。 源代码: 下载 SwaggerUi_2.zip 步骤 在本文中,我们将在 Asp.Net 创建一个简单的 Restful AP
阅读全文
摘要:给WebAPI的REST接口服务添加测试页面(一) 给WebAPI的REST接口服务添加测试页面(一) 当使用WebAPI提供REST服务的时候,一个经常进行的操作是对接口进行测试。Asp.net WebAPI框架本身并没有提供这一接口,不过由于提供的是标准的REST服务,是可以非常方便的使用一些第
阅读全文
摘要:给WebAPI的REST接口添加测试页面(二) 给WebAPI的REST接口添加测试页面(二) 在上篇文章中,我对Swagger-UI的基本功能进行了一些介绍,今天在这里介绍一下如何在WebAPI中集成Swagger-UI。这里以一个简单的CRUD的REST服务为例。 View Code 使用Swa
阅读全文
摘要:ASP.NET Web API 使用Swagger生成在线帮助测试文档 Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是
阅读全文
摘要:Swagger学习和实践 最近安装并使用了一下Swagger-ui、Swagger-editor和Swagger-codegen,感觉还不错。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是对REST API定义一个
阅读全文
摘要:C# 中DateTime的各种使用 获得当前系统时间: DateTime dt = DateTime.Now;Environment.TickCount可以得到“系统启动到现在”的毫秒值DateTime now = DateTime.Now;Console.WriteLine(now.ToStrin
阅读全文
摘要:在SQL Server中快速删除重复记录 2006-07-17 21:53:15 分类: SQL Server 开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重
阅读全文
摘要:SQL Server死锁产生原因及解决办法 2006-07-18 05:12:10 分类: SQL Server 其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B,另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已
阅读全文
摘要:SqlServer表死锁的解决方法 前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本文表锁住了的解决方法。 其实不光是上面描述的情况会锁住表,还有很多种场景会使表放生死锁,解锁其实很简单,下面用一个示例来讲解
阅读全文
摘要:SQL Server中解决死锁的新方法介绍 数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法。 将下面的SQL语句放在两个不同的连接里面,并且在5秒内同时执行,将会发生死锁。 SQL Server对付死锁
阅读全文
摘要:概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他
阅读全文
摘要:sql SELECT时的with(nolock)选项说明 I used to see my senior developers use WITH (NOLOCK) when querying in SQL Server and wonder why they use. Now i explored
阅读全文
摘要:原文:http://www.th7.cn/Program/net/201403/183756.shtml 最近在研究MVC4,使用vs2010,开发的站点在发布和部署到iis7上的过程中遇到了很多问题,现在将解决的过程记录下来,以便日后参考,整个过程主要以截图形式呈现vs2010的安装和mvc4的安
阅读全文
摘要:一个最最基础的 串口通信 程序!!! 最近正在学c#_还不是很熟悉_只是有点java的基础 SerialPort类 的介绍 http://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport(v=vs.80).aspx 这个例子网上有
阅读全文
摘要:如果,翻看我之前的博客,会找到一篇用I/O模拟IIC通信的程序文章。好吧,如果找不到可以点击这里,这里就不在赘述了,系统也已经完全调试通过了。 今天的任务是,把测试得到的数据在上位机的界面上显示出来,于是键盘手花了两天的时间模仿着巨人的肩膀通过了用C#编写的界面程序,界面很简单就像下面显示的一样。
阅读全文
摘要:C# 串口通信总结 我们知道对于 标准DLL,可以采用DllImport进行调用。例如: [DllImport("KMY350X.dll")] private static extern int OpenPort(int PortNum, int BaudRate); 如果一些厂家比较懒的话,没有提
阅读全文
摘要:配置文件的读写 System.ConfigurationManager类用于对配置文件的读取。其具有的成员如下: 一、AppSettings AppSetting是最简单的配置节,读写非常简单。 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数
阅读全文
摘要:锁机制与原子操作 <第四篇> 一、线程同步中的一些概念 1.1临界区(共享区)的概念 在多线程的环境中,可能需要共同使用一些公共资源,这些资源可能是变量,方法逻辑段等等,这些被多个线程共用的区域统称为临界区(共享区),临界区的资源不是很安全,因为线程的状态是不定的,所以可能带来的结果是临界区的资源遭
阅读全文
摘要:配置文件入门 - WebConfig.config常用配置节点介绍 一、配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config。在WinForm程序中配置文件一般是App.config。在Asp.net中一般默认是web.config。 一个.c
阅读全文
摘要:线程池 异步I/O线程 <第三篇> 在学习异步之前先来说说异步的好处,例如对于不需要CPU参数的输入输出操作,可以将实际的处理步骤分为以下三步: 启动处理; 实际的处理,此时不需要CPU参数; 任务完成后的处理; 以上步骤如果仅仅使用一个线程,当线程正在处理UI操作时就会出现“卡”的现象。 如果使用
阅读全文
摘要:线程初步了解 - <第一篇> 操作系统通过线程对程序的执行进行管理,当操作系统运行一个程序的时候,首先,操作系统将为这个准备运行的程序分配一个进程,以管理这个程序所需要的各种资源。在这些资源之中,会包含一个称为主线程的线程数据结构,用来管理这个程序的执行状态。 在Windows操作系统下,线程的的数
阅读全文
摘要:线程池之ThreadPool类与辅助线程 - <第二篇> 一、CLR线程池 管理线程开销最好的方式: 尽量少的创建线程并且能将线程反复利用(线程池初始化时没有线程,有程序请求线程则创建线程); 最好不要销毁而是挂起线程达到避免性能损失(线程池创建的线程完成任务后以挂起状态回到线程池中,等待下次请求)
阅读全文
摘要:查询设计分析 一、查询设计的建议 在一些情况下,查询结构使优化器不能选择最好的处理策略。知道何时发生这种情况以及如何避免它是很重要的。这里主要介绍如下几点: 在小的结果集上操作; 有效使用索引; 避免优化器提示; 使用域和参照完整性; 避免资源密集型的查询; 减少网络传输数量; 减少事务开销; 二、
阅读全文
摘要:引用类型与值类型在编码上的区别 一、引入类型与值类型简介 值类型:直接存放于栈中,取的时候是直接取得值。值类型继承自System.ValueType。(自定义对象) 引用类型:存在于托管堆中,取的时候是从栈取该对象的地址,然后用这个地址去托管堆中取值。引用类型继承自System.Object。(in
阅读全文
摘要:SQLServer XML类型 SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用。一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择。 1、创建测试数据 创建表 --创建表,包含Xml类型列 CREATE TABLE Person ( Id in
阅读全文
摘要:Lucene.net 性能《第八篇》 一、IndexReader性能分析 IndexReader完成了打开所有索引文件和提供底层reader API等繁重的工作,而IndexSearch则要简单得多。由于打开一个IndexReader需要较大的系统开销,因此最好是在所有搜索期间都重复使用一个Inde
阅读全文
摘要:搜索结果的处理和显示《第六篇》 一、提取搜索结果 1、TopDocs对象的说明 MaxScore:最高得分; TotalHits:匹配到的结果总数; ScoreDocs:匹配到的文档数组(内部可以获得文档Id与分数); 下面来看看获得的结果信息: Console.WriteLine(docs.Max
阅读全文
摘要:中文分词 《第七篇》 一、分词的方法 分词的方法主要有以下几种: 1、单字切分 单字切分就是把一段文字按照每个字去建立索引。 如果用来切分“我爱你伟大的中国”,就会切成“我”,“爱”,“你”,“伟”,“大”,“的”,“中”,“国”。这种分词效率低,但也能解决一些问题,聊胜于无。 2、二分法 二分法就
阅读全文
摘要:高级搜索 《第五篇》 一、解析搜索请求 搜索请求的概念是,用户输入关键词,然后程序去分析关键词,获取用户搜索的真实意图。 Lucene提供了一套QueryParser类,用来解析搜索请求。这个类是可以使用的。 1、QueryParser的基本使用 QueryParser用来分析用户输入的关键词,将关
阅读全文
摘要:构建索引 《第二篇》 一、理解创建索引的过程 创建索引的过程与写一本书差不多。 创建索引的过程如下: 建立索引器IndexWriter,这相当于一本书的框架。 建立文档对象Document,这相当于一篇文章。(对应数据库就是一张表) 建立信息字段对象,这相当于一篇文章中的标题,正文等。(对应数据库就
阅读全文
摘要:执行搜索 《第三篇》 一、执行搜索的基本方式 使用Lucene.net执行搜索,首先要创建IndexSearcher对象,然后通过Term和Query对象来封装用户输入的搜索条件,最后将结果封装在Hits对象中,返回给用户。 1、创建搜索器对象:IndexSearcher 创建IndexSearch
阅读全文
摘要:索引管理 《第四篇》 一、索引管理 1、查看索引的相关信息 查看索引的信息大概有如下方法: 通过IndexWriter类读取索引的相关信息,将其显示出来。 通过IndexReader及其子类读取索引的相关信息,将其显示出来。 通过可视化工具查看索引的相关信息。 1、使用IndexWriter类读取索
阅读全文
摘要:Lucene.net 基本示例 《第一篇》 Lucene.net是java平台搜索插件Lucene的移植版。它的主要用于开发搜索引擎,站内搜索等。 开篇之前,写个最简单的DEMO,让自己先体验下Lucene.net的魅力,顺便搭建环境。 static void Main(string[] args)
阅读全文
摘要:Autofac 组件、服务、自动装配 《第二篇》 http://www.cnblogs.com/kissdodog/p/3611799.html 一、组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1、类型创建RegisterType
阅读全文
摘要:Autofac 解释第一个例子 《第一篇》 Autofac是一个轻量级的依赖注入的框架,同类型的框架还有Spring.NET,Unity,Castle等。 Autofac的使用有一个非常让人郁闷的地方,就是服务器要求安装有Microsoft .NET Framework 4 KB2468871。该补
阅读全文
摘要:ServiceStack.Redis常用操作 - 事务、并发锁 一、事务 使用IRedisClient执行事务示例: using (IRedisClient RClient = prcm.GetClient()) { RClient.Add("key",1); using (IRedisTransa
阅读全文
摘要:ServiceStack.Redis 之 IRedisTypedClient<第四篇> IRedisTypedClient IRedisTypedClient类相当于IRedicClient的强类型版,其方法与属性大多数与IRedisClient类似。 它支持在Redis中使用Linq查询的强大的类
阅读全文
摘要:Redis 安装与简单示例 <第一篇> 一、Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或者64位。下载解压后图片如下: redis-server.exe redis服务器的da
阅读全文
摘要:Redis常用命令速查 <第二篇> 一、Key Key命令速查: 命令 说明 DEL 删除给定的一个或多个 key,不存在的 key 会被忽略,返回值:被删除 key 的数量 DUMP 序列化给定 key,返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键 EXIST
阅读全文
摘要:ServiceStack.Redis之IRedisClient<第三篇> 事实上,IRedisClient里面的很多方法,其实就是Redis的命令名。只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这些方法。 一、属性 IRe
阅读全文
摘要:redis常用命令 2015年1月9日mood暂无评论 1. redis查看当前所有的key 1 KEYS * 2. 查看当前redis的配置信息 1 CONFIG GET * 3. MISCONF Redis is configured to save RDB snapshots, but is
阅读全文
摘要:Redis学习手册(Key操作命令) Posted on 2012-03-26 07:13 Stephen_Liu 阅读(98043) 评论(2) 编辑 收藏 Redis学习手册(Key操作命令) 一、概述: 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、Lis
阅读全文
摘要:1:首先下载redis。从下面地址下:https://github.com/MSOpenTech/redis/releases2:创建redis.conf文件:这是一个配置文件,指定了redis的监听端口,timeout等。如下面有:port 6379。 配置: 遇到问题: 1 2 3 4 5 6
阅读全文
摘要:摘要 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove
阅读全文