C# 异步和多线程

说起异步,Thread,Task,async/await,IAsyncResult 这些东西肯定是绕不开的,今天就来依次聊聊他们1.线程(Thread)多线程的意义在于一个应用程序中,有多个执行部分可以同时执行;对于比较耗时的操作(例如io,数据库操作),或者等待响应(如WCF通信)的操作,可以单独开启后台线程来执行,这样主线程就不会阻塞,可以继续往下执行;等到后台线程执行完毕,再通知主线程,然后
阅读本文

.NET 通用高扩展性的细粒度权限管理架构(webApi/Mvc)

一. 权限场景分析:1. 系统具有角色概念, 部门概念, 且都具有相应不同的权限2. 用户具有多个角色, 多个部门等关系, 并且能给单个用户指派独有的权限3. 具有细粒度权限控制到资源的RBAC, 能控制页面, 控制菜单, 控制逻辑, 控制单个操作, 控制到单一数据; 且具有一定的可扩展性4. 适用于webapi/ mvc / wcf / webservice  混合项目中5. 设置权限和验证权限
阅读本文

maven手动将本地jar包加入到本地maven仓库

引言  你以为的就是你以为的,这句话有把小编坑了一顿啊,昨天在搭建项目的时候,利用maven管理jar包,但是在应用hibernate核心包的时候,小编的项目中需要用到3.6.10版本,当写好配置文件以后就一直报错,后来发现本地仓库没有对应的jar包,但是可能由于网络的原因在公司的私服上面又下载不下来,于是小编手动的到私服上面下载了一个单独的jar包放在对应的路径下面,但是还是一直报错。换成4
阅读本文

第三章 Web框架 Nancy

如果使用Nancy作为一个WEB框架而言,会有什么不同?实际上很多。    在使用Nancy框架为网页添加Rest节点和路由和之前的Rest框架中是相同的,这方面没有什么需要学习的了。Nancy采用一贯的处理方式, 通过一些模块化的组件进行扩充功能,使得更加适合开发一个完整的WEB站点。    Nancy非常适合提供基于自定义路由的静态文件和基于数据的视图(就像ASP.NET MVC),事
阅读本文

类型转化&WCF不同binding的区别

//http模式calcFactory = new ChannelFactory(new BasicHttpBinding(BasicHttpSecurityMode.None), address);//tcp模式 calcFactory = new ChannelFactory(new NetTcpBinding(SecurityMode.None), address);c
阅读本文

关于C#调用广州医保HG_Interface.dll调用的一些总结(外部组件异常)

开始做的时候也遇到了奇葩的情况、创智提供的dll只能在有UI的Winform、WPF上使用,WebForm、WPF、WebService完全没办法使用,Console在加上了[STAThread]的线程Attribute之后也可以成功调用,推测和dll使用MFC编写有关、但是各种引入MFC的dll均无果,一筹莫展之际把问题提到了交流群里,吾乐吧的牛总给出了可行的解决方案----使用
阅读本文

[WCF权限控制]WCF的三种授权模式

前面的两篇文章(《》和《》)主要探讨基于安全主体的授权。通过这些介绍我们知道:如果我们在实施授权的时候,当前线程的安全主体能够被正确设置,我们就可以正确地完成授权。基于相同的原理,对于WCF的服务授权,如果正确的安全主体能够在服务操作被执行之前被正确设置到当前线程,借助于这个安全主体,我们不但可以采用命令式编程的方式将授权逻辑写在相应的操作中,也可以采用声明式编程的方式将授权策略定义在应用在服务操
阅读本文

C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!

说起异步,Thread,Task,async/await,IAsyncResult 这些东西肯定是绕不开的,今天就来依次聊聊他们1.线程(Thread)多线程的意义在于一个应用程序中,有多个执行部分可以同时执行;对于比较耗时的操作(例如io,数据库操作),或者等待响应(如WCF通信)的操作,可以单独开启后台线程来执行,这样主线程就不会阻塞,可以继续往下执行;等到后台线程执行完毕,再通知主线程,然后
阅读本文

MyEclipse下Tomcat无法部署项目 finish按钮无法点击

将myeclipse的问题解决以后,项目环境已经搭建好了,可是在部署项目的时候,发现tomcat 不能部署,不知道在解决上面问题的时候怎么搞的,将Context-root弄没了  问题描述:MyEclipse环境下,使用Tomcat进行项目部署时,无法部署项目,finish按钮无法点击。
阅读本文

MythXinWCF通用宿主绿色版发布(一键启动,方便快捷)

这是我开发的一款免费的,绿色的WCF宿主工具,一键启动,方便快捷,该工具运行环境为.Net Framework 4.5.1(这个是必装的,win10自带4.6理论上可以直接运行,没测试过-_-!),但是理论支持所有版本的WCF,不过必须要装相对应的Framework。开发这款软件的目的在于不需要安装IIS,不需要配置文件,简化部署。下面我就介绍一下如何使用吧。首先下载地址:http://pan.b
阅读本文

.Net DateTime跨时区相关问题

项目:.Net CS结构,WCF通信,MySql存储。 场景:客户端(UTC+07:00)获取本地时间(DateTime对象)2017-01-17 15:20:12,通过WCF(http)传输至服务端,服务端(UTC+08:00)DateTime对象值变成2017-01-17 16:20:12,由于业务严重依赖字面值(年月日时分秒),所以。。。严重bug。 查询一番发现,是时区相关概念在作怪,以
阅读本文

难忘2016,奋斗2017

你在干嘛?       我在Coding!!!!!!!       对,此时此刻,我在coding。因为我是代码工程师。 .NET 项目        做过cs项目,做过bs项目,做过easyui项目,做过mvc项目,做过web service项目,做过sql项目,做过wcf项目,做过终端项目......细细数来,自己做过的项目还是很多的,用到的东东也还是很多的。       从20
阅读本文

json字符串和json对象的相互转换方法

js中存在json字符串和json对象的区别。两者之间可以相互转换。 JSON字符串: var s1 = ‘{ “name”: “zs”, “sex”: “man” }’; JSON对象:var o1= { “name”: “ls”, “sex”: “woman” }; 1、JSON字符串转换为JSON对象 var obj = eval(‘(’ + s1+ ‘)’);//eval()函数是j
阅读本文

js动态创建html元素的方法

js动态创建html元素需要使用到下面这些常见的js方法。 getElementById();//返回带有指定 ID 的元素。 getElementsByTagName();//返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。 getElementsByClassName();//返回包含带有指定类名的所有元素的节点列表。 appendChild();//把新的子节点添加到
阅读本文

js判空的方法

1、判断对象为null的方法 var x = null; if (x === null) 还可以使用下面几种方法进行判断,但是都有一些地方需要注意。 使用if (typeof(x)== “undefined”)判空时,只有x为undefined时,才返回true。 使用if(typeof(x) != “object”)判空时,只有x为null时,才返回false。 使用if(x==null)判
阅读本文

WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)

对于一般的多线程操作,比如异步地进行基于文件系统的IO操作;异步地调用Web Service;或者是异步地进行数据库访问等等,是和具体的线程无关的。也就是说,对于这些操作,任意创建一个新的线程来执行都是等效的。但是有些情况下,有些操作却只能在固定的线程下执行。比如,在GUI应用下,对控件的访问就需要在创建该控件的线程下执行;或者我们在某个固定的线程中通过TLS(Thread Local Stora
阅读本文

WCF 配置文件分解

一、概述   配置也是WCF编程中的主要组成部分。他指定向客户端公开的服务,包括服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型等。使用配置文件后,我们无需编译即可修改WCF的变化的信息,提高了程序的灵活性。   如果在代码里写了配置,那么配置文件将不起作用。   Web程序在Web.config中配置,应用程序中在App.config中配置。 二、服务配置的主要部
阅读本文

实例说明jquery中html()、text()、val()方法的区别

1、html() 读取和修改元素的HTML标签。对应js中的innerHTML。 2、text() 读取或修改元素的纯文本内容。对应js中的innerText。 3、val() 读取或修改表单元素的value值。 val()只能使用在表单元素上,html()和text()方法不是被用于表单元素。 <!DOCTYPE html> <html> <head> <script src=“/jque
阅读本文

[转]十五天精通WCF——第二天 告别烦恼的config配置

经常搞wcf的基友们肯定会知道,当你的应用程序有很多的“服务引用”的时候,是不是有一种疯狂的感觉。。。从一个环境迁移到另外一个环境,你需要改变的endpoint会超级tmd的多,简直就是搞死了人。。。好了,这篇我们来看看如何最小化配置。 一:精简service的config配置  就像上一篇的代码一样,我的service端的config配置如下: 1 <?xml version=“1.0
阅读本文

[转]十五天精通WCF——第十二天 说说wcf中的那几种序列化

我们都知道wcf是由信道栈组成的,在我们传输的参数走到传输信道层之前,先需要经过序列化的过程,也就是将参数序列化为message,这篇我们就来说说这里的序列化,蛮有意思的,可能初学者也明白,在wcf中默认的序列化是DataContractSerializer,确实是这样,不过wcf在信道中其实不仅仅支持DataContractSerializer,它还支持其他类型的序列化,比如XmlSer
阅读本文