自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(256)
  • 收藏
  • 关注

转载 .NET简谈事务、分布式事务处理

在本人的 “ .NET简谈事务本质论”一文中我们从整体上了解了事务模型,在我们脑子里能有一个全局的事务处理结构,消除对数据库事务的依赖理解,重新认识事务编程模型。今天这篇文章我们将使用.NET C#来进行事务性编程,从浅显、简单的本地事务开始,也就是我们用的最多的ADO.NET事务处理,然后我们逐渐扩大事务处理范围,包括对分布式事务处理的使用,多线程事务处理的使用。 数据库

2017-01-17 16:56:41 491

转载 右键 - 添加Git Bash Here菜单

步骤:        1、通过在“运行”中输入‘regedit’,打开注册表。        2、找到[HKEY_CLASSES_ROOT\Directory\Background]。    3、在[Background]下如果没有[shell],则右键-新建项[shell]。    4、在[shell]下右键-新建项[open in Git],其值为“Git

2016-12-01 09:48:24 587

转载 .Net Core程序一步一步在CentOS上跑起来

文章背景 微软6月26号发布core 1.0版本后,园子里关于这方面的文章就更加火爆了,不管是从文章数量还是大家互动的热情来看,绝对是最热门的技术NO.1。我从去年底开始接触.net core到现在也大半年了,一直停留在浏览各种帖子上,偶尔新建个项目敲几行代码练习一下。可是对于core最大的卖点——跨平台,一直没法实际体验一回,因为压根没接触过Linux,完全不

2016-10-28 17:22:02 712

原创 asp.net调用带账号密码的webservice

1、vs2008右键添加web服务引用,如果是vs2008以上则右键添加服务引用-高级-web引用-然后和vs2008一样,如果是wcf则直接服务引用。2、调用处代码: WebReference.test sap = new WebReference.test(); //输入账号密码 sap.Credentials = new NetworkCredential("账

2016-10-25 17:52:47 2249

原创 将一个实体类赋值到另一个实体类

/// /// 将一个实体类复制到另一个实体类 /// /// 源实体类 /// 复制到的实体类 /// 不复制的属性 public void EntityToEntity(object objectsrc, object objectdest,params string[] excudeFields) { var sourceType = obj

2016-10-25 17:52:44 19774

原创 一个线程的独白

我是一个线程, 我一出生就被编了个号: 0x3704,  然后被领到一个昏暗的屋子里,  这里我发现了很多和我一模一样的同伴。我身边的同伴0x6900 待的时间比较长, 他带着沧桑的口气对我说:我们线程的宿命就是处理包裹。 把包裹处理完以后还得马上回到这里,否则可能永远回不来了。我一脸懵懂,包裹,什么包裹?”不要着急,马上你就会明白了, 我们这里是不养闲人的。“果然,没多久,屋子的门开了, 一个面

2016-10-25 17:52:41 271

原创 使用webservice返回xml格式数据使用jq解析

1.新建一个web服务,命名为TestWebService.asmx/// /// 测试 /// /// 信息 /// [WebMethod(Description = "修改信息")] public DataTable ModifyInfo(string TestInfo) { DataTable dt = new DataTable("

2016-10-25 17:52:38 2239

原创 简单的asp.net自定义控件

新建一个类,命名为YearAndMonthInput代码如下:using Forks.EnterpriseServices.DomainObjects2.DQuery;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web.UI;using System.W

2016-10-25 17:52:36 295

原创 压力测试的轻量级具体做法

一:压力测试中需要掌握的几个基本概念1:吞吐率(Requests per second)服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。记住:吞吐率是基于并发用户数的。这句话代表了两个含义,1:吞吐率和并发用户数相关;2:不同的并发用户数下,吞吐率一般是不同的。计算公式:总请求数

2016-10-25 17:52:33 243

原创 vs2012扩展插件大合集(亲自试验,持续更新中...)

打开vs2012,在【工具】中,找到【扩展和更新】,然后【联机】,这里可都是最全的扩展扫插件呀!我也准备用,如果有用的顺手的,我会更新到这里,开始测试中。。。第一个插件:【换vs2012皮肤插件】联机中找到 visual Strdio 2012 color theme Editor,再重新启动vs2012就可以选择了,超好呀!第二个插件:【Indent Guides】安装后重启就行了。第三个插件:

2016-10-25 17:52:30 2171

原创 mssql将字符串拆分为数组

Create function [dbo].[split](@SourceSql varchar(max),@StrSeprate varchar(10))returns @temp table(line varchar(max))asbegin declare @i int set @SourceSql = rtrim(ltrim(@SourceSql)) set @i = c

2016-10-25 17:52:27 3041

原创 .NET基于Redis缓存实现单点登录SSO的解决方案

一、基本概念最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享。单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。普通的登录是写入session,每次获取session看看是否有

2016-10-25 17:52:24 292

原创 ASP.NET Redis 开发

Redis简介Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同)。redis目前提供五种数据类型:str

2016-10-25 17:52:21 245

原创 Redis 详解 (一) StackExchange.Redis Client

这期我们来看StackExchange.Redis,这是redis 的.net客户端之一。Redis是一个开源的内存数据存储,可以用来做数据库,缓存或者消息代理服务。目前有不少人在使用ServiceStack.Redis这个.net客户端,但是这个的最新版本目前已经变成了商业软件。对于ServiceStack.Redis这种行为,我们没有什么好说的,留给我们的选择是使用低版本的开源版本或者转向其他

2016-10-25 17:52:18 884

原创 ServiceStack.Redis 使用教程

环境准备Redis (使用Windows版本做测试,运营环境建议使用Linux版本)ServiceStack.Redis-v3.00在Windows上运行Redis服务器作开发和测试是很好的,但是在运营环境还是Linux版本靠谱,下面我们就先解压Redis到一个目录下:运行redis-server.exe 看到如下Windows控制台:上面我们可以看到Redis运行的端口是6372我们先玩一下Re

2016-10-25 17:52:15 1273

原创 Linux 下 Redis 安装详解

redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的。项目中需要用集中式可横向扩展的缓存框架,做了一点调研,即便redis、memcached存在效率上的差异(具体比较参考http://timyang.net/data/mcdb-tt-redis/),但其实都能满足目前项目的需求;但是redis还是比较风骚的,支持链表和集合操作,支持正则表达式查找key,目前项目缓存的结果大

2016-10-25 17:52:13 201

原创 Lambda表达式详解

前言        1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。        2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介     lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部

2016-10-25 17:52:09 363

原创 如何找到安卓的密钥的md5、sha1签名

一、首先找到用于签名应用程序的文件,一般是放在C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\debug.keystore二、以管理员身份运行命令提示符,如果配置的path目录包含了keytool.exe目录则直接运行以下命令:keytool.exe -list -v -keystore "%LocalAppData%\Xamari

2016-10-25 17:52:06 647

原创 HTTP协议详解

一、概念协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传

2016-10-25 17:52:04 499

原创 Memcached通用类(基于Memcached Client Library)

分享下自己编写的Memcached通用类。欢迎大家帮忙指点下哈~使用的是.NET memcached client library 客户端+Memcached Providers using System;using System.Collections;using System.Collections.Generic;using System.Text;using Memcached.C

2016-10-25 17:52:00 382

原创 memcached安装及.NET中的Memcached.ClientLibrary使用详解

序言吹吹牛逼先,借我你的20分钟,保证你在.net中使用memcached缓存数据,畅通无阻,提升数据读取效率,分担数据库压力,便不在话下。本篇主要说下:memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法。memcached是什么,做什么的,为什么要使用它,本篇不做介绍,建议百度百科,我看拉下,那里比我还能吹牛逼,哈哈,上料。memcac

2016-10-25 17:51:57 275

原创 Xamarin.android打包发布(vs205)

一 将工具栏的Debug改为release二 工具-android-publish android app三 在location选择通过上篇文章生成的后缀名为.keystore文件     password随意     alias运行命令时输入的-alias后面的名字     key password输入设置的password然后点击下一步,选择生成的apk文件的目录以及名字。

2016-10-25 17:51:54 713

原创 Android签名机制:生成keystore、签名、查看签名信息

Android独有的安全机制,除了权限机制外,另外一个就是签名机制了。签名机制主要用在以下两个主要场合起到其作用:升级App和权限检查。升级App用户在升级一款已经安装过的App时,如果程序的修改来自于同一来源,则允许升级安装,否则会提示签名不一致无法安装的提示。权限检查我曾在Android Permission权限机制的具体使用一文中提过,对于申请权限的  protection level 为

2016-10-25 17:51:52 366

原创 Xamarin.Android下获取与解析JSON

一、新建项目1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二、同步请求既然是跨平台,我们自然不能按照java下的方式进行编写,否则如何跨平台呢,所以我们需要使用Syste.Net命名空间下的两个类:HttpWebRequest和HttpWebResponse。 首先打开Resources/layout/Main.a

2016-10-25 17:51:49 735

原创 Xamarin.Android活动的生命周期

一、前言用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失。可以看出app的“生命”是掌握在系统手上的,而不像Windows上开发的程序。 二、活动的生命周期这里我们借助一张图帮助我们理解: 当然很多人现在还看不懂这张图,下面我们会逐一介绍: 1.OnCreate这个方法是打开活动后第一个执行的事件,当然

2016-10-25 17:51:46 245

原创 Xamarin.Android多界面

一、准备开始学习本教程前必须先完成该教程http://www.cnblogs.com/yaozhenfa/p/xamarin_android_quickstart.html 否则将无法继续。 二、界面1.打开Resources/layout/Main.axml文件,并在Call Button下方继续加入一个按钮,并设置其id为@+id/CallHistoryButton同时设置Text为@stri

2016-10-25 17:51:42 391

原创 Xamarin.Android快速入门

一、准备工作1.创建一个空的解决方案,并命名为Phoneword  2.右击解决方案 新建-》新建项目 并命名为Phoneword_Droid 二、界面1.打开Resources文件夹-》layout文件夹双击打开Main.axml 2.然后将会出现下面的界面 3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个 Text(Large) 控件到该界面中,如下所示:

2016-10-25 17:51:40 341

原创 最新版Xamarin Mono For Android、Monotouch 安装、破解(实时同步更新)

说明:(1)本破解支持Win7、Win8、Win10与VS2010、VS2013、VS2015各种组合,支持Mac;(2)在此表示对BinSys的感谢。原文链接:http://www.jianshu.com/p/c67c14b3110c(感谢作者为广大普通xamarin开发人员提供了如此详细的破解教程和如此方便的破解工具,并且还能做到与官网随时保持同步更新,也算是为xamarin的"推广应用"出了

2016-10-25 17:51:37 462

原创 Xamarin 手动安装步骤+破解(最新版Xamarin V3)

Create native iOS, Android,Mac and Windows apps in C#.    看到这句话,你就知道Xamarin是什么了,对于C#开发者,这样的标语还是会让你激动一下下的。    可能很多人知道Mono,类似于.net framework ,但是跨平台:Linux, Unix, OS x等等都支持,意味着可以在这些平台运行C#程序。这里想说一下Mono和Xam

2016-10-25 17:51:34 1098

原创 WITH (NOLOCK)

缺点:  1.会产生脏读  2.只适用与select查询语句优点:  1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%。  2.可以用于inner join 语句脏读: 一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不同的结果就是脏读。详细内容:  要提升SQL的查询效能,一般来说大家会以建立索

2016-10-25 17:51:31 691

原创 网站获取硬盘目录文件报错access to the path ‘//’ is denied

1.打开iis-选中该网站-在右边功能区中双击身份验证-将里面所有身份验证全部禁用只启用匿名身份验证。2.选中应用程序池-选中该网站运行的应用程序池-点击高级设置-标识-...-自定义账户-输入可以访问的账号密码。网络上面还有许多关于此错误的解决方法,我按照那些说法弄了下不行,可能我这个是特例吧。

2016-10-25 17:51:28 1728

原创 Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden

Nginx在win7,win2008下启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。原因是Win7下nginx默认80端口被System占用,造成nginx启动报错的解决方案。在cmd窗口运行

2016-10-25 17:51:25 3590

原创 使用iis7及以上版本配置伪静态

一 在解决方案中新建一个类库,命名为UrlReWriter(随意),在该类库中新建一个类,命名为MyUrlWriter(随意),该类中的代码如下:public class MyUrlWriter:IHttpModule { public void Init(HttpApplication context) { conte

2016-10-25 17:51:22 708

原创 Asp.net实现URL重写

【概述】URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力;而且在你改变了自己的网站结构后,无需要求用户修改他们的书签,无需其他网站修改它们的友情链接;它还可以提高你的网站的安全性;而且通常会让你的网站更加便于使用和更专业。【过程】 【方法】1、在asp.net请求管道中重写

2016-10-25 17:51:19 1075

原创 C#中添加三个线程同时启动执行某一方法,并依次调用某方法中的循环打印输。

添加三个线程同时启动执行某一方法,并依次调用某方法中的打印输:ABC ABC ABC ABC    实现代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;na

2016-10-25 17:51:16 7228

原创 C#多线程学习(六) 互斥对象

如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待

2016-10-25 17:51:13 189

原创 C#多线程学习(五) 多线程的自动管理(定时器)

Timer类:设置一个定时器,定时执行用户指定的函数。              定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。初始化一个Timer对象: Timer timer = new Timer(timerDelegate, s,1000, 1000); // 第一个参数:指定了TimerCallback 委托,表示要执行的方法;// 第二个参数:一个包含回调方法要使用的信

2016-10-25 17:51:10 169

原创 C#多线程学习(四) 多线程的自动管理(线程池)

在多线程的程序中,经常会出现两种情况:一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应                  这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒                  这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统维护的线程池(可以

2016-10-25 17:51:07 151

原创 C#多线程学习(三) 生产者和消费者

前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,关键字lock定义如下:lock

2016-10-25 17:51:04 166

原创 C#多线程学习(二) 如何操纵一个线程

下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。 打开你的VS.net

2016-10-25 17:51:01 157

空空如也

空空如也

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

TA关注的人

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