.Net

C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)

制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载。下面制作证书,以及制作cab包需要用到一些工具。我将工具包上传到自己的博客园里了,以供大家下载。工具包下载地址:https://files.cnblogs.com/files/Scholars/CABTest.7z先新...

C#解决WebClient不能下载https网页内容

在下载之前,执行以下代码即可:if(stUrl.Substring(0,5)=="https"){//解决WebClient不能通过https下载内容问题ServicePointManager.ServerCertificateValidationCallback+=delegate(objectsender,Syst...

C# 有关日期的使用方法

 DateTimedt=DateTime.Now;//当前时间DateTimestartWeek=dt.AddDays(1-Convert.ToInt32(dt.DayOfWeek.ToString("d")));//本周周一DateTimeendWeek=startWeek.AddDays(6);//本周周...
代码星球·2021-02-15

C# WebApi过滤器(开发接口必备利器)

在WEBApi中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理。引入了这一机制可以更好地践行DRY(Don’tRepeatYourself)思想,通过Filter能统一地对一些通用逻辑进行处理,如:权限校验、参数加解密、参数校验等方面我们都可以利用这一特性进行统一处理,...

C# 实现身份验证之WebApi篇

今天再来总结关于如何实现WebApi的身份验证,以完成该系列所有文章,WebApi常见的实现方式有:FORM身份验证、集成WINDOWS验证、Basic基础认证、Digest摘要认证 第一种:FORM身份验证(若在ASP.NET应用程序使用,则该验证方式不支持跨域,因为cookie无法跨域访问)1.定义一个F...
代码星球·2021-02-15

C# 实现身份验证之WCF篇(2)

前面总结了三种方法,今天又将分享三种方法,完成WCF篇。第四种:SOAPHeader验证首先定义一个WCF服务契约及服务实现类(后面的各种验证均采用该WCF服务),我这里直接采用默认的代码,如下:服务契约定义:namespaceWcfService1{//注意:使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置...
代码星球·2021-02-15

C# 实现身份验证之WCF篇(1)

WCF身份验证一般常见的方式有:自定义用户名及密码验证、X509证书验证、ASP.NET成员资格(membership)验证、SOAPHeader验证、Windows集成验证、WCF身份验证服务(AuthenticationService),这些验证方式其实网上都有相关的介绍文章,我这里算是一个总结吧,顺便对于一些注意...
代码星球·2021-02-15

C# 实现身份验证之WEB Service篇

在这个WEBAPI横行的时代,讲WEBService技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEBService,源于我最近面试时被问到相关问题,我这里只是重新复习一下并总结一下,给新手们指指路,大牛们可以无视之,当然不足之处还请大家指教,谢谢!WEBServi...

C#设计模式(23)——备忘录模式(Memento Pattern)

   在上一篇博文分享了访问者模式,访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离。而今天要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起人的具体命令(命令对应的是行为),而备忘录模式保存的是发起人的状态(而状态对应的数据结构,如属性)。下面具体来看看...

C#设计模式(22)——访问者模式(Vistor Pattern)

  在上一篇博文中分享了责任链模式,责任链模式主要应用在系统中的某些功能需要多个对象参与才能完成的场景。在这篇博文中,我将为大家分享我对访问者模式的理解。   访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保存不变。访问者模式适用于数据结构相对稳定的系...

C#设计模式(21)——责任链模式

  在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所以在面试的完后,经常会有面试官说,你这个薪水我这边觉得你这技术可以拿这个薪水的,但是还需要技术总监的批准等的话。这个例子也就诠...
代码星球·2021-02-15

C#设计模式(20)——策略者模式(Stragety Pattern)

   前面主题介绍的状态模式是对某个对象状态的抽象,而本文要介绍的策略模式也就是对策略进行抽象,策略的意思就是方法,所以也就是对方法的抽象,下面具体分享下我对策略模式的理解。  在现实生活中,策略模式的例子也非常常见,例如,中国的所得税,分为企业所得税、外商投资企业或外商企业所得税和个人所得税,针对于这3种所...

C#设计模式(19)——状态者模式(State Pattern)

  在上一篇文章介绍到可以使用状态者模式和观察者模式来解决中介者模式存在的问题,在本文中将首先通过一个银行账户的例子来解释状态者模式,通过这个例子使大家可以对状态者模式有一个清楚的认识,接着,再使用状态者模式来解决上一篇文章中提出的问题。  每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状...

C#设计模式(18)——中介者模式(Mediator Pattern)

  在现实生活中,有很多中介者模式的身影,例如QQ游戏平台,聊天室、QQ群和短信平台,这些都是中介者模式在现实生活中的应用,下面就具体分享下我对中介者模式的理解。  从生活中的例子可以看出,不论是QQ游戏还是QQ群,它们都是充当一个中间平台,QQ用户可以登录这个中间平台与其他QQ用户进行交流,如果没有这些中间平台,我们...

C#设计模式(17)——观察者模式(Observer Pattern)

   在现实生活中,处处可见观察者模式,例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用。在这一章将分享我对观察者模式的理解,废话不多说了,直接进入今天的主题。  从生活中的例子可以看出,只要对订阅号进行关注的客户端,如果订阅号有什么更新,就会直接推送给订阅了的用户。从中,我们就...