聚合文章列表
3 浏览

菜鸟之旅——学习线程(1)

菜鸟之旅——学习线程(1)上一篇主要介绍了进程和线程的一些基本知识,现在回归正题,我们来学一下线程的使用,本篇主要是使用新建线程和线程池的方式。线程先来介绍简单的线程使用:使用new方法来创建线程,至于撤销线程,我们不必去管(我也不知道怎么去管XD),因为CLR已经替我们去管理了。创建先来看一个简单的使用线程的例子:staticvoidMain(string[]args){Threadt1=newThread(Menthod1);Threadt2=newThread(Menthod2);t1.Start();t2.Start("线程2参数");Console.WriteLine("主线程的ID:{0}",Thread.CurrentThread.ManagedThreadId);Console.WriteLine("--------------------");Console.ReadLine();}staticvoidMenthod1(){Thread.Sleep(2000);Console.Write

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

C# BBcode 转 Markdown

本文告诉大家一个简单的方法从BBcode转为Markdown本文的方法都是使用正则转换,现在支持的代码只有很少的常用标签,如果大家发现有转换失败的,请帮我修改代码,估计代码我不会进行修改。最重要的就是转换url和image,那么主要就告诉大家如何转换这两个privatestaticstringConvertUrl(stringstr){varregex=newRegex(@"\[url=(.+?)\]((?:.|\n)+?)\[\/url\]");returnregex.Replace(str,"[$2]($1)");}这就是转换url的代码,里面用了正则。一般使用正则拿到的数据就是(里的数据,如上面的代码,可能看起来有些复杂,那么用下面的代码告诉大家。例如需要拿出123lindexifoo中的lindexi,那么正则可以这样写123(lindexi)foo如果需要拿到lindexi,可以使用下面代码varregex=newRegex(@"123(lind

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

在ASP.NET MVC中使用Web API和EntityFramework构建应用程序

最近做了一个项目技术预研:在ASP.NETMVC框架中使用WebAPI和EntityFramework,构建一个基础的架构,并在此基础上实现基本的CRUD应用。以下是详细的步骤。第一步在数据库中创建一张数据表,表名为Customer,见下图:第二步打开VisualStudio,新建项目。选择'ASP.NETWebApplication',命名为'WebApi'。我们要创建一个'WebAPI',在模板中选择'WebAPI',点击'确定'。第三步接下来我要添加一个类。右键点击这个webapi项目,添加一个'ADO.NETEntityDataModel'。添加'EFDesignerfromdatabase',点击'下一步'。在配置窗口中添加新连接,输入服务器名称,选择数据库,点击'确定'。点击'下一步',选择要关联的数据表。点击'完成'。第四步现在的工作就是要为WepApi添加控制器了。右键选择'controllers'文件夹。选择'MVC5Controll

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

使用xUnit为.net core程序进行单元测试(4)

第1部分:http://www.cnblogs.com/cgzl/p/8283610.html第2部分:http://www.cnblogs.com/cgzl/p/8287588.html第3部分:http://www.cnblogs.com/cgzl/p/8438019.html请使用这个项目的代码:https://pan.baidu.com/s/1i7d8z2H数据驱动的测试打开PlayerCharacterShould.cs添加几个Fact测试方法:[Fact]publicvoidTakeZeroDamage(){_sut.TakeDamage(0);Assert.Equal(100,_sut.Health);}[Fact]publicvoidTakeSmallDamage(){_sut.TakeDamage(1);Assert.Equal(99,_sut.Health);}[Fact]publicvoidTakeMediumDamage(){_sut.TakeDamage(50);Asser

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

[Asp.net mvc]Html.ValidationSummary(bool)

摘要对ValidationSummary是HtmlHelper的扩展方法,用来返回System.Web.Mvc.ModelStateDictionary(即ModelState)对象中的验证消息的未排序列表(ul元素)。一个例子@Html.ValidationSummary(true):告知辅助方法排除属性级别的错误。换而言之,就是告知ValidationSummary方法只显示ModelState中与模型本身相关的错误,而不显示那些与具体模型属性相关的错误。false,会显示当前模型的所有错误。定义////摘要://返回System.Web.Mvc.ModelStateDictionary对象中验证消息的未排序列表(ul元素),还可以选择仅显示模型级错误。////参数://htmlHelper://此方法扩展的HTML帮助器实例。////excludePropertyErrors://true表示使摘要仅显示模型级错误;false表示使摘要显示所有错误。//

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

UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

UWP:在UWP中使用EntityFrameworkCore操作SQLite数据库在应用中使用SQLite数据库来存储数据是相当常见的。在UWP平台中要使用SQLite,一般会使用SQLiteforUniversalWindowsPlatform和SQLitePCL之类的库,前者是SQLite引擎库,而后者则提供了用于操作数据库的API,不过自从WindowsFallCreatorsUpdate之后,我们有了新的选择。由于UWP在其WindowsFallCreatorsUpdateSDK中增加对.NETStandard2.0的支持,并且EntityFrameworkCore2.0(以下简称EFCore)也支持.NETStandard2.0,这就使得我们能在UWP应用中使用EFCore来操作SQLite数据库。相比前者,使用EFCore最明显的优点是可以使用EntityFramework的特性(如FluentA

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

NLog使用教程

1.引入NLog.dll,这里使用的版本如下:2.建立NLog.config文件NLog.config文件配置如下(常用配置):${message}"/>

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

DevExpress使用教程:XtraGridControl动态添加右键菜单

在使用GridControl的时候经常需要添加右键菜单。一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单。但是涉及到一些单击事件会收到编辑器编辑状态影响,所以Mouse-Click事件不好用。幸好,GridView自带了一个默认的右键事件,专门用于弹出右键菜单用:PopupMenuShowing为了调用方便,设计成一个静态方法,调用的时候只用传入需要注册的网格就好:GridViewMenuHelper.CreateCopyCellItem(gdvw);这里,为传入网格添加一个名为【复制XXX】(XXX为列头)的方法,可以将鼠标点中的Cell中的数据复制到剪贴板。效果图如下:实现代码如下:#region添加复制Cell菜单publicstaticvoidCreateCopyCellItem(GridViewView){View.PopupMenuShowing+=newPopupMenuShowingEventHandler(Create_

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

Using Custom Domains With IIS Express In Asp.Net Core

UsingCustomDomainsWithIISExpressInAsp.NetCoreIISExpress是一个Mini版的IIS,能够支持所有的Web开发任务,但是这种设计有一些缺陷,例如只能通过localhost:的方式来访问我们的应用程序,看起来就有点不爽,幸运的是我们可以更改默认的配置,使用自定义主机名来访问运行在IISExpress上的站点程序。1、新建一个ASP.NETCoreWebApplication如果不做任何修改的话,第一次运行会使用localhost:的方式来运行,同时会在.vs文件夹下依次创建config文件夹,在config文件夹下生成一个applicationhost.config,这个配置文件就是IISExpress的启动配置文件。note:.vs文件夹默认是隐藏的,你需要将它显示出来。2、在项目上右键→属性,选择调试选项,修改应用URL也可以直接在launchSettings.json文件中进行修改修改完成以后我们回到IISExp

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

C#基础拾遗系列之一:先看懂IL代码

一、前言首先,想说说为什么要写这样系列的文章,有时候在和同事朋友聊天的时候,经常会听到这样的话题:(1)在这家公司没什么长进,代码太烂,学不到东西。(你有没有想想框架为什么这样写,代码还可以怎么去优化,比如公司使用Dapper,源码研究过没以及这样封装原因是啥)(2)现在只会Ctrl+CCtrl+V,不排除有时为了效率,包括我自己有时候也懒的写直接复制粘贴(是不是感觉距离语言的本质越来越远了)(3)Ctrl+CCtrl+V时间长了,都有点怀疑自己是否有勇气面试其他公司(是不是总给自己找借口,年龄大了,不敢疯狂了,当然大家不要误解,我没鼓励大家跳槽)(4)干了几年没什么提高(无论要精通那门技术,我们都应该从其本质出发)最近也在反思自己,之前看到博客园大神:fish-li的一篇文章《FishLi该如何帮助您呢?》其中说到:如何做一个有追求的技术人员,受益匪浅。以及张善友老师分享的关于雷果果的技术之路,大家都羡慕这些大神,何曾想过他们背后的付出,不要再抱怨环境不好,环境好也是给这些有准备和有追

.Net 2011-01-29 发布
4 浏览

OWIN:HttpListener

OWIN(OpenWebServerInterfacefor.NET)是一个规范和标准,OWIN定义了Web服务器与Web应用之间的标准接口,将应用与服务器解耦,使得便携式Web应用以及跨平台的愿望成为现实,标准的OWIN应用可以在任何OWIN兼容的服务器上运行,不再依赖与Windows和IIS。微软的Katana、Identity、SignalR等技术都是基于OWIN的标准中间件实现。OWIN4层结构在OWIN规范下可将一个Web应用解耦为4层:Host(宿主):应用程序的主进程,主要负责Server的启动、关闭,为Server加载各种Middleware,同时也装载Application。Server(服务器):绑定套接字并监听的HTTP请求,将请求的信息依照OWIN规范,包装成字典格式,传递到下层的Middleware。Middleware(中间件):当从客户端发送一个请求,这个请求就会传到OWIN管道中处理,Middleware就是组成管道的组

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

反反爬虫相关机制

反反爬虫相关机制来自于Scrapy官方文档描述:http://doc.scrapy.org/en/mast...通常防止爬虫被反主要有以下几个策略:动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)禁用Cookies(也就是不启用cookiesmiddleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)可以通过COOKIES_ENABLED控制CookiesMiddleware开启或关闭设置延迟下载(防止访问过于频繁,设置为2秒或更高)GoogleCache和BaiduCache:如果可能的话,使用谷歌/百度等搜索引擎服务器页面缓存获取页面数据。使用IP地址池:VPN和代理IP,现在大部分网站都是根据IP来ban的。使用Crawlera(专用于爬虫的代理组件),正确配置和设置下载中间件后,项目所有的request都是通过crawlera发出。DOWNLOADER_MIDDLEWARES={'scrapy_crawl

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

Python之Suds库调用WCF实现复杂参数序列化

Python之Suds库调用WCF实现复杂参数序列化今年主要做自动化测技术支持工作,最近一直在做接口自动化这块,前些天在研究将web页面模拟http进行接口自动化,这周杭州那边想测试WCF服务,所以这两天一直在探索。遇到的第一个问题就是服务参数传参序列化的问题,怎么让python这边创建的对象能被WCF识别到。正好在大学的时候也学了WCF,不过一直都没用过,这次算是重温一下,用的都是一些WCF基础。一、WCF服务准备1.定义契约Contract这里IServiceDemo.cs定义了服务契约IServiceDemo,并定义了几个操作契约OperationContract,5个操作契约传的参数不同,用来做测试,同时自定义了两个数据契约DataContract.并在ServiceDemo.svc中实现了上面操作契约。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.Serialization;usingSystem

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

【ASP.NET Core】给路由规则命名有何用处

【ASP.NETCore】给路由规则命名有何用处上一篇中老周给伙伴们介绍了自定义视图搜索路径的方法,本篇咱们扯一下有关URL路径规则的名称问题。在扯今天的话题之前,先补充点东东。在上一篇中设置视图搜索路径时用到三个有序参数:{2}{1}{0},分别是Area、Controller、Action。其中说到几个特殊的视图,如_Layout.cshtml、_ViewStart.cshtml等。_Layout.cshtml页默认放在/Views/Shared目录下,但,_ViewStart.cshtml和_ViewImports.cshtml这两个不应该放在Shared目录下,一般应放到/Views下,这样它们可以作用于所有的视图。如果放到了Shared目录下,它们只对Shared目录中的视图起作用,而对于Views下的其他视图不起作用。比如,放到/Views下。Views(目录)│_ViewImports.cshtml│_ViewStart.cshtml│└─Home(目录,Controlle

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

淺談 macOS 的 App 安裝與反安裝

從AppStore下載這是最安全的方式,不用擔心安裝到惡意程式,也是Apple推薦的方式,將來app有任何更新,AppStore會通知你,使用體驗與iOS相同。下載dmg格式有的app並不想透過AppStore審核機制,而是自行在網站上提供下載dmg檔案。dmg本質是一個光碟映像檔,你只要將app拖曳到你自己的Applications目錄下就算安裝完成。這種方式理論上可能安裝到惡意程式,須自行承擔風險。下載pkg格式這種格式較少見,提供類似Windows下一步下一步的安裝方式,但Microsoft非常喜歡使用這種方式,如.NETCoreSDK、OfficeforMac、VisualStudioforMac…等。使用Homebrew安裝有一類工具是由Linuxopensource移植到macOS,如Git、NVM,這類工具就需要如Ubuntu

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

使用xUnit为.net core程序进行单元测试(3)

第1部分:http://www.cnblogs.com/cgzl/p/8283610.html第2部分:http://www.cnblogs.com/cgzl/p/8287588.html请使用这个项目作为练习的开始:https://pan.baidu.com/s/1ggcGkGb测试的分组打开Game.Tests里面的BossEnemyShould.cs,为HaveCorrectPower方法添加一个Trait属性标签:[Fact][Trait("Category","Enemy")]publicvoidHaveCorrectPower(){BossEnemysut=newBossEnemy();Assert.Equal(166.667,sut.SpecialAttackPower,3);}Trait接受两个参数,作为测试分类的Name和Value对.Build项目,RunAllTests,然后选择选择一下按Traits分组:这时,TestExplorer里面的tests将会这

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

我把石原里美的脸,合成到日本小短片儿里了!

请叫我制片师不知道差友们还记不记得两个月前Reddit上的科技界大事儿。。。有个id叫deepfakes的神人,用机器学习框架写了一套工具,把女星的脸接到了某些不可描述的影片中。和一般意义上的P图不同,这个方法是通过搭建神经网络来学习人脸,使替换以后的脸可以生动地模仿原来的表情,以假乱真。差评君这两天闲来无事,逛Reddit的时候发现有了个以deepfakes命名的板块,里面一堆人在讨论技术的同时还在贴着不可描述的内容,一片欣(hei)欣(hei)向(hei)荣,学术氛围浓厚。。。还有人分享大量训练样本差评君觉得有些奇怪,虽然说那位叫deepfakes的大神把工具开源了,但是以大部分网友的水平应该是不会用他的源码的,咋这个社区这么热闹了呢。。。直到我注意到了置顶帖,又有个id叫deepfakeapp的老哥在deepfakes的代码基础上做了一套傻瓜式工具,让没啥技术背景的人也能学会使用,这种分享精神实在是让我感动。。。可惜的是虽然哥们儿精神可嘉,不过

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

在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 发布
4 浏览

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

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

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

我所使用的 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 友情赞助