聚合文章列表
2 浏览

Just for fun——C#应用和Nodejs通讯

进程通信常见的进程通讯的方法有:管道(Pipe)命名管道信号消息队列其他管道是比较简单基础的技术了,所以看看它。NodeIPC支持Node官方文档中Net模块写着:IPCSupportThenetmodulesupportsIPCwithnamedpipesonWindows,andUNIXdomainsocketsonotheroperatingsystems.Class:net.ServerAddedin:v0.1.90ThisclassisusedtocreateaTCPorIPCserver.可以看到,Node在Windows上可以用命名管道进行进程通信。测试C#publicpartialclassfrmMain:Form{publicfrmMain(){InitializeComponent();}privateconststringPIPE_NAME

c# 2018-02-23 发布
3 浏览

Learning Elementary Unity (1) —— 欢迎来到新手村!

Loading安装Unity创建并启动一个Unity项目Unity主要菜单和窗口介绍接到第一个新手任务LinkStart欢迎来到新手村!下面来介绍我们的世界观。当前等级:Lv1技能:无装备:无1.安装Unity为了开始我们的冒险,首先需要下载安装Unity,我使用的是Unity2017.3。安装非常简单,自定义安装路径后全部点下一步即可。2.创建并启动一个Unity项目启动Unity,首次打开启动菜单Projects下应该是全空的,需要创建或打开一个新项目。反正之后迟早会提醒,首先可以先Signin,我为了图方便使用微信登录。在创建一个新的项目前,我们可以先看看Projects右边的Learn.BasicTutorials是官方手把手入门教程,总共四课,只需在点击Download之后打开即可,该教程是一个共四关的游戏,并不是从头开发,只是修改一些参数的操作。继续回到Projects,我们新建一个Project,取名并CreateProject.3.Unity主要菜单和窗口介

c# 2018-02-28 发布
2 浏览

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十)

前言朋友们,大家好,我还是Rector,写ASP.NETMVC5系列文章[一步一步创建ASP.NETMVC5程序Repository+Autofac+Automapper+SqlSugar]的那个家伙。今天为大家带来本系列的第十篇文章。本文知识要点本文将要给大家分享的是页面统筹和规划方面的知识。在上一篇文章发布后有朋友在评论中也反馈到了这个问题,即我们可以把每个页面中重复用到的布局代码放到统一的模板页面或者部分视图里面,以便代码的重用及维护。所以本文为大家分享的内容是:母版页部分视图母版页概述ASP.NETMVC中的母版页类似于传统Webform中的.master母版页面,它可以让我们在做WEB应用程序开发时的页面布局结构更加规范化、标准化,母版页将页面中相同的、通用的区域封装在一起。我们新建页面时只需要基于这个母版页,就会自动继承母版页面的通用布局部分,比如头部导航、菜单栏、页面底部信息等等。ASP.NETMVC5WEB应用程序开发,我们通常使用的视图引擎为:Razor,这个视图引擎的母版页面默认位于

c# 2018-03-05 发布
AD 友情赞助
2 浏览

.net core项目实战之回顾总结

最近公司的一个小项目尝试使用.netcore作为服务端进行开发,并顺利上线运行了一段时间,整体效果还是比较满意的。这里记录下整体开发过程,用于备忘和分享背景项目需求其实很简单,类似于一个简单的审批+简单的任务管理系统,但需要同时有PC端和APP端。由于项目规模不大,时间也比较宽裕,组内商量下来干脆全采用新技术来踩踩坑。这么一提,大家积极性比较高,既完成了任务同时也能学到新的知识。前后端大家做了一个分工,前端讨论下来采用React+AntDesign(不是我所关注的),后端我们决定下来用.netcore开发并部署在docker下,这对我们来说还是有一定挑战的,一来是没底,毕竟周边没有一个成熟的项目使用,二来我们也不是很了解。但经过调研发现,还是有很多成熟案例的,所以最终拍板下来就这样做了。但从后面的开发经历来看,踩的坑真的不少。项目架构讨论这里只说后端部分,我们在讨论后端架构的同时,前端小伙伴已经着手开始搭建框架和设计原型了。在架构方面其实大家基本观点一致的,虽然项目小,但五脏俱全,前端不仅有PC,还有APP。对后端来

c# 2018-03-17 发布
5 浏览

.net core项目实战之开发环境搭建

在上一篇[[.netcore项目实战之回顾总结]](http://www.bug2048.com/netcor...,从本篇开始正式叙述整个开发过程,本篇主要介绍一下开发前的环境准备,vs2017和docker的安装与配置系统要求首先建议采用Windows10专业版/企业版/教育版,且必须是64位操作系统,原因是docker装起来比较方便,Win7装起来比较麻烦,且不确定是否有其他问题(自己没有实践过)其次Win10家庭版不支持hyper-v,也就无法安装docker(依赖hyper-v),hyper-v是什么可参考百度百科。硬件要求具有二级地址转换(SLAT)的64位处理器。CPU支持VM监视器模式扩展。最少4GB内存。由于虚拟机与Hyper-V主机共享内存,因此将需要提供足够的内存来处理预期虚拟工作负荷。目前来说,大多数人手上的电脑都应该支持吧。开启Hyper-V首先进入控制面板-程序-启动或关闭Windows功能找到Hyper-V。如果发现没有找到Hyper-V,那就要确认下你

c# 2018-03-17 发布
4 浏览

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十一)

前言小伙伴们,大家好,我是Rector。最近Rector忙于换工作,没有太多时间来更新我们的ASP.NETMVC5系列文章[一步一步创建ASP.NETMVC5程序Repository+Autofac+Automapper+SqlSugar],直到现在才挤些时间赶紧更新一篇,小伙伴们等得太久了。写系列文章是一件并不容易的事情,相信有过写系列文章经验朋友也应该有所体会。本文知识要点本期是该系列的第十一篇,上一篇《一步一步创建ASP.NETMVC5程序[Repository+Autofac+Automapper+SqlSugar](十)》我们了解了母版页和部分视图,并使用母版页和部分视图重新组织了页面的共用区域的HTML代码,本文我们将要涉及到的内容为:通用分页的封装文章分页的实现通用分页的封装在之前两期中,我们的文章列表页面是没有分页功能的,而是使用如下方法:publicIEnumerable<Post>FindHomePagePosts(intlimit=20){

c# 2018-03-20 发布
AD 友情赞助
3 浏览

.net core项目实战之基于Restful API+Swagger项目搭建

在上一篇.netcore项目实战之开发环境搭建主要介绍了项目开发环境的搭建,本篇主要简单介绍下.netcore下搭建WebApi及集成Swagger,同时介绍一些自己编程时的一些习惯。项目结构项目结构其实不用多说,基本上大同小异。Controller:对外暴露的契约Business/IBussiness:业务逻辑层实现及接口DataAccess:数据访问层Model:实体类库Common:公共方法类库Swagger集成首先通过NuGet加载依赖包Swashbuckle.AspNetCore然后右击你的项目,在属性中,勾选下生成XML文档文件,Swagger会自动解析对应的XML进行匹配。然后开始编码部分,在Startup.cs中ConfigureServicesf方法下加入下面的代码:services.AddSwaggerGen(c=>{c.SwaggerDoc("v1",newInfo{Title="MyAPI",Version="v1"});var

c# 2018-03-20 发布
4 浏览

.net core下配置、数据库访问等操作实现

在上一篇.netcore项目实战之基于RestfulAPI+Swagger项目搭建主要介绍了项目WebApi的基本搭建,本篇主要针对开发过程中一些常用的操作方法配置读取.netcore下读取配置还是有点麻烦的,本身没有System.Configuration.dll,所以在进行配置前需要自行引用Microsoft.Extensions.Configuration,截图如下:这样的话我们就可以配置读取的相关编码了,比如我们数据库的链接字符串,在appsettings.json添加对应的数据库配置:"ConnectionStrings":{"TestDb":"server=localhost;port=3306;database=mytest;user=test;password=123456;charset=utf8;"}读取配置相关代码如下:publicclassAppSetting{privatestaticreadonlyobjectobjLock=newobject(

c# 2018-03-29 发布
2 浏览

.net core下对于Excel的一些操作及使用

在上一篇.netcore下配置、数据库访问等操作实现主要介绍了读取配置,数据库操作的一些方法实例,本篇主要介绍下.netcore下针对Excel的相关操作。对于后台相关的管理系统,Excel导出是基本的功能,下面就简单说下实现该功能的代码实现吧EPPlus与NPOI的选择相对于大名鼎鼎的NPOI来说,EPPlus的API更加友好,导出数据的能力也比NPOI更强大点,但在操作Excel的功能上还是NPOI强一点,如果你想导出比较复杂的Excel的话可以使用NPOI,但对于常规需求的话EPPlus基本满足了。网上也有些两者对比的文章,可以参考下,比如C#NPOI导出Excel和EPPlus导出Excel比较NPOI和EPPlus均已支持.netcore,看不同需求自行选择,这里主要讲下EPPlus的使用。EPPlus的基本介绍EPPlus是一个使用OpenOfficeXML(xlsx)文件格式,能读写Excel2007/2010文件的开源组件,在导出Excel的时候不需要电脑上安装office。官网地址:http:/

c# 2018-03-29 发布
AD 友情赞助
3 浏览

.net core下访问控制层的实现

在上一篇.netcore下对于附件上传下载的实现主要介绍了.netcore下文件上传下载的相关操作,本篇主要介绍下对于权限验证如何通过自定义的中间件进行拦截实现。对于一般的程序而言,如果在未登录的情况下理应是没有对应的权限访问对应的页面的,同时,不同的用户也需要验证该用户权限是否满足条件。对于后端服务来说,就需要有个中间层进行拦截,验证对应的http请求是否满足权限要求。这里我们用到了Middleware-请求管道,通过自定义中间件的方式来实现对Http请求的拦截,实现相关验证。对于Middleware-请求管道的原理和解释可以参考这篇文章:Middleware-请求管道的构成实现逻辑用户在登录成功后,我们在服务端会自动生成一个Token,这个Token会绑定对应的权限,同时保存到Redis中。我们自定义的中间层会拦截请求,获取请求中的Token是否合法,若不合法会对该请求进行拦截。通过使用UseMiddleware扩展方法,将拦截到的HttpContext进行相应的逻辑处理。具体代码首先我们自定义一个权限控制的中间件,

c# 2018-03-29 发布
2 浏览

.net core下对于附件上传下载的实现

在上一篇.netcore下对于Excel的一些操作及使用主要介绍了.netcore下excel的相关操作,本篇主要介绍下文件的上传与下载。文件上传下载也是系统中常用的功能,不啰嗦,直接上代码看下具体的实现。文件上传.netcore通过IFormFile接收文件对象,再通过流的方式保存至指定的地方。[HttpPost("upload")]//[DisableRequestSizeLimit]//禁用http限制大小[RequestSizeLimit(100*1024*1024)]//限制http大小publicasyncTask<IActionResult>Post(List<IFormFile>files){try{if(files==null||!files.Any())returnAssertNotFound(newResponseFileResult{Result=false,Code=Re

c# 2018-03-30 发布
5 浏览

.net core下验证码及二维码登录的实现

在上一篇.netcore下访问控制层的实现主要介绍了通过中间件实现逻辑层面的权限控制,本篇主要介绍下在.netcore下如何生成验证码和二维码。生成验证码验证码实现的逻辑比较简单,生成一个随机数的图片,然后将随机数保存至cookie中,用于客户端校验。首先是写个生成随机数的方法,下面提供个简单的生成算法,不是特别严谨,但作为后台管理应用基本够用了。privatestaticstringRndNum(intVcodeNum){//验证码可以显示的字符集合stringVchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p"+",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,P,Q"+",R,S,T,U,V,W,X,Y,Z";string[]VcArray=Vchar.Split(newChar[]{','});//拆分成数组

c# 2018-03-30 发布
AD 友情赞助
5 浏览

C#虚拟仪器开发实战之目录

Summary写在前面的话第一章虚拟仪器概述第二章C#简介2.1微软的套路第三章起步,最简单的虚拟仪器设计第四章异步编程的那些事第五章通信那点事第六章与设备打交道6.1驱动第七章使用WPF开发虚拟仪器第八章MeasurementDataFlow第九章开源工具和库函数第十章厂商支持10.1JYSeeSharpSDK10.2MeasurementStudio第十一章旧系统的迁移和改造第十二章多语言混合编程第十三章基于云计算的虚拟仪器网络第十四章C#视觉测量第十五章C#虚拟仪器最佳实践第十六章微服务架构和虚拟仪器第十七章跨平台虚拟仪器应用开发

c# 2018-04-01 发布
5 浏览

C#虚拟仪器开发之写在前面的话

大约10年前,我刚上军校时候,混迹于学院机电实验室,开始做一些PS的美工,可我天生没有审美能力,短暂的美工和前端工作之后,江鹏程教员教给了我第一行C#代码,然后一发不可收拾,在一个没有互联网的地方开始学习IT技术。每个月仅有的一次外出机会基本泡在杜家坎环岛旁边的那个网吧查资料。一晃10年过去了,用C#做了无数的项目,其中测控和虚拟仪器的项目居多。作为一个机械男,我很愿意把先进的IT技术引入到传统的机械行业,目前我博士在读,实验室的很多仪器设备都用C#开发,功能丰富且运行稳定,C#目前已经从实验室走向生产线,扮演的角色更加丰富。一路走来,踩坑无数,总想找个机会把自己的经验和教训写出来,和虚拟仪器届的大佬们多次交流中也有此想法,供大家参考,作为一个浮躁的90后,静下心来写书真的很不容易,希望这本书能够按时付梓。一提起虚拟仪器,很多人都会想到Labview。的确,Labview已经成为虚拟仪器行业的软件事实标准,几乎所有的板卡厂商都推出了自家的Labview工具和库。加之Labview的简单快捷,容易上手以及NI的市场战略和高校计划,我身边的

c# 2018-04-01 发布
4 浏览

简单的C#日志类

在最近的一个C#项目里需要打印日志,整理出一个工具类。代码如下:publicclassLogger{privatestaticreadonlyLoggerLogg=newLogger();privatestring_className;privateLogger(){}publicstaticLoggerGetLogger(stringclassName){Logg._className=className;returnLogg;}publicvoidWriteLogs(stringdirName,stringtype,stringcontent){stringpath=AppDomain.CurrentDomain.BaseDirectory;if(!string.IsNullOrEmpty(path))

c# 2018-04-02 发布
3 浏览

ASP.NET Core 2.0 : 四. _Layout与_ViewStart

本章我们新建一个项目,并通过这个项目熟悉一下_Layout与_ViewStart以及它们的加载顺序.新建一个项目首先,文件->新建一个解决方案选择.NetCore的APP下面的ASP.NETCoreWebApp(MVC)Next设置解决方案的名称(和Xcode的界面风格有点像),输入FL.WeightManager,做一个每天记录体重的应用点击Create.项目新建完毕,项目的文件结构上一章已经说过了._layout的应用新建好的项目默认运行效果如下图页面主要分三部分,上面的header,下面的footer,点击上面菜单总的Home、About和Contact切换一下页面看一下这两部分都是不变的,只有中间部分在变.打开Shared文件夹下面的_layout.cshtml页面看一下,header和footer都是定义在这里的,而中间变的部分是@RenderBody().也就是我们经常要改变的地方了.现在将主页改变一下,打开Home文件夹下的Inde

.Net 2018-02-15 发布
6 浏览

微软发布 Visual Studio 15.6 第五个预览版

微软发布VisualStudio15.6的第五个预览版,该版本包括PreviewSDKBuild17095新版本值得关注的内容是包含C++/WinRT,有一些注意事项:可能会发生错误:Cannotdeploytoadevice:Whenattemptingtodeploytoamobiledevice,itfailswiththefollowingerror:DEP0001:UnexpectedError:SmartDeviceException–Classnotregistered[0x80131500]解决上述错误的方法是:GotoAdministrativeCommandPromptRunREGSVR32“\ProgramFiles(x86)\WindowsKits\10\bin\10.0.17095.0\x86\SirepClient.dll”该版本不包含如下工具:Filtdump.exeJSConstraintD

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

张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用

今天是大年初二,都去走亲戚了吧,享受一下这难得的能和亲友相聚的时光。而我就不一样了,今天一回到家就又开始瞎折腾了,哈哈哈。问题背景最近花了点时间用ASP.NETCore2写了个个人博客,中间出了好多问题,过程弯弯曲曲的,但好歹最后还是完成部署在阿里云上了。这几天闲的没事看.NETCoreCLI,发现运行时标识符(RuntimeIDentifier)居然有win10-arm,这使我突然萌生了想把我的博客部署在RaspberryPi上。(这就是纯属瞎折腾,部署在WindowsIoT上确实没用,反正玩都玩了,干脆写篇博客吧...)发布(Publish)应用在将应用部署在WindowsIoT上之前,首先是要以某种合适的方法将应用发布到本机。(Windows10IoT只包含运行时)1.更改项目输出类型打开项目“属性”,将“应用程序”选项中的“输出类型”,改为“控制台应用程序”。或者你也可以直接编辑.csproj文件,将的值改为Exe。2.编辑Program.cs和在

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

Infinispan 的 Hotrod 客户端 C++ 和 C# 8.2.0.Beta1 发布

Infinispan包括C++和C#两种语言版本的Hotrod客户端发布了8.2.0测试版。这次更新做了一些改进和bug修复,具体如下:改进[HRCPP-435]-C++ImproveusabilityforRemotetaskexecutionFeatureRequest[HRCPP-406]-.NETImplementgetAlloperationBug修改[HRCPP-429]-MorerobustAddandRemoveclientlisteneroperation[HRCPP-434]-PassinginvalidclientcertificateresultsinSystem.AccessViolationException[HRCPP-446]-NearCache::getWithVersionmethodproducesracecondition[HRCPP-447]-Separatedatadirectories

.Net 2018-02-17 发布
3 浏览

使用VS Code开发asp.net core (下)

第一部分:https://www.cnblogs.com/cgzl/p/8450179.html本文是基于Windows10的.Debuggingjavascript打开wwwroot/js/site.js,写一段简单的js代码:(function($){$(document).ready(function(){$('#myButton').on('click',function(){alert('Helloworld!');});});})(jQuery);可以设置断点,但是由于整个项目是用于服务器端的.而js文件是用于客户端开发的,我们需要一种方法来调试js文件.这里我们就需要安装一个扩展:ChromeDebugger.然后打开launch.json,可以直接打开文件,也可以如下图方式打开:点击右下角的AddConfiguration:修改配置的端口和目录:"configurations":[{"type":"chrome","request":"lau

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