聚合文章列表
0 浏览

[ay的quartz.net 学习笔记[1/5]

Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。官方学习文档:http://www.quartz-scheduler.net/documentation/index.html使用实例介绍:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html官方的源代码下载:http://sourceforge.net/projects/quartznet/files/quartznet/我也算第一次用QZ,所以零基础了,有的只是C#经验了。我从sourceforge下载的是2.6.1最新的版本。我先学官方源码中的demo练手吧,最

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

ASP.NET常用的一些服务器控件

10.jpg通过控件等得到的aspx文件。<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="days_20171107.aspx.cs"Inherits="days_20171107"%>

文本框选择:
.Net 2017-11-07 发布
0 浏览

.NET项目从CI到CD-Jenkins_Pipeline的应用

一、罗里吧嗦最近迁移了服务器,顺道完善下服役了一两年的Jenkins服务,主要是把Slave搭建起来,还有等等。本文只是我对JenkinsPipeline的一些自己的理解与应用,欢迎指出错误,欢迎交流高级应用二、运行环境Jenkins:master:阿里云Windows_2016_x64Slave1:京东云Windows_2008_r2_x64Slave2:阿里云Windows_2008_r2_x86版本管理器:自建的git服务器,使用gogs.NET项目:使用VS2017新建的一个webmvc项目与一个windowsservice项目,项目上传至git服务器一些辅助工具:7-zip:作为压缩解压ossutil:阿里云oss服务工具nuget:还原解决方案引用包MSBuild:编译项目三、开始首先新建.NET项目,新建一个web项目与windowsservice项目,步骤略其次,在自行安装Jenkins,步骤略新建Jenkins项目,类型选择Pipeline,命名为JenkinsPipelineProject整体流程如下

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

Visual Studio Code v.s Atom-IDE:Web 开发哪家强?

GitHub最近联手Facebook推出了Atom-IDE,为其Atom编辑器带来了下面这些更深度的开发功能:自动完成大纲视图查找引用定义跳转悬浮提示诊断,如错误和警告提醒Atom诞生已经有三年了。作为一个深度的Atom用户,作者表示自己自从Atom问世以来就已使用它,但在过去的几个月里,他转移到了VisualStudioCode,因为VSCode更易用,而且提供非常好的类似IDE那样对TypeScript的支持。所以当Atom-IDE推出时,作者决定对它们进行一番比较。Atom-IDEvs.VisualStudioCode自动完成在VSCode中编写TypeScriptJSX代码在导入方面已有改进。例如,编写一个React组件会触发导入另一个React组件的建议。Atom暂未提供这项功能,所以复制粘贴路径仍需要开发者手动完成。在VSCode中自动补全lodash在Atom中使用ide-typescript自动补全lodash

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

Review Board 3.0 RC 1 发布,在线代码审查工具

ReviewBoard3.0RC1Release发布,此版本包含ReviewBoard2.5.16版中的所有错误修复和功能。此次更新内容:新特性:SupportforSlack,Travis-CI,andCircleCIintegrationsarenowenabledbydefault.Inpreviousbetas,theIntegrationextensionprovidingthissupporthadtobeenabledmanually.Now,onanynewupgradesto3.0,theextensionwillbeautomaticallyenabled.Ifyou’vebeenusingthe3.0betas,youwillstillneedtomanuallyenabletheextension.Addedserver-sideenforcementofissu

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

.NET Core跨平台的奥秘[中篇]:复用之殇

在《.NETCore跨平台的奥秘[上篇]:历史的枷锁》中我们谈到:由于.NET是建立在CLI这一标准的规范之上,所以它天生就具有了“跨平台”的基因。在微软发布了第一个针对桌面和服务器平台的.NETFramework之后,它开始“乐此不疲”地对这个完整版的.NETFramework进行不同范围和层次的“阉割”,进而造就了像WindowsPhone、WindowsStore、Silverlight和.NETMicroFramework的压缩版的.NETFramework。从这个意义上讲,Mono和它们并没有本质的区别,唯一不同的是Mono真正突破了Windows平台的藩篱。包括Mono在内的这些分支促成了.NET的繁荣,但我们都知道这仅仅是一种虚假的繁荣而已。虽然都是.NETFramework的子集,但是由于它们采用完全独立的运行时和基础类库,这使我们很难开发一个支持多种设备的“可移植(Portable)”应用,这些分支反而成为制约.NET发展的一道道枷锁。至于为什么“可移植(Portable)”.NET应用的开发如此繁琐

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

[译]ASP.NET Core 2.0 视图组件

问题如何在ASP.NETCore2.0中使用视图组件?答案新建一个空项目,修改Startup类并添加MVC服务和中间件:publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc();}publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv){if(env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc(routes=>{routes.MapRoute(name:"default",template:"{controller=Home}/{action=Index}/{id?}");});}添加一个模型类:publicclassUserInfoViewModel{publicintUserId{get;set;}publicstringUserName{

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

基于.net的通用内存缓存模型组件

谈到缓存,我们自然而然就会想到缓存的好处,比如:降低高并发数据读取的系统压力:静态数据访问、动态数据访问存储预处理数据,提升系统响应速度和TPS降低高并发数据写入的系统压力提升系统可用性,后台宕机后,系统还存在可用的机会缓存技术一直是优化程序性能的一个重要手段,在互联网技术体系中,也不例外。但是在分布式架构下,大家开始更多的使用分布式缓存,比如Redis、MemcacheD等等,对进程内的内存缓存使用的越来越少。其主要原因无外乎几点:一是,数据不能做到强一致性,程序内存数据缓存同步的周期相对分布缓存更慢一些。二是,需要对缓存的各种同步策略进行封装,并控制同步时机。进程内缓存的使用比分布式缓存的使用具有更高的技术门槛。没有分布缓存使用简单。虽然分布式缓存具有非常多很好的特性,但是当完全抛弃了程序内存缓存后,分布式缓存将会被滥用,应用程序甚至过度的依赖分布式缓存。笔者认为,任何一种技术的滥用,都将可能导致系统架构在健壮性上存在缺陷。分布式缓存虽然很好用,性能也不错,但是与进程内存缓存比起来,性能还

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

.Net高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码?

本文将通过场景例子演示,来通俗易懂的讲解在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码。通过一系列优化最终达到两个效果,1.通过代码块来控制事务(分布式事务),2.通过委托优化TransactionScope的编码写法。本文需要的知识点:1.Action委托2.分布式事务TransactionScope(不懂不要紧,文中会讲解)----------------------.NetWeb开发技术栈.Net高级进阶,教你如何构建企业模型数据拦截层,动态控制字段验证.Net高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码?web安全:通俗易懂,以实例讲述破解网站的原理及如何进行防护!如何让网站变得更安全。web安全:QQ号快速登录漏洞及被盗原理.Net,Dll扫盲篇,如何在VS中调试已经编译好的dll?----------------------示例一和示例二,主要是来讲解TransactionScope是什么,为什么要用TransactionScope。

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

ASP.NET Core MVC 上的 Cookie Authentication

在ASP.NETCoreMVC上要做登入功能,或許會先想到ASP.NETCoreIdentity,但它的複雜性實在太高,所以微軟在ASP.NETCoreMVC上還提供另一種登入方式,就是單純以Cookie做認證。在Startup.cs設定首在開啟Startup.cs,啟用cookie認證功能:publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc();services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options=>{options.LoginPath="/Home/Login";});}publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv){if(env.IsDevelopment())

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

.NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions

.NETCore控制台程序没有ASP.NETCore的IWebHostBuilder与Startup.cs,那要读appsettings.json、注依赖、配日志、设IOptions该怎么办呢?因为这些操作与ASP.NETCore无依赖,所以可以自己动手,轻松搞定。1、读appsettings.json,ConfigurationBuilder上varconf=newConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json",true,true).AddJsonFile("appsettings.Development.json",true,true).Build();需要安装nuget包Microsoft.Extensions.Configuration、Microsoft.Extensions.Configuration.FileExten

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

异步与线程阻塞

返回目录应该这样理解它异步,早期开发人员对它有很多误解,认为不阻塞主线程就是异叔,更有认为不阻塞UI就是异步,但异步归根结底和这两个东西关系并不大,异步的出现主要是为了提高线程的利用率,让可用线程更高,而不是一个线程只做一件事,这件事没有完成就不去做下面的事情,这是不正确的,线程应该被解放出来!事实上,你如果学过nodejs的话,对单线程非阻塞应该更清楚一些,它主要通过方法回调来实现异步的,只是在语法上和C#不太一样。说一下上面提到的误解误解1:不阻塞主线程如果不阻塞主线程的话,你只能开个新线程完成这个动作,像一些系统通知,它和主线程的工作流程没有关系,如果开个新线程,与主线程并行执行,这并不是我们说的异步,这只是多线程!它会增加线程的开支,使用不当,会应县系统的吞吐量!误解2:不阻塞UI这就更属于胡扯了,对于一个工作流来说,必须要按着1,2,3的顺序去执行,如果是同步代码,它是一个线程从1执行到3,这个线程将一直被占用!如果是异步代码,它在执行到1时,线程被回收到池子,其它人可以使用,当1执行完成后,从线程池里取出一

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

AY C#技术学习路线 - topshelf服务

AY:写C#可以新建windowservice项目,但是不方便调试,于是,我们可以用控制台去开发,然后自己移植代码到服务去,开发和部署window服务,其实topshelf更方便,接下来我们来学习。新建控制台项目AyNotice服务====================www.ayjs.net杨洋wpfui.comayuiayaaronyang=======请不要转载谢谢了。=========1、官网:http://topshelf-project.com/这里面有详细的文档及下载2、Topshelf的代码托管在http://github.com/topshelf/Topshelf/downloads,可以在这里下载到最新的代码。我用的3.0.2的,作者貌似2012年更新的。控制台引用Topshelf.dll和Topshelf.NLog.dll放入代码usingSystem;usingSystem.Collections.Gen

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

Task及Mvc的异步控制器 使用探索

微软的Task已经出来很久了,一直没有去研究,以为就是和Thread差不多的东西。直到最近看到了Task的使用介绍,发现比Thread的语法要精炼多了,于是便在项目中用上了。结果就出问题了,数据库连接池用一段时间就满了,排除了各种原因,最后开始怀疑是不是Task有什么不为人知的隐患。由于对Task的使用只是停留在开一个线程去执行一个不需要返回结果的任务这种阶段。为了查明是否是Task引起的线程池满,便开始各种查资料。最终的结果是,连接池满是因为程序中的一个SqlConnection没有关闭,和Task没有半毛钱关系......问题解决了。Task也研究的差不多了。下面我们来谈一下Task的使用.....开启一个Task开启task有以下三种方式,曾经一度纠结在到底该用哪种方式来开始一个任务,最终发现其实在没有特殊要求的情况下,这三种方式除了语法不同外,执行方式和结果是一样的Taskt1=Task.Factory.StartNew(()=>{Task.Delay(1000);return1;}

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

ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理

不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址本博文翻译自:https://dotnetcoretutorials.com/2017/10/16/owasp-top-10-asp-net-core-broken-authentication-session-management/在我们之前关于OWASPTop10的文章中,我们讨论了SQL注入。SQL注入有一个非常明确的解释和例子,但这次我们讲的个关于“失效的访问控制和Session管理”有一个更开放的结尾。它涵盖了从糟糕的密码存储系统(纯文本,弱哈希)到通过Session暴露用户的所有内容(例如,URL中的Session字符串),我们演示的所有方法都是相对简单的,例如超时验证session。和往常一样,虽然我们在这里讨论的话题是如何保护ASP.netCore应用程序让它有个好的开始,但这绝不是我们保护道路的尽头。特别是当涉及到密码的哈希时。这是一款总是与最新的威胁保持同步的游戏,我们需要时刻更新我们的的应用程序。

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

[译]ASP.NET Core 2.0 区域

问题如何将一个规模庞大的ASP.NETCore2.0应用程序进行逻辑分组?答案新建一个ASP.NETCore2.0空项目,修改Startup类,增加Mvc服务和中间件:publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc();}publicvoidConfigure(IApplicationBuilderapp,IHostingEnvironmentenv){if(env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc(routes=>{routes.MapRoute(name:"area",template:"{area:exists}/{controller=Home}/{action=Index}/{id?}");routes.MapRoute(name:"default",template:"{controller=Home}/{ac

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

【框架学习与探究之日志组件--Log4Net与NLog】

前言本文欢迎转载,作者原创地址:http://www.cnblogs.com/DjlNet/p/7604340.html序近日,天气渐冷,懒惰的脑虫又开始作祟了,导致近日内功修炼迟迟未能进步,依然徘徊在XXX框架学习当中,当然了并不是说这种学习不好,只是感觉收益不高,但是今天博主依然还是老酒新装,把在单体应用架构当中对于Log这块使用最平凡的两款日志组件拿来说道一二,也是对后面框架集成做好铺垫的准备....其实也算是对框架学习系列的一个凑数行为,捂脸.....抛出问题和思考按照国际惯例,这里还是给出各自的官方地址,Log4net:https://logging.apache.org/log4net/,Nlog:http://nlog-project.org/,这里博主可能就不会去一一解释各种组件当中的重要元素、关键类以及使用API和关于Provider的配置了,这里着重还是博主自己工作或者项目当中常规使用到的一些东西备份记录,所以想看详细解读的同学,可以移步去官方链接或者搜索园中其他相关文,所以老司机就可能需要绕道儿了....其

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

Visual Studio Code 1.18.0 发布,蓝色 logo 回归

VisualStudioCode1.18.0发布了。在这个版本中有很多重要的更新。此版本亮点包括:Stable的多根工作区发布-将一组逻辑文件夹分组到一个工作区中。垂直面板-Dock面板(终端,输出或调试控制台)位于编辑器右侧。资源管理器中的Git指示器-查看文件资源管理器中未保存的文件更改。如果您想在线阅读这些发行说明,请访问code.visualstudio.com上的更新。您还可以查看1.18发布的重要视频。一些进一步的更新:工作台-蓝色logo回归,面板溢出支持,文件移动确认。集成终端-更好的Windows支持,未设置的环境键。源代码管理-内联等待更改视图,文件资源管理器指示器。语言-TypeScript2.6.1,本地化的JS/TS消息,字符串中的IntelliSense和注释。调试-状态栏中的调试配置,调试视图焦点命令,控制台着色。扩展创作-ConfigurationChangeEvent,异步输入框

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

【Win 10 应用开发】UI Composition 札记(四):绘制图形

使用Win2D组件,就可以很轻松地绘制各种图形,哪怕你没有D2D相关基础,也不必写很复杂的C++代码。先来说说如何获取Win2D组件。很简单,创建UWP应用项目后,你打开“解决方案资源管理器”窗口,然后在【引用】节点上右击,从快捷菜单中选择【管理Nuget程序包】命令,在打开的窗口中搜索“Win2D”,然后安装带有uwp标识的那个就可以了。顺便说一下,nuget的包缓存在你的用户文件夹下,就是系统盘下的\users\xxx,xxx是你登录系统的用户名,在文件夹下有个.nuget目录,\packages子目录下就是缓存的包,大小取决你安装的组件,大的时候4、5个G也有的。在你的应用项目中,VS只是创建了一个JSON文件来描述你引用的组件,Win2D添加引用成功后,你的引用列表应该是这样的。你如果看到Win2D.uwp这个项目,那就没问题了。不过,你得注意,直接双击它是无法在“对象浏览器”中查看的,你可以这样:打开“对象浏览器”窗口,然后把浏览的子集改为“我的解

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

.NET IL实现对象深拷贝

对于深拷贝,通常的方法是将对象进行序列化,然后再反序化成为另一个对象。例如在stackoverflow上有这样的解决办法:https://stackoverflow.com/questions/78536/deep-cloning-objects/78612#78612。这种序列化的方式,对深拷贝来讲,无疑是一个性能杀手。今天大家介绍一个深拷贝的框架DeepCopy,github地址:https://github.com/ReubenBond/DeepCopy,它是从orleans框架改编过来的,实现逻辑非常简单。框架的实现原理是通过IL代码生成字段拷贝的方法。IL的优点是可以绕过C#的语法规则,例如:访问私有对象以及给readonly字段赋值等。在介绍框架前,先介绍一下IL相关的工具。IL工具即使您不是第一次使用IL,这也不是一件容易的事情,无法确认什么样IL代码才能达到预期的结果。这是工具来帮助您的地方。可以先用C#编写代码,然后将它复制到LINQPad中,运行并打开输出中的IL选项卡。使用像

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