聚合文章列表
0 浏览

【译】Asp.Net Identity Cookies 格式化

原文出处TrailmaxTechMaxVasilyev:ASP.NetMVCdevelopmentinAberdeen,Scotland中英对照版我的读者联系到我,并向我提出了一系列关于AspNetIdentity的问题。一开始我觉得这些问题都会比较简单,我能够轻松的回答他,但结果表明,这里面的每一个问题都值得写一篇单独的文章。所以我会写一个Mini系列关于Identity框架的“Q-A(问与答)”博客。第一个问题是关于Cookie安全Token以及它是如何被计算(computed)出来的:如果同一个用户在Chrome和Firefox中登陆,那么IdentityFramework在Cookie中创建token,token包含相同的信息(用户Id、SecurityStamp、等等),但是为甚么这两个Cookie是不同的?我思考了一下,我猜cookie创建信息和过期信息被编码在了cookie中,可能还有cookie的某种签名信息也被一同保存了。我觉得我猜的很接近答案。幸运的是,处理coo

.Net 2017-11-10 发布
0 浏览

ABP框架个人开发实战(1)_环境搭建

前言之前关注ABP框架有一阵子了,一直没有潜下心来实际研究一下。最近想自己建站,以后有自己的功能开发项目,可以在自己的站点上开发,并一步步的完善,所以找个比较好用的框架迫在眉睫,选来选去,决定用ABP框架。用群里的大大门的话来说,掌握了ABP,基本就可以飞天了~先简单介绍下吧(以下部分资料来自群里资料,如有侵权,请告知):ABP是“ASP.NETBoilerplateProject(ASP.NET样板项目)”的简称。ASP.NETBoilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序基础框架和项目模板。ASP.NETBoilerplate基于DDD的经典分层架构思想,实现了众多DDD的概念。ABP的官方网站:http://www.aspnetboilerplate.comABP在Github上的开源项目:https://github.com/aspnetboilerplateAPB采用了以下技术:服务器端:lASP.NETMVC

.Net 2017-11-10 发布
0 浏览

.NET Core HttpClient调用腾讯云对象存储Web API的"ERROR_CGI_PARAM_NO_SUCH_OP"问题

腾讯云提供的对象存储(COS)C#SDK是基于.NETFramework用WebRequest实现的,我们直接将这个实现迁移到.NETCore是可以正常调用,但后来我们基于HttpClient实现,调用webapi时总是返回"ERROR_CGI_PARAM_NO_SUCH_OP"错误。用Wireshark抓包后发现,基于WebRequest的实现的请求包开头比基于HttpClient的实现多了个"Preamble:0d0a"。1)基于WebRequest的实现2)基于HttpClient的实现检查代码后发现,在构建multipart/form-data时,腾讯云官方基于WebRequest的实现是这样构建数据包的开头的:varboundary="---------------"+DateTime.Now.Ticks.ToString("x");varbeginBoundary=Encoding.ASCII.GetBytes("\r\n-

.Net 2017-11-10 发布
AD 友情赞助
0 浏览

ConEmu v17.11.09 发布,可自定义的 Windows 终端

ConEmuv17.11.09已发布,ConEmu是一个可自定义的Windows终端,提供多标签支持和丰富的自定义选项。更新内容:XLatfromFardidn’tchangekeyboardlayoutinConEmu.GuiMacro:Select(2)cancelsactiveselection.conemu#1307:Turnon‘Longconsoleoutput’whenuserrunsscript.pyassociatedwithpy.exeThescriptisexecutedbyFar3viaShellExecuteEx(script.py),whichinturnrunsCreateProcess(py.exe,script.py)inbackgroundthreadconemu#1236,conemu#1303:WhenGetConsoleKeyboardLayoutNamenotimpl

.Net 2017-11-11 发布
0 浏览

IIS Express并发数设置

今天将之前的一个瓦片图的服务迁移到了asp.netcore试了一下,使用的时候感觉客户端刷新时有些慢,估计是并发连接数限制的原因。由于这是一个开发中的版本,是用IISExpress部署的,IIS的并发连接数设置我倒是知道,但又懒的将其部署到iis上,便道网上搜索了一下IISExpress的并发数连接限制的修改方法。找了一下,在StackOverFlow的一篇帖子ConfigureMaximumNumberofRequestsinIISExpress介绍了修改方案,步骤如下:打开IIS的配置文件"applicationHost.config",它在文件夹"%userprofile%\mydocuments\IISexpress\config"下新版本的VS的IISExpress路径好像有变化,但通过IISExpress的管理器依然可以很容易找到找到需要修改的网站配置,增加limit节点,修改maxConnections字段

0 浏览

线程队列

在web应用中,单个进程或者机器的响应速度有限,类似大量数据导入导出的操作的数量如果不加限制,会导致服务器cpu被吃满,导致其他一些很简单的请求无法及时响应的问题。针对这个限制提出了如下要求。1.先到达的请求先执行:先入先出原则2.只能同时执行若干请求:避免cpu被吃满3.异步执行:如果长时间执行会长期占用iis的工作线程基于上述的要求我设计了一个队列。这个队列我们需要稍微提一个组件,ParallelExtensionsExtras这是微软提供的一个线程的扩展,具体的自行搜索下相关资料,这里开始的时候我并没有用这个组件,而是自己对task的封装,但是实际上task还是利用的线程池,线程池默认的线程数10个,并不能满足某些场景对多个现成的要求,于是在漫长的搜索过程中才发现了这个组建。这里我主要用到两个对TaskScheduler的扩展QueuedTaskScheduler:对task进行排队执行,执行时在Thread环境中,并且可以控制线程的数量,类似自定义的线程池。ThreadPerTaskSchedule

.Net 2017-11-11 发布
0 浏览

.NET Core多平台项目模板eShopOnContainers编译手记

之前写了一个功能性的文件上传asp.netcore的小程序,加上点七七八八的东西,勉强能够应付了,打算学习一下微软的官方.NETCORE微服务示例https://github.com/dotnet-architecture/eShopOnContainers。这个例子很全面地展现了微服务、docker以及.netcore的魅力。里面使用了很多知识点,比如单点登录、API资源授权,权限控制,用户管理等,可以作为一个应用开发的学习模板。重要的事情强调三遍:多平台!多平台!多平台!一个项目包含了.NETCore在多个目标平台上的应用,包括ASP.NETCORE上的WEBSPA(单页应用)、传统网页以及移动APP(基于Xamarin,同时支持Android、iOS、windowsphone)。可以独立部署或者直接部署到Azure上,非常赞!具体分析结构的文章已经有不少了,我重点说下安装和编译的几个小坑,以便大家能够更快地开始。主要的参考链接是https://github.com/dotnet-architecture/eS

.Net 2017-11-11 发布
0 浏览

monkey:Go 语言实现的解析器(支持 json, linq, sql, net, http 等)

MonkeyProgrammingLanguageSummaryMonkeyisatoylanguageinterpreter,writteninGo.IthasC-stylesyntax,andislargelyinspiredbyRuby,PythonandPerl.OverviewThisprojectisbasedonmayoms'sprojectmonkeywithsomebugfixesandalotofnewfeaturesincluding:Modifiedstringmodule(whichcancorrectlyhandleutf8characterencoding)Addedfilemodule(withsomenewmethods).AddedmathmoduleAddedsql(db)module(whichcancorrectlyhandingnullvalues.Needs

.Net 2017-11-12 发布
AD 友情赞助
0 浏览

TFS在项目中Devops落地进程(上)

作为一名开发,经过近2年折腾,基于TFS的Devops主线工程大体落地完毕。在此大体回忆下中间的各种历程。开始之前简单说下什么是TFS(TeamFoundationServer)。TFS是微软推出的一款ALM(ApplicationLifecycleManagement)管理工具。透过TFS你将能获取到从代码版本管理->项目管理->持续集成->自动发布->自动测试等一系列软件生命周期在内的全家桶功能,它也有一个云端版称之为VSTS。VSTS/TFS=Github+Trello/TeamBition/Tower/Jira/Rally/RTC+QC/TestLink+Jenkins。TFS不仅是个存代码的,TFS不仅是个存代码的,TFS不仅是个存代码的,重要的事情说三次。只用TFS来存放代码的就相当于6000块买个iPhone当着200块的诺基亚功能机在用,暴殄天物。本文将会说:TFS在我们组里对提升我们组Devop所起到的作用和各种历程。本文将不会说:如何对TFS进行具体配置。

.Net 2017-11-12 发布
0 浏览

讲解.NET 集合中使用Count属性和扩展方法Count()区别

.NET中System.Linq命名空间中有个扩展方法叫Count(),现在看下面的代码示例:classProgram{staticvoidMain(string[]args){varuserList=newList();userList.Add(1);userList.Add(2);userList.Add(3);userList.Add(4);userList.Add(5);userList.Add(6);Console.WriteLine(userList.Count);Console.WriteLine(userList.Count());}}上门代码通过调用了List的自身属性Count,然后又调用了Linq支持的扩展方法Count(),结果都是输出的6,可是它们背后有哪些不一样呢?我们先开Count本身的属性,这里只粘贴了核心源码,完整的地址自行可以查看http://referencesource.microsoft.com/#mscorlib/system/collec

.Net 2017-11-12 发布
0 浏览

Unity中的Mono & Linux上编译Mono的流程

前段时间编译了一下Unity的Mono,看了很多相关的文章,也遇到很多新坑。所以来总结一下,加深自己对Mono的理解为什么Unity可以跨平台运行呢通常Unity的脚本有C#、JS、Boo。不过现在官方都只推荐使用C#了,为什么Unity可以支持用不同的语言编写代码呢?因为它使用了一种叫CIL的中间语言,C#、JS、Boo最终会被编译成一种叫IL的中间语言,然后通过Mono运行时编译成原生代码运行。什么是MonoJITJIT就是及时编译(justintime),能把IL及时编译成原生代码运行,跟解释语言又有些不同,JIT不是逐行解释执行,而是会把解释过的代码缓存起来,以备下次运行,因此从理论上说JIT可以接近以前的纯编译技术。Unity的跨平台是运行在Mono虚拟机上的,在安卓上可以通过JIT实现动态编译ILAssembly来热更新代码,但是在IOS平台,由于苹果公司禁用了JIT,只能通过AOT提前静态编译后执行。Unity编译出来的ILAssembly在哪里呢以C#为例,Unity会编译出以下DLLAs

.Net 2017-11-12 发布
AD 友情赞助
0 浏览

AutoMapper IIS回收引发的 未将对象引用设置到对象实例

一、前言最近使用AutoMapper的时候,一段时间久会产生System.NullReferenceException:未将对象引用设置到对象的实例。这个问题。后来通过测试,发现部署在IIS上的站点,默认情况下,IIS会在每个间隔固定时间回收AppPool,如果刚刚好有很多请求访问调用了AutoMapper映射的接口,就会产生如下问题。System.NullReferenceException:未将对象引用设置到对象的实例。在AutoMapper.TypeMapFactory.<>c__DisplayClass3_0.b__0(IMemberConfiguration_)在System.Linq.Enumerable.Any[TSource](IEnumerable`1source,Func`2predicate)在AutoMapper.TypeMapFactory.CreateTypeMap(TypesourceType,Typede

.Net 2017-11-13 发布
0 浏览

WPF 跨应用程序域的插件与 UI

为自己写的程序添加插件真的是一个相当常见的功能,然而如果只是简单加载程序集然后去执行程序集中的代码,会让宿主应用程序暴露在非常危险的境地!因为只要插件能够运行任何一行代码,就能将宿主应用程序修改得天翻地覆哭爹喊娘;而根本原因,就在于暴露了整个托管堆和整个UI树。本文将通过隔离宿主与插件到不同应用程序域中以解决这样的潜在安全性问题。使用本文的方法,不止支持跨域调用,还支持跨域UI。.NETFramework自3.5以来推出了System.AddIn程序集,将宿主和插件隔离在不同的应用程序域中,避免插件对宿主造成不良影响。相关资料较少,不过我在GitHub上找到了一个比较完善的例子程序ENikS/System.AddIn:ProjectsrelatedtoMicrosoftSystem.AddIn。正在研究中,未完待续……参考资料ENikS/System.AddIn:ProjectsrelatedtoMicrosoftSystem.AddInWPFAdd-InsOverview

.Net 2017-11-13 发布
0 浏览

使用Nginx搭建高可用,高并发的WCF集群

很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk对C#不大友好,实现起来相对来说比较麻烦,实际情况下,如果你的负载机制粒度很粗糙的话,优先使用nginx就可以搞定,既可以实现复杂均衡,又可以实现双机热备,以最小的代码量实现我们的业务,下面具体分享下。一:准备的材料1.话不多说,一图胜千言,图中的服务器都是采用vmware虚拟化,如下图:三台windows机器,两个WCF的windows服务器承载(192.168.23.187,192.168.23.188),一台Client的服务器(192.168.23.1)一台Centos机器,用来承载web复杂均衡nginx(192.168.23.190)。在所有的Client的Hosts文件中增加host映射:【192.168.23.190cluster.com】,方便通过域名的形式访问nginx所在服务器的ip地址。二:环境搭建1、WCF程序既然是测试,肯定就是简单的程序,代码就不完全给出了。publicclassHomeS

.Net 2017-11-13 发布
0 浏览

Windows下VS2015编译openssl库

OpenSSL是一个开源的第三方库,它实现了SSL(SecureSocketLayer)和TLS(TransportLayerSecurity)协议,被广泛企业应用所采用。往上有编译好的可供下载。最近自己编译了一下,写下来做点记录。编译环境和工具windows10专业版vs2015专业版ActivePerl52412402版本openssl-1.o.1c附上工具和我编译好的库http://pan.baidu.com/s/1geYRjUV步骤:1.安装ActivePerl并添加环(默认选项已经添加)2.解压openssl。一般可以解压到一个盘的根目录,我这里为了命令控制台方便就解压到c盘根目录下。3.进入控制台点击windows开始->所有应用->vs2015->开发者命令提示(DeveloperCommandPromptfor2015)。注意:这里不可以直接ctr+r进入控制台,否则就会出现nmake不是内部命令类似的错误,因为这样一来使用的就不是vs2015的环境编译的4.进入根目录CD到解压后的

.Net 2017-11-13 发布
0 浏览

DevExpress XtraReport与微软RDLC报表

在开发程序时,不可避免会涉及一些报表内容。如果是Winform的报表,DevExpress控件组的XtraReport和微软的RDLC报表使用频率都相对较高。本文主要介绍这两种不同类型报表的使用,以及对比它们的差异性,仅供参考。一、DevExpressXtraReport使用体验1.报表界面展示2.创建新报表为了实现这个报表模块,先使用VS的工具创建一个报表组件对象。在使用前,需要设置好报表组件的各个显示模块,报表上下空间部分(TopMargin/BottomMargin),这两个部分用来调整上下的边线的;然后每个报表有头部内容和底部内容的区分,ReportHeader一般用来放置表格头部字段显示的,明细的内容包括展示列表的明细信息。3.设计报表控件和数据源管理在VS左边的工具箱里面有响应的XtraReport控件,拖动到报表界面里面就可以进行绘制设计了。4.特殊字段的处理在报表的设计过程中,我们一般会碰到各种不同的字段,它不是简单的文本信息,可能是日期,也可以是统计值,计算值等。打

.Net 2017-11-13 发布
0 浏览

获取本地视频显示封面、时长,点击播放

giphy.gif1.获取本地视频文件路径,也是最关键步骤。publicListgetList(Contextcontext){ListsysVideoList=newArrayList<>();//MediaStore.Video.Thumbnails.DATA:视频缩略图的文件路径String[]thumbColumns={MediaStore.Video.Thumbnails.DATA,MediaStore.Video.Thumbnails.VIDEO_ID};//视频其他信息的查询条件String[]mediaColumns={MediaStore.Video.Media._ID,MediaStore.Video.Media.DATA,MediaStore.Video.Media.DURATION};Cursorcursor=context.getContentResolver().query(MediaStore.Video.

.Net 2017-11-13 发布
0 浏览

Laravel 开发工具系列 —— 使用 Visual Studio Code 进行 Laravel 开发

关于Laravel代码开发工具大家各有所好,大部分应该在用PHPStorm,Sublime也有很多粉丝,还有人喜欢Atom,不过今天要给大家推荐的是微软旗下新推出的编辑器——VisualStudioCode,注意这货不是VisualStudio那个庞然大物,一字之差,如隔三秋,它只有46M的体量,配合丰富的插件库,可以快速搭建适用于各种编程语言的开发利器,比如PHP、C/C++、Python、Java、Go以及JavaScript等,PHPStorm大法固然好,但是至少有三个痛点:耗内存、打开JS慢(很多时候竟不能忍)、功能单一(想开发Java、Python、C?对不起,请到隔壁下载对应IDE)。VisualStudioCode很好的解决了这三个痛点,有人说Sublime也可以,是的,但是VisualStudioCode还具备以下优势:原生集成Git、Debug,更丰富更易上手的扩展库,以及酷酷的外观:我已经习惯Sublime/PHPStorm的快捷键,不想增加学习成本?这些都不是

.Net 2017-11-13 发布
0 浏览

IIS服务器安全配置

上篇带来Apache服务器的安全配置,作为老牌中间件,iis一直是经久不衰,这次带来iis服务器的安全配置,同样下面的安全问题是根据ISC大会360应急响应中心的一个ppt而来的~问题1.IIS6文件解析漏洞利用问题2.IIS6写权限漏洞的利用问题3.IIS6短文件名漏洞问题4.IIS7Fastcgi方式调用php存在的解析漏洞问题5.IIS日志审计方法下面我将针对上述问题,来做一个实例讲演!问题1.IIS6文件解析漏洞利用这个应该很熟悉,IIS的两个解析漏洞,一个是123.jpg;.asp,一个是123.asp/test.jpg这两种文件命名方式都会被当成asp文件来进行解析hackedbyadog!<%evalrequest("adog")%>这是我们写入的asp文件内容可以看到这里eval语句已经被执行了,使用菜刀连接即可,这是第一种文件解析漏洞第二种:我们先创建一个以asp结尾的文件夹,然后在文件夹内上传我们的asp脚本文件可以看到一句话已经被执行,可以使用菜刀连接了~问

.Net 2017-11-13 发布
AD 友情赞助