
C#
文章平均质量分 79
fhuan123
这个作者很懒,什么都没留下…
展开
-
DotNet 资源大全(下)
HTML 和 CSS(HTML and CSS) AngleSharp:支持构建完整的 HTML5 DOM 和 CSS3 模型。 CsQuery:jQuery 风格的HTML5 解析器,可与 DOM 交互。 dotless:ruby Less CSS 库的 .NET 移植版本。http://www.dotlesscss.org ExC...原创 2018-07-12 10:18:31 · 471 阅读 · 0 评论 -
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
读在最前面: 1、本文以IIS8,Windows Server 2012R2做为案例 2、IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上。 3、IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。 4、默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动...原创 2017-06-28 21:39:07 · 796 阅读 · 0 评论 -
SQL2K,DTC错误:"该伙伴事务管理器已经禁止了它对远程/网络事务的支持"的解决办法...
近日在用wf做数据持久化时发现:该伙伴事务管理器已经禁止了它对远程/网络事务的支持。 (异常来自 HRESULT:0x8004D025)的错误。我是通过网络访问同事的sqlserver2000 时出现如上错误的,并且发生不能进行数据的持久化,找了些资料,发现是这个问题,换成本地sql就可以了。还是贴一下问题的原因和解决办法:在分布式应用程序中,不可避免地会经常使用到事务控制。事务有一...原创 2017-01-05 10:39:12 · 916 阅读 · 0 评论 -
夸数据库业务事务处理-配置msdtc
配置msdtc需要分别配置数据库服务器和开发机,因为只有两个机器都配置正确了,分布式事务才不会报乌七八糟的错误。如果数据库服务器和开发机是同一台机器,那就不用看本文了,因为不存在分布式事务的问题。 数据库服务器和开发机中配置msdtc的步骤是一样的,下面列出配置步骤。 1、防火墙。如果防火墙是关的,那就不用再设置了。如果防火墙是开的,那么确保msdtc.exe是在它的例...原创 2017-01-05 10:37:43 · 170 阅读 · 0 评论 -
C#中跨数据库增删改的事务控制
在程序的开发过程中,对数据库的增删改通常要用到事务,用来实现的全部更新和全部回滚。单数据库还比较好做,如果遇到同时操作多个数据库增删改,可以用下面的方法 一。TransactionScope类 TransactionScope类是framework2.0 新增的一个类,在System.Transactions命名空间中,使用时必须先添加System.Transactions引用;...原创 2017-01-04 13:25:55 · 190 阅读 · 0 评论 -
.Net下RabbitMQ的使用(9) -- 在WCF下使用RabbitMQ
RabbitMQ .net客户端通过自定义的Binding和Transport Binding Element扩展了WCF,使之能够在AMQP协议上使用。在WCF中,Binding作为一系列Binding Elements的栈,控制了消息传输的大部分方面如安全,消息格式,事务等等。而Binding中的Transport Binding Element传输绑定元素,则指定了服务端和客户端之间的通...原创 2016-12-19 10:42:26 · 180 阅读 · 0 评论 -
.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
RPC是在计算中是一种常见的模式,是通常我要用消息队列来实现RPC有3个关键点:1. 服务的寻址2. 消息的接收3. 消息的关联 在RabbitMQ的.net客户端里,提供了2个类:SimpleRpcClient 和 SimpleRpcServer 来让我们方便的开发RPC应用。因为RabbitMQ的RPC一定是基于队列的,所以在客户端和服务端都需要要一个各自的队列,客...原创 2016-12-19 10:42:13 · 270 阅读 · 0 评论 -
.Net下RabbitMQ的使用(6) -- 持久化
消息的持久化是消息队列必备的功能之一。在这篇文章中,就介绍一下RabbitMQ的持久化机制,和它的使用。 队列的持久化在前几篇的例子中,我们常常看到如下定义queue的方法:channel.QueueDeclare("Q1", false, false, false, null);方法的第四的参数autoDelete,一般都会输入false。文档描述这个参数如果是true的...原创 2016-12-19 10:41:58 · 200 阅读 · 0 评论 -
.Net下RabbitMQ的使用(7) -- 消息的传输控制
前文中也多次提到消息传输的一些概念,这一篇比较全面的介绍一下,然后补充一些内容。 消息的应答RabbitMQ有两种应答模式,自动和手动。这也是AMQP协议所推荐的。这在point-to-point和broadcast都是一样的。自动应答-当RabbitMQ把消息发送到接收端,接收端把消息出队列的时候就自动帮你发应答消息给服务。手动应答-需要我们开发人员手动去调用ack方法去...原创 2016-12-19 10:41:32 · 104 阅读 · 0 评论 -
IIS 优化
通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。 IIS7.5是微软推出的最新平台IIS,性能也较以前有很大的提升,但是默认的设置配不适合很大的请求。但是我们可以根据实际的需要进行IIS调整,使其性能更佳,支持同时10万个请求。 以下方案,通过对IIS7的配...原创 2017-06-28 21:57:17 · 185 阅读 · 0 评论 -
MongodDB client connect Server with Replication set and auth
写在这里,留作记录: 1. 利用字符串连接server:"mongodb://Admin:admin@xxx01:27017,xxx02:27017,xxx03:27017/admin?connect=replicaSet&replicaSet=rs0"; 2.利用MongoUrlBuilder连接server: MongoUr...原创 2017-07-03 16:50:41 · 145 阅读 · 0 评论 -
C# LINQ to SQL
1、Concat(连接不同的集合不会自动过滤相同项。会延迟计算)var q = (from c in db.Customers select c.Phone ).Concat( from e in db.Employees select e.HomePhone); var q = (fro...原创 2017-07-28 12:48:13 · 128 阅读 · 0 评论 -
DotNet 资源大全(上)
API 框架 NancyFx:轻量、用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台。 ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器和移动设备。 ServiceStack :架构缜密、速度飞快、令人愉悦的 web 服...原创 2018-07-12 10:17:28 · 538 阅读 · 0 评论 -
C#Make自动化构建-简介
. Cake是什么?Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。熟悉大名鼎鼎的Make的小伙伴,应该已经知道Cake大致是个什么样的工具了,Cake具有以下几个特点:方便编写:使用基于C#的DSL,非常易于编写自动化的脚本。跨平台: 基于Roslyn和Mono来编...原创 2018-05-25 17:10:42 · 527 阅读 · 0 评论 -
从零开始构建MSBuild C#项目文件
准备条件一个好用的文本编辑器,例如Atom或者Sublime Text。MSBuild命令行工具。如果已经安装了Visual Studio的话,应该可以在开始菜单中找到类似Visual Studio 2015的MSBuild命令提示符 这样的项目。创建程序首先打开MSBuild命令提示符,然后切换到你想要创建项目的文件夹,例如我的文档或者桌面。然后,输入md HelloWo...原创 2018-05-25 16:08:44 · 502 阅读 · 0 评论 -
asp.net mvc处理css和js版本问题
当服务的修改了js和css内容后,发布到IIS服务器上,总是导致客户端内容显示不正确,原因是客户端存在缓存,还是加载的原来的js和css问题。 在css或js后面添加版本号,例如:<script src="1.js?v=1.0"></script> 当版本号改变时,客户端会重新读取新的文件,问题解决了。 但同时也带了另一个问题,每次修...原创 2018-05-24 16:40:18 · 786 阅读 · 0 评论 -
分布式系统调用链监控
分布式系统调用链监控应用架构由集中式向分布式演进后,整个调用关系变得复杂。分布式架构由复杂且较大规模集群构成,各个应用之间相当独立,可能由不同团队、不同语言实现。系统一个完整的调用过程可能横跨多个服务及数据中心。复杂的调用导致系统出问题后难以定位问题。无法准确知道整体系统性能及运行情况。全链路性能监控一个请求完整的调用链可能如下图,经过多个系统服务,调用关系复...原创 2018-02-22 14:36:21 · 593 阅读 · 0 评论 -
TOKEN+签名验证
首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题,例如:请求来源(身份)是否合法?请求参数被篡改?请求的唯一性(不可复制),防止请求被恶意攻击为了保证数据在通信时的安全性,我们可以采用TOKEN+参数签名的方式来进行相关验证。...原创 2018-02-01 13:24:40 · 343 阅读 · 0 评论 -
ASP.NET WebAPI HTTPS
参照文档 http://southworks.com/blog/2014/06/16/enabling-ssl-client-certificates-in-asp-net-web-api/ 第一步 创建受信任的根证书颁发机构 makecert.exe -n "CN=Development CA" -r -sv DevelopmentCA.pvk Development...原创 2017-03-08 15:39:49 · 1100 阅读 · 0 评论 -
基于 EntityFramework 的数据库主从读写分离服务插件
1. 版本信息和源码1.1 版本信息v1.01 beta(2015-04-07),基于 EF 6.1 开发,支持 EF 6.1 之后的所有 EF6 版本。 1.2 开放源码地址https://github.com/cjw0511/NDF.Infrastructure关于该 EF 数据库主从读写分离服务核心源码位于文件夹:src\ NDF.Data.EntityFramew...原创 2017-03-08 15:06:05 · 158 阅读 · 0 评论 -
.Net下RabbitMQ的使用(5) -- 路由机制
理清路由机制是了解RabbitMQ来龙去脉的关键。在前面的例子中我们常常遇见这三个概念:exchange,routingKey 和 queue。真正地消息传输流程是消息先到exchange,然后exchange根据对应的routingKey放入queue,如果routingKey不匹配则丢弃。网上网友的一张图很好的展示了这个流程: 0.9 版本的AMQP协议的exchange有如...原创 2016-12-19 10:41:08 · 166 阅读 · 0 评论 -
.Net下RabbitMQ的使用(4) -- 订阅和发布
消息的订阅和发布是使用消息队列的常用场景。在上一篇文章中,虽然有多个消费者,但是一个消息只会有一个消费者来处理。而订阅和发布则是每个订阅该消息的消费者都会收到这个消息。RabbitMQ的路由机制让我们实现这个功能轻而易举。 要了解RabbitMQ的路由机制,exchange是一个关键。exchange可以叫做交换机,也似乎可以叫做路由器,反正它是用来选择路由的。前文说到,RabbitMQ...原创 2016-12-16 10:26:21 · 280 阅读 · 0 评论 -
.Net下RabbitMQ的使用(3) -- 竞争的消费者
在上一篇文章中,演示了一个发送者和一个消费者的情况。这一篇介绍一下多个消费者在同一个消息队列中获取消息的情况。 在有些应用当中,消费端接收到消息任务需要长时间的处理,如果等上一个消息处理完成以后再取下一个数据进行处理的话,势必会有一些延迟。在消息队列中的数据也会不断增多,延迟将越来越大。当然对于一个消费进程来说,在某些情况下可以起多个线程来处理,而在这里将介绍另一种处理方式,多个消费进程...原创 2016-12-16 10:23:39 · 424 阅读 · 0 评论 -
C# Stream 和 byte[] 之间的转换
一. 二进制转换成图片MemoryStream ms = new MemoryStream(bytes);ms.Position = 0;Image img = Image.FromStream(ms);ms.Close();this.pictureBox1.Image二. C#中byte[]与string的转换代码1、System.Text.UnicodeEncoding conver...2013-03-12 11:19:06 · 110 阅读 · 0 评论 -
Java,C#,Flex三方通讯(一)
今天是第一讲:Java调用C#-WebService 今天做了一个Java调用C#的Webservice的小例子 1.建立Java WebProject工程2.建立index.jspHtml代码 <%@ page language="java" contentType="text/html; chars...2012-03-19 20:13:54 · 138 阅读 · 0 评论 -
使用 XmlTextWriter 建立 XML 檔
常見的建立 XML 檔案的方式是使用XmlTextWriter類別。XmlTextWriter 繼承自 XmlWriter,而 XmlWriter 是抽象類別。XmlTextWriter常用方法說明如下:1. WriteStartDocument()用於寫Xml頭聲明,即<?xml version="1.0" encoding...原创 2012-10-19 10:00:55 · 100 阅读 · 0 评论 -
如何:将更新从数据库导入数据库项目
http://msdn.microsoft.com/zh-cn/library/aa833173%28v=vs.100%29.aspx 首次创建数据库项目时,通常需要从现有的生产数据库中导入数据库架构。 如果在开发过程中对成品服务器应用了更改,那么您可能还需要将这些更改导入您的项目中。 不能使用“导入数据库架构”命令,因为该命令仅适用于尚未包含数据库对象的项目。...原创 2012-10-19 09:21:18 · 197 阅读 · 0 评论 -
Dictionary序列化和反序列化
using System.Collections.Generic;using System.IO;using System.Runtime.Serialization;using System.Xml.Serialization;namespace ConsoleApplication1{ internal class Program { ...原创 2011-10-14 16:26:04 · 416 阅读 · 0 评论 -
JDK7的推出,oracle独揽Java,是好是坏
今天在优快云看到JDK7也推出了lambda语法, 还有JDK7中的东西,比如云计算,移动方面的应用,等等。产生了一些感触:Java现在也成为微软的C#,一个厂商独揽的局面了,有好的一面:可以明确发展方向,可以在确定的方向上前进的更快。也同时带来了弊端:Java不再是多厂商,每家都有自己的特色,那样的Java是多方面发展,应用面更加广泛(因为jdk开源)。 Java原有的特点会不...2011-09-29 16:51:05 · 96 阅读 · 0 评论 -
string.Format() (2)
int a = 12345678; //格式为sring输出// Label1.Text = string.Format("asdfadsf{0}adsfasdf",a);// Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf";// Label1.Text = string.Fo...原创 2011-07-08 08:57:56 · 91 阅读 · 0 评论 -
C# String.Format大全(1)
变量.ToString()字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4...原创 2011-07-08 08:47:52 · 298 阅读 · 0 评论 -
Writing XML with the XmlWriter class
In previous chapters we have dealt with reading XML, but now it's time to start writing it as well. Since XML is simply text, you could just start writing out XML tags to a file and give it an xml ex...原创 2013-05-20 16:49:05 · 98 阅读 · 0 评论 -
C#的继承机制
一. 继承基础知识 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对象的程序设计语言提供了两个重要的特性--继承性inheritance 和多态性polymorphism。 继承是面向对象程序设计的主要特征之一,它可以让您重...原创 2012-09-18 13:43:45 · 119 阅读 · 0 评论 -
如何修改WCF中wsdl的targetNamespace
Where is tempuri.org in the WSDL?If you browse the service WSDL you will see tempuri.org all over the place. Here is a default WCF service WSDL.<wsdl:definitions name="Service1" targetNam...原创 2013-02-01 13:57:37 · 1162 阅读 · 0 评论 -
.Net下RabbitMQ的使用(2) -- 发送接收消息
在安装和配置完成RabbitMQ之后,我们就可以尝试做一个最简单的例子:发送和接收消息。 我们先来看客户端也就是发送者的代码:using RabbitMQ.Client;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;...原创 2016-12-16 10:20:43 · 192 阅读 · 0 评论 -
RabbitMQ 安装和监控
在Windows上安装Rabbit MQ 指南,最好的是这篇《Rabbit MQ Windows Installation guide》,其中还包括了使用.NET RabbitMQ.Client Nuget 包访问Rabbit MQ的示例代码。安装Rabbit MQRabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang。通过下面...原创 2016-12-16 10:14:51 · 197 阅读 · 0 评论 -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等...原创 2016-12-16 10:12:12 · 107 阅读 · 0 评论 -
在 Asp.NET MVC 中使用 SignalR 实现推送功能
一,简介Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息。可访问其官方网站:https://github.com/SignalR/ 获取更多资讯。 二,实现机制SignalR 的实现机制与 .NET WCF...原创 2016-06-20 13:44:41 · 156 阅读 · 0 评论 -
C# 获取属性名的方法
using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication{ class Pro...原创 2015-06-15 16:15:59 · 649 阅读 · 0 评论 -
C#中Config文件中,特殊符号的书写方法。
App.config: 1 <?xml version="1.0" encoding="utf-8" ?>2 <configuration>3 <startup> 4 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5&原创 2015-06-15 15:40:24 · 139 阅读 · 0 评论