聚合文章列表
12 浏览

在Asp.net core中使用WebScocket

最后再来完成我们的WebScoket功能函数EchoasyncTaskEcho(HttpContextcontext,WebSocketwebSocket){varbuffer=newbyte[1024*4];WebSocketReceiveResultresult=awaitwebSocket.ReceiveAsync(newArraySegment(buffer),CancellationToken.None);while(!result.CloseStatus.HasValue){awaitwebSocket.SendAsync(newArraySegment(buffer,0,result.Count),result.MessageType,result.EndOfMessage,CancellationToken.None);result=awaitwebSocket.ReceiveAsync(newArraySegment(buffer),C

ASP.NET 2018-02-09 发布
13 浏览

解决AspNet Zero Core 5.0.1无法运行的问题

最近在研究AspNetZeroCore5.0.1时发现VS点击调试后就自动退出了,从ABPQQ群里得知作者加入了licensecode校验。经过一个周左右断断续续的折腾,算是破解了吧。原本想把加密类完全反编译出来,后来发现有些方法反编译不过来,所以有些方法就直接注释掉实现了(关键方法未能反编译,比较遗憾)。一、说明二、运行效果三、工具软件

.Net 2018-02-09 发布
14 浏览

我所使用的 macOS App 分享

ParallelDesktop(paid):macOS的VM第一品牌,速度最快,尤其整合Windows10部分非常好,還可以在ParallelDekstop跑一個虛擬macOS,方便測試用DockerforMac(free):若要在macOS使用docker,可使用原廠的Dockerformac,不用搭配其他VM通訊軟體Zoom(free):視訊最流暢的通訊軟體Telegram(free):適合文字模式傳訊息Slack(free):適合接受CIserver所傳送的訊息截圖與影像處理Snagit(paid):截圖第一品牌,也可以做簡單的影像處理,基本上我部落格的圖片都是靠Snagit處理字典OxfordAdvancedLearner’sDictionary(paid):macOS最好的英英字典Dictionary(內建):macOS有內建英漢字典,但可惜是簡體中文RSSReeder(paid):訂閱大神的RSS,算中規中

.Net 2018-02-10 发布
AD 友情赞助
12 浏览

C#通过匿名类直接使用访问JSON数据

2018年02月09日,于石门。实验目的在C#和Rest/Restful以及其它的Web服务交互过程中,大量使用到JSON传递数据,如何快捷的转化C#对象到JSON和转化JSON到C#对象,成为开发过程中频繁使用的内容。传统的方式下,我们需要定义和JSON对象同步的C#类并实例化成对象以遍操作,这里提供了一个直接使用匿名类的方式,相较于传统方式可以少定义一些类,操作更加简便。开发环境2018-02-09-15-22-23.png实现步骤1.创建工程:控制台程序,命名为JsonTest2018-02-09-15-29-43.png2.添加组件:增加JSON组件第一步:右键点击项目,选择“管理NuGet程序包”菜单2018-02-09-15-32-31.png第二步:在"NuGet:JsonTest"选项卡中选择浏览,输入json后回车,选择Newtonsoft.Json,选择版本后点击安装按钮。2018-02-09-15-35-12.png

.Net 2018-02-09 发布
7 浏览

.net core 使用 redis

.netcore使用redis个人感觉.netcore对于微软技术而言有很重要的意义,所以最近已有时间就想看一看关于.netcore的文章。今天我就来写一写如何在.netcore环境中使用redis。https://redis.io/clients这个是redis的客户端支持地址看见redis的客户端有很多语言支持的。http://p35377rn8.bkt.clouddn.com/2018-02-09.jpg点开c#看见一个非常熟悉的驱动StackExchangehttp://p35377rn8.bkt.clouddn.com/2018-02-09-02.png只怪自己一开始选择了最熟悉的这个驱动,其实如果选择Servicestack的话应该会好一点创建redis工具类https://www.nuget.org/packages/StackExchange.Redis/1.2.6我在nuget中找到了这个驱动的相关说明,发现只支持.netstandard不知道安装到.netcore

.Net 2018-02-09 发布
7 浏览

WPF: 只读依赖属性的介绍与实践

WPF:只读依赖属性的介绍与实践在设计与开发WPF自定义控件时,我们常常为会控件添加一些依赖属性以便于绑定或动画等。事实上,除了能够添加正常的依赖属性外,我们还可以为控件添加只读依赖属性(以下统称“只读属性”),以增加控件的灵活性。这听起来有些矛盾。只读依赖属性,只能读不能写,却又怎么能提高控件的灵活性呢?想想我们常用的IsMouseOver等属性就可以理解,它们都是只读属性,但如果没有它们,想要控制样式将比较复杂。所以,总结来说,只读属性的特点是:无法赋值,不能绑定,不能用于动画,不能验证等;而之所以使用它,主要目的是结合属性触发器(Trigger)来实现样式的切换。实践比如,我们要创建一个FilePicker控件,用户通过它可以选择文件。那么,它至少包括一个TextBlock(或TextBox)和一个Button,分别用于显示选择文件的路径和打开对话框。现在我们想实现当用户选择了文件后,控件呈现某种样式。要这么做,我们就可以增加一个IsFilePicked只读属性,然后在ControlTempla

.Net 2018-02-09 发布
AD 友情赞助
11 浏览

DotNetAnywhere:可供选择的 .NET 运行时

原文:DotNetAnywhere:AnAlternative.NETRuntime作者:MattWarren译者:张很水我最近在收听一个名为DotNetRock的优质播客,其中有以Knockout.js而闻名的StevenSanderson正在讨论"WebAssemblyAndBlazor"。也许你还没听过,Blazor正试图凭借WebAssembly的魔力将.NET带入到浏览器中。如果您想了解更多信息,ScottHanselmen已经在".NET和WebAssembly——这会是前端的未来吗?"一文中做了一番介绍。(点击查看该文的翻译)。尽管WebAssembly非常酷炫,然而更让我感兴趣的是Blazor如何使用DotNetAnywhere作为底层的.NET运行时。本文将讨论DotNetAnywhere是什么,能做什么,以及同完整的.NETFramework做比较。DotNetAnywhere首先值得指出的是,DotNetAnywhere(DNA)被设计

.Net 2018-02-09 发布
8 浏览

利用神经网络算法的C#手写数字识别

下载Demo-2.77MB(原始地址)handwritten_character_recognition.zip下载源码-70.64KB(原始地址)nnhandwrittencharreccssource.zip介绍这是一篇基于MikeO'Neill写的一篇很棒的文章:神经网络的手写字符识别(NeuralNetworkforRecognitionofHandwrittenDigits)而给出的一个人工神经网络实现手写字符识别的例子。尽管在过去几年已经有许多系统和分类算法被提出,但是手写识别任然是模式识别中的一项挑战。MikeO'Neill的程序对想学习通过神经网络算法实现一般手写识别的程序员来说是一个极好的例子,尤其是在神经网络的卷积部分。那个程序是用MFC/C++编写的,对于不熟悉的人来说有些困难。所以,我决定用C#重新写一下我的一些程序。我的程序已经取得了良好的效果,但还并不优秀(在收敛速度,错误率等方面)。但这次仅仅是程序的基础,目的是帮助理解神经网络,所以它比较混乱,有重

.Net 2018-02-09 发布
13 浏览

DevExpress使用教程:添加非绑定列

在本示例中,假设XtraGrid网格已被绑定到NWIND数据库的[OrderDetails]表中。grid网格中包含"Quantity","UnitPrice"和"Discount"列,并且这几列已被绑定到数据库表的相应字段中。下面的例子主要演示如何为gird网格添加一个非绑定列,从而显示根据Quantity*UnitPrice*(1-Discount)公式计算出来的每个订单的金额。【DXperienceUniversalSuite下载】代码如下:C#usingDevExpress.XtraGrid.Views.Base;usingDevExpress.XtraGrid.Columns;privatevoidForm1_Load(objectsender,System.EventArgse){//...gridControl1.ForceInitialize();//Createanunboundcolumn.GridColumnunbColumn=gridView1.

.Net 2018-02-09 发布
AD 友情赞助
14 浏览

TIOBE 2 月排行榜:震惊!VB 连续两月上涨

在这个月公布的排行榜中,我们惊奇地发现,VB上升到了第12名的位置,同样取得一定涨幅的还有VisualBasic.NET。回过头去看看,我们可以看到,1月VB就出现了上涨趋势,没想到这个月还能继续增长。VisualBasic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,作为早期的一种开发语言,开发了很多较为大型的企业级应用程序,但似乎并不受资深程序员的欢迎。其最后的发布时间是2015年,最近也没在发布新版本。上周,微软的MadsTorgersen还宣布他们将停止与C#和VisualBasic的共同进化策略。这意味着如果与新的C#特性相比,VisualBasic将会落后。所以,VB的这种涨势能保持多久,还有待观摩。另外,需要和大家特别说明的是,SQL再次被添加到了TIOBE排行榜中,并排在了11的位置,涨势可观。2月编程语言排行榜TOP20榜单:Top10编程语言TIOBE指数走势(2002

.Net 2018-02-09 发布
7 浏览

Visual Studio 2017 15.6 Preview 4 发布,添加新功能

VisualStudio201715.6预览版4发布,该版本基于VisualStudio201715.6版的早期预览版。此预览包含新功能,错误修复和其他增强功能。更新内容:性能:解决方案负载:VisualStudio201715.6预览版4中,速度提高了两倍。VisualStudioLiveShare几个月前VisualStudioLiveShare发布。借助VisualStudioLiveShare,可以实时分享喜爱的工具。可以共享代码的完整上下文,协同编辑,同时仍然独立导航文件,安全地共享本地服务器,甚至协作调试。C++开发CMake:现在可以选择在VisualStudio中打开新的CMake项目时是否自动生成CMake缓存。完整内容在VisualStudio2017版本15.6Preview发行说明中查看。点击此处获得最新版本

.Net 2018-02-09 发布
12 浏览

OpenCover团队的代码静态分析方案:Coverity VS SonarQube

11hoursago在软件开发生命周期中,尽早找到和修复Bug已经成为一个刚性需求,因此也带来代码静态分析技术(SAST)的引入和不断发展。因其可以在早期编码阶段发现崩溃、多线程和注入等质量与安全类型问题,同时又能够与Devops,CI/CD,Agile各项技术紧密结合,所以各大中小型研发团队都已经用上了各式各样的静态分析工具。换句话说,用好SAST工具已经成为每一个研发团队都需要掌握的技能,这篇文章用ShaunWilde(以下简称SW)介绍的OpenCover团队代码静态分析经验,抛砖引玉来聊一聊测试开发技术的SAST技术。关于OpenCover项目OpenCover是知名的C#代码覆盖率统计工具,支持.NET2以上版本的32位和64位平台(包括Silverlight),支持分支和判定覆盖率。该项目是一个开源项目,由众多开源成员共同维护。OpenCover的代码质量管控背景-SW我加入OpenCover等开源项目工作组的其中一个原因是,我可以尝试一下新的理念和技术,比如TDD(测试驱动开发)技术或新的Mock框架,有时甚

.Net 2018-02-08 发布
AD 友情赞助
16 浏览

ASP.NET Core 2.0 : 三. 项目结构

本章我们一起来对比着ASP.NETFramework版本看一下ASP.NETCore2.0的项目结构.(此后的文章也尽量这样对比着,方便学习理解.)关注差异,也为项目迁移做准备.新建项目,选择类型新建项目,选择.NETCore有如下几种类型可选,分别是Console,ASP.NETCore的空项目,WebAPI我们选择ASP.NETCoreWebApp(MVC),没有标注MVC的是采用Razorpages的项目.项目结构图新建的项目结构如下图所示,大体上和ASP.NET的Framework版本差不多,现在按照图上的数字标记逐一做一下介绍(Controller、Model就不介绍了,View中单独介绍一下几个特殊View).按照标注的数字逐个做一下简单介绍,先了解大概是干什么用的,后面的文章会做详细的研究.介绍的时候我会对比大家熟悉的ASP.NETFramework版本,方便理解.①Dependencies依赖项这里主要分两部分,NuGet和

.Net 2018-02-09 发布
10 浏览

搭建网站必不可少的知识6

摘要:虚拟主机购买在aliyun.com点击顶部的万网(或者点击“产品”导航,在里面的“万网”下打开),点击“主机服务”选择要使用的主机(阿里云的主机类型挺多的,可以看看详情介绍了解)对主机的机房位置操作系统以及主机支持的语言和数据库类型和并发连接数要考虑好,一般博客这些基础配置足够使用了。虚拟主机购买在aliyun.com点击顶部的万网(或者点击“产品”导航,在里面的“万网”下打开),点击“主机服务”选择要使用的主机(阿里云的主机类型挺多的,可以看看详情介绍了解)对主机的机房位置操作系统以及主机支持的语言和数据库类型和并发连接数要考虑好,一般博客这些基础配置足够使用了。并发连接数100大约可以支持同时打开100个页面,可以支持日访问IP1000多,如果是动态网站,一个人每打开一个页面就会占用一个IIS连接(静态也是占用一个IIS,图片被人盗链也会占用),所以网站设计成打开新窗口那种,很快你的连接数就会被耗尽,然后网站就访问不了了。特别是动态只要用户不关闭浏览器就会一直占用着连接,直到超时断开连接。当然也可以去购买香港这种某宝上的产品,他

.Net 2018-02-08 发布
14 浏览

Asp.net Core 入门实战 2.请求流程

Asp.NetCore是开源,跨平台,模块化,快速而简单的Web框架.Asp.netCore官网的一个源码合集,方便一次性Clone,喜欢的(Star),本系列持续更新,也可以通过我的网站访问,欢迎探讨交流接上一篇目录宿主KestrelWeb服务器请求委托中间件HTTP功能接口代码模拟asp.netcore实现了一个跨平台的宿主和web服务器.一旦你调用了WebHost对象的Start方法,你就运行了一个监听Http请求的Web服务器,它可以运行在32位的linux系统甚至是树莓派上.然而在生产环境还是建议你使用一些反向代理工具,如Nginx,IIs,Apache等.为什么需要反向代理,因为Kestrel只是一个简单的Web服务器,其他语言像java,python,nodejs,ruby,你会看到一些Web服务器PM2或者Passenger结合反向代理工具使用.这些Web服务器提供了监控,日志,负载均衡和流程管理功能,对于一个成熟的Web服务器而言.在Windows平台,你可以使用IIS反向代理,在linux服务器使用ngin

.Net 2018-02-05 发布
12 浏览

Asp.net mvc 中View 的呈现(二)

[toc]上一节介绍了Asp.netmvc中除ViewResult外的所有的ActionResult,这一节介绍ViewResult。ViewResultBaseViewResultBase是Asp.netmvc中所有的ViewResult和ParticalViewResult的基类,该类继承自ActionResult。该类的定义如下示://---------------------------------属性部分-------------------------------------//当前View所会用的强类型modelpublicobjectModel{get{..}}//Controller向View传值使用的TempData集合publicTempDataDictionaryTempData{get{..}set{..}}//当前ViewResult所对应的ViewpublicIViewView{get;set;}//Controller向Vie

.Net 2018-02-05 发布
16 浏览

使用CefSharp开发一个12306“安心刷票弹窗通知”工具

使用CefSharp开发一个12306“安心刷票弹窗通知”工具有需求就要改进最近两年没有在春节回家过年了,主要是票太难买,虽然之前写了一个12306“无声购票弹窗”工具,解决了抢票问题,但是全家老小一起回去还是很累,干脆就在北京过年了。这两天突然有一个朋友问我你之前的抢票工具还能用不,我让他试试,他说可以,于是我觉得这样一个小工具居然还有人继续使用啊,既然有人用我就继续把他做好点,让大家过年抢票更“安心”!之前的抢票工具是基于IEBrowser控件做的,不用说大家都知道这个控件在不同的Windows系统上表现各异,因为它主要依赖于IE内核,坑爹的是它有时候还没有直接使用IE效果好,所以使用我这个抢票工具总有不顺收的地方,比如一些显示问题,提交订单后无法直接支付问题等。看到朋友介绍说CefSharp控件不错,于是决定试试,没想到出了网上介绍的坑,还有些其它的坑没有人写过,这里写出来给大家做一个参考。1,CefSharp版本问题最新版的CefSharp要求.NET应用程序至少支持.NET4.5.2以上,而我这次要整合的工具程序还是.NE

.Net 2018-02-05 发布
13 浏览

语义耦合(Semantic Coupling)

跟小伙伴一起重构一段UI,试图将用户界面和业务代码分离的时候,小伙伴试图在业务代码中直接调用UI。我们当然都知道这会产生耦合,于是小伙伴试图定义一些属性、变量或接口来解决这个耦合。虽然在代码的静态分析中,这一的耦合消失了,但我始终觉得不妥。觉得耦合依然存在,只是不再能被静态分析了。我想到一个词——“语义耦合(SemanticCoupling)”,搜索发现也有很多小伙伴在关心这个问题。而且,从他们的文章和讨论中,我也了解到更多关于语义耦合的种类和危害。什么是语义耦合这是区别于常规意义上的“耦合”而言的。即类Foo依赖于类Bar,即是常规意义上的耦合。静态代码分析工具就可以为我们发现这种耦合。如果将Bar拆开成两个部分,一是类Bar的实现本身,另一个是接口IBar;现在Foo依赖的是接口IBar,那么Foo就没有依赖类Bar了。在静态代码分析工具中就会发现这样的依赖就解除了。在静态代码分析工具认为没有耦合的情况之下,如果两个类之间还交换带有隐含意义的数据,假设对方已为自己完成了某种工作,暗示

.Net 2018-02-05 发布
11 浏览

如何在 macOS 移除 .NET Core ?

由於Microsoft所提供的.NETCoreSDK安裝檔是pkg格式,優點是安裝很方便,只要下一步下一步就好,但缺點是移除時比較麻煩。VervionmacOSHighSierra10.13.3.NETCoreSDK2.1.4下載.NETCoreUninstallScriptdotnet-uninstall-pkgs.sh#!/usr/bin/envbash##Copyright(c).NETFoundationandcontributors.Allrightsreserved.#LicensedundertheMITlicense.SeeLICENSEfileintheprojectrootforfulllicenseinformation.#DIR="$(cd"$(dirname"${BASH_SOURCE[0]}")"&&pwd)"current_userid=$(id-u)if[$current_userid-ne

.Net 2018-02-05 发布
14 浏览

勒索之殇 | 从一个.NET病毒看透勒索三步曲

近三年的病毒走势大致可以总结为,2016年”流氓”,2017″勒索”,2018年”挖矿”,这篇文章我们就通过分析一个.Net的勒索软件,看看一个勒索软件到底是如何工作的。本文涉及到的这个样本是BTCware的一个变种,被勒索之后会一如既往的加密计算机中的文件,并且弹出如下图所示的很炫酷的勒索提示,而且在计算机很多公共目录都会留下UnlockYouFiles.txt的勒索提示文件。详细分析:跟很多勒索病毒逻辑一样,此病毒基本流程为生成加密密钥–遍历并加密文件–删除卷影信息–弹出勒索提示。通过dnspy可以看到此程序定义的几个关键模块,如下图:(a)密钥生成(b)遍历文件此类病毒会遍历系统中后缀为下图中格式的文件并执行加密逻辑。遍历文件逻辑如下:(c)当遍历到指定格式的文件时就调用encryptFiles进行加密,加密逻辑如下:可以看出,加密时使用AES加密算法(加salt,未截图),密钥是密钥生成模块passwordCreator当中生成,然后取其SHA256的值作为AES的加密密钥对文件进行

.Net 2018-02-06 发布
AD 友情赞助