自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dotNET跨平台

在这里你可以谈微软.NET;Mono的跨平台开发技术,也可以谈谈其他的跨平台技术.;;在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux主流平台

  • 博客(105)
  • 收藏
  • 关注

原创 jenkins~集群分发功能和职责处理

jenkins的多节点集群在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码,还原,编译,发布,生成镜像,推镜像到仓库,建立服务等),而对于.net项目你可以使用windows服务器来实现jenkins的节点,而它们的入口都是jenkins的master,由它根据每个节点的

2017-09-30 00:00:00 1724

原创 asp.net core合并压缩资源文件引发的学习之旅

0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www.cnblogs.com/morang/p/7207176.html在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并新建一个cor

2017-09-30 00:00:00 2450

原创 Postman高级应用——流程控制、调试、公共函数、外部数据文件

postman客户端下载地址:https://www.getpostman.com/apps流程控制流程控制简言之就是设置接口的执行顺序,流程控制只有在collection runner或Newman里才生效如果需要实现多个接口的一次循环,只需在每个接口的Tests中编写脚本postman.setNextRequest('下一个接口名');操作如下图所示:使用i

2017-09-30 00:00:00 10767

原创 ASP.NET Core中如何调整HTTP请求大小的几种方式

一、前言一般的情况下,我们都无需调用HTTP请求的大小,只有在上传一些大文件,或者使用HTTP协议写入较大的值时(如调用WebService)才可能会调用HTTP最大请求值。在ASP.NET Core 2.0中,它的两个宿主服务器Kestrel和HttpSys默认的HTTP最大请求大小为30MB (~28.6 MiB)。如果当HTTP请求值大于这个默认配置时,在执行Requ

2017-09-29 00:00:00 3976

原创 ASP.NET Core 2.0 使用支付宝PC网站支付

前言最近在使用ASP.NET Core来进行开发,刚好有个接入支付宝支付的需求,百度了一下没找到相关的资料,看了官方的SDK以及Demo都还是.NET Framework的,所以就先根据官方SDK的源码,用.NET Standard 2.0 实现了支付宝服务端SDK,Alipay.AopSdk.Core(github:https://github.com/stulzq/Alipay.Aop

2017-09-29 00:00:00 4856 1

原创 揭晓新版《Windows Sysinternals实战指南》读书积赞活动

参与新版《Windows Sysinternals实战指南》,读书积赞活动的一下三位同学(想法构成,我zzz,kergee),请加我微信geffzhang,把姓名,地址和手机号发给我,后续给你们寄书。.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

2017-09-28 00:00:00 1179

原创 弹性和瞬态故障处理库Polly介绍

前言本节我们来介绍一款强大的库Polly,Polly是一种.NET弹性和瞬态故障处理库,允许我们以非常顺畅和线程安全的方式来执诸如行重试,断路,超时,故障恢复等策略。 Polly针对对.NET 4.0,.NET 4.5和.NET Standard 1.1以及.NET Core实现,该项目作者现已成为.NET基金会一员,项目一直在不停迭代和更新,项目地址【https://github.com/App

2017-09-28 00:00:00 2604

原创 微服务~Eureka实现的服务注册与发现及服务之间的调用

微服务里一个重要的概念就是服务注册与发现技术,当你有一个新的服务运行后,我们的服务中心可以感知你,然后把加添加到服务列表里,然后当你死掉后,会从服务中心把你移除,而你作为一个服务,对其它服务公开的只是服务名称,而不是最终的服务地址URL,这对于云平台,容器化架构来说是非常重要的!安装单独的Eureka服务(server)服务注册-aspnetcore建立Eureka客户端(client)服务发现-

2017-09-28 00:00:00 5541

原创 SQL Server 2017 正式发布

SQL Server 2017 跨出了重要的一步,它力求通过将 SQL Server 的强大功能引入 Linux、基于 Linux 的 Docker 容器和 Windows,使用户可以在 SQL Server 平台上选择开发语言、数据类型、本地开发或云端开发,以及操作系统开发。微软拥抱开源的脚步继续前行,在美国佛罗里达奥兰多举行的 Ignite 大会上,宣布正式推出 SQL Server 2017

2017-09-28 00:00:00 12383 1

原创 基于Office 365的随需应变业务应用平台

这是我去年10月底在微软技术大会(Microsoft Ignite 2016) 上面的演讲主题,承蒙大家抬爱,也沾了前一场明星讲师的光,我记得会场几乎是满座。观众中既有IT部门的技术人员,也有业务部门的用户,也有少量的开发人员,这正好契合了这个主题想要表达的意思:在业务需求的变化日趋频繁的当下,这三类用户的参与,并且借助合适的技术及平台(例如微软的Office 365),可以构建随需应变的业务应用

2017-09-27 00:00:00 381

原创 跨平台应用集成(在ASP.NET Core MVC 应用程序中集成 Microsoft Graph)

1谈一谈.NET 的跨平台终于要写到这一篇了。跨平台的支持可以说是 Office 365 平台在设计伊始就考虑的目标。我在前面的文章已经提到过了,Microsoft Graph 服务针对一些主流的开源平台(主要用来做跨平台应用)都有支持,例如 python,nodejs 等。他们真的非常好用,与此同时我虽然对他们也有一定的了解,但要跟我最熟悉的 Microsoft .NET 来比较的话,我自然还是

2017-09-27 00:00:00 681

原创 为什么你需要将代码迁移到ASP.NET Core 2.0?

随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代。开发者们可以选择使用命令行、个人喜好的文本编辑器、Visual Studio 2017 15.3 和 Visual Studio Code 来开发自己的 .NET Core 2.0 项目。同时,微软 .NET 开发工具组也宣布了 ASP.NET Core 2.0 的发布,并且此版本与 .NET Core 2.0、Visu

2017-09-27 00:00:00 922

原创 .NetCore之下载文件

本篇将和大家分享的丝.NetCore下载文件,常见的下载有两种:A标签直接指向下载文件地址和post或get请求后台输出文件流的方式,本篇也将围绕这两种来分享;如果对您有好的帮助,请多多支持。允许站点不识别content-type下载文件(即:不受mime类型限制下载)如何允许下载.nupkg和.apk后缀的文件Razor模板的post下载文件例子半年来使用NetCore的一些感想和焦虑允许站点不

2017-09-27 00:00:00 7920

原创 C#中的两把双刃剑:抽象类和接口

问题出现:我们在使用C#的抽象类和接口的时候,往往会遇到以下类似的问题,大致归纳如下:(1)抽象类和接口有什么本质的区别和联系?(2)什么时候选择使用抽象类,然啥时候使用接口最恰当呢?(3)在项目中怎样使用才能使得项目更具有可维护性、扩展性?怎样将它和Struct,类紧密的结合,达到最终的双刃剑作用?解决方案:这也是我在学习抽象类和接口的时候遇到的问题,从我归纳的这三个问题,不难看出这也许是我们大

2017-09-26 00:00:00 502

原创 Docker 实战笔记

Docker的安装与配置CentOS前提条件目前,CentOS 仅在发行的版本中的内核支持DockerDocker 运行在CentOS 7 上要求系统为64位,系统内核版本在3.10以上。本次测试运行使用的是 centOS 7.2 64位的系统版本。使用代码 uname -r即可查看系统内核版本Docker软件已经包括在默认的CentOS-Extras软件源中。因此想要安装Docker,只需要运行

2017-09-25 00:00:00 451

原创 .NET Conf 2017后初尝Xamarin Forms 3.0@Linux

对很多.NET粉,.NET Conf 2017的东西估计提前一个月都熟悉了,Xamarin粉估计最大惊喜不是Xamarin Live Player, 也不是Xamarin.Forms混合NativeControl ,而是Xamarin.Forms 3.0,因为它融入到 Linux平台. Xamarin.Forms 跨平台,一次编写生成原生界面是在跨平台移动开发中很大的优势。从1.0 诞生开始,用X

2017-09-25 00:00:00 753

原创 ASP.NET Core依赖注入解读&使用Autofac替代实现

1. 前言关于IoC模式(控制反转)和DI技术(依赖注入),我们已经见过很多的探讨,这里就不再赘述了。比如说必看的Martin Fowler《IoC 容器和 Dependency Injection 模式》,相关资料链接都附于文章末尾。其中我非常赞同Artech的说法"控制更多地体现为一种流程的控制",而依赖注入技术让我们的应用程序实现了松散耦合。ASP.NET Core本身已经集成了一个轻量级的

2017-09-25 00:00:00 2797

原创 spring cloud+dotnet core搭建微服务架构:服务发现(二)

前言上篇文章《手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)》实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这种方式的缺点。那么下面讲如何在spring cloud+dotnet core的应用下进行服务调用。代码实

2017-09-24 00:00:00 709

原创 .NET Core 使用RabbitMQ

RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语

2017-09-24 00:00:00 6434

原创 揭示.NET Core和.NET Standard

作为.NET家族的最新成员,有很多关于.NET Core和.NET Standard的误解,以及它们于.NET Framework之间的区别。在这篇文章,我会准确的解释他们究竟是什么,并看看何时应选择哪一个。在详细介绍之前,首先查看.NET的结构图,它将帮助我们更好的理解.NET Core和.NET Standard所在的未知。当15年前,.NET 框架第一版发布时, 它有一个单一的. NET 堆

2017-09-24 00:00:00 15192 1

原创 Entity Framework中的字符串插值引发担忧

将内插字符串(Interpolated Strings)自动地转化为参数化SQL语句,这是Entity Framework Core 2提供的一个新特性。虽然该特性从设计上是为了避免出现SQL语句编写上的问题,但是有人担心这会导致更多的SQL注入攻击。下面给出一个正确工作的字符串插值例子:var city = "Redmond";context.Customers.FromSql($"SELEC

2017-09-23 00:00:00 382

原创 WebSocket In ASP.NET Core(二)

Introduce  上篇博文中,介绍了WebSocket的基本原理,以及一个简单的Demo用来对其有一个大致的认识。这篇博文讲的是我们平常在网站上可能会经常遇到的——实时聊天,本文就是来讲在.NET-Core使用WebSocket来实现一个“乞丐版”的在线实时聊天Demo。关键词:Middleware,Real-Time,WebSocketBefore You Read. 这个和我们上一篇博文中

2017-09-23 00:00:00 2656

原创 ASP.NET Core 运行原理剖析

1.1. 概述在ASP.NET Core之前,ASP.NET Framework应用程序由IIS加载。Web应用程序的入口点由InetMgr.exe创建并调用托管。以初始化过程中触发HttpApplication.Application_Start()事件。开发人员第一次执行代码的机会是处理Application_StartGlobal.asax中的事件。在ASP.NET Core中,Global

2017-09-23 00:00:00 4495

原创 Configuration Extensions - 简化配置,让你配置支持变量

在开发“RabbitCloud”项目时,使用配置文件发现会有很多重复值,所以我基于”Microsoft.Extensions.Configuration”写了一个扩展库,来丰富对配置的支持。实际案例——“RabbitCloud”之前,我是这样的因为公司ip和家里机器的ip不一致,所以经常需要切换配置文件。但根据这份配置文件,我更改健康检查的主机和端口就意味着我得改三个地方,然而一般情况下这三个地方

2017-09-22 00:00:00 1497 1

原创 asp.net core AuthenticationMiddleware 在WebApi中的的使用

在.net framework 4.5架构下使用认证(Authentication)授权(Authorization)。IIS使用HttpModule进行认证(Authentication),我们可以选择自己实现认证方式并在web.config中配置,当然也可以选择IIS默认提供的几种实现,这里不再继续展开讨论。 asp.net core默认提供了几种默认的实现方式,包括Identity,Face

2017-09-22 00:00:00 1936

原创 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

背景公司去年开始使用dotnet core开发项目。公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代理,项目最终上线。但是这远远没达到微服务的要求,其中服务治理,断路器都没有。我个人理解,我们谈微服务实际上更多的是谈服务治理这块东西,至于各个的服务只是微服务中的应用而已。一次偶然的机会发现了java的

2017-09-22 00:00:00 8382

原创 WebSocket In ASP.NET Core

What Is WebSocket? WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议,是建立在TCP上、且独立的协议。在WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以进行持久性的连接,并进行双向数据传输。  为了建立WebSocket 连接,浏览器 通过 Http 1.1 协议的101 StatusCode 进行握手。 以下是我本地的一个We

2017-09-21 00:00:00 1302

原创 “.Net 社区大会”(dotnetConf) 2017 Day 1 Keynote: .NET Everywhere

8月份已经发布了.NET Core 2.0, 大会Keynote 一开始花了大量的篇幅回顾.NET Core 2.0的发布,社区的参与度已经非常高。大会的主题是.NET 无处不在:NET Core 2.0已经完成了服务端的布局,那么各种终端的覆盖就是Xamarin的主场,Xamarin.Forms秋天会有一波初步升级来支持.NET Standard 2.0。然而更加重要的是,官方正式加入更多平台的

2017-09-20 00:00:00 266

原创 .net core 使用Redis的发布订阅

Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心。接下来介绍一下.net core 使用Redis的发布/订阅功能。Redis 发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的通道。

2017-09-20 00:00:00 1154

原创 王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门

工欲善其事,必先利其器。 上回书《王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍》说到,开发游戏用到unity和C#。本篇博客将从零开始做一个unity的基础入门。\(^o^)/~欢迎大家的斧正。一起学习一起交流(笑~)(因为笔者也是心血来潮开这个专栏,所以和大家一样也是刚刚接触unity和C#。所以这个专栏还有记录学习历程和笔记的作用,确保大家少踩坑。haha)下

2017-09-20 00:00:00 6994 2

原创 是时候开始用C#快速开发移动应用了

从2015年接触Xamarin到至今已经2个年头,我对Xamarin的技能没有长进多少,但它却已经足够成熟到在跨平台移动开发工具中占有一席之地。在扫了一些资料之后,突然发现国外有很多移动端的应用已经是用Xamarin开发,Telerik还有专门的团队来开发Xamarin UI 库,这再次激发起了我的兴趣!吓得我赶紧找了个视频做了个demo, 下面就一起来体验一下用C# 开发一个Material D

2017-09-20 00:00:00 11294 7

原创 大湾区第二次.NET技术交流会圆满成功

2017年9月16日的深圳阳光明媚,一场为庆祝.NET Core 2.0发布和.NET 社区大会(https://www.dotnetconf.net/) 的召开的本地社区活动,这次活动还得到如鹏网杨中科老师的大力支持开通网上直播,网上有300多位参与活动,现场场地有限,也有50多位。这次的场地是在大湾区标志的深圳深圳湾科技生态园,这次活动得到了我的母校在深圳的校友会的场地支持,得以在交通便利的深

2017-09-19 00:00:00 387

原创 .net core之ACG小站爬虫(二)

紧跟着上一节说的文章,虽然已经放出了所写的全代码,但还是再解释一下另外一个页面的请求和分析过程吧。PS:又可以愉快的水一章了,咕嘿嘿。页面分析上回说到下载按钮的href属性是javascript:;伪协议,导致了新打开的页面链接携带#符号,但是我们通过了phantomjs已经解决了第一次跳转的问题。下载页面事实证明,这里更加狠,连个伪协议都没有。不过没关系,我们还是沿用上回的那个方法,使用phan

2017-09-19 00:00:00 453

原创 .net core之ACG小站爬虫(一)

想到好久没写过.net的代码了,因此就尝试来写一写.net的代码。此外,也想要熟悉一下Phantomjs。环境配置.net core下载。可选的可以下载宇宙大IDEVisual Studio,当然更加推荐使用Visual Studio Code进行代码的书写。Phantomjs。这个不用说了,今天的主角。采用无头浏览器爬取ACG小站的很大原因是它的页面很难分析,此外也有熟悉一下Phantomjs的

2017-09-19 00:00:00 861

原创 asp.net core mvc View Component 应用

ViewComponent1、View 组件介绍在ASP.NET CORE MVC中,View组件有点类似于partial views,但是他们更强大,View组件不能使用model binding,当你调用它的时候仅仅依赖与你提供的数据一个View组件特点:   .呈现一大块而不是一个整体的响应。   .包含在控制器和视图之间发现的相同的分离问题和可测试行优点。   .可以包含参数和业务逻辑。

2017-09-19 00:00:00 1781

原创 Azure School与开源

距离Azure School(https://school.azure.cn/) 的正式上线时间,2017.8.3,已经过去了20多天了。这20多天得到了很多有帮助的建议和反馈,小伙伴们都很给力,互相帮助扶持,调整产品不正确的地方,快速迭代新的功能。期间我还去参加了团队组织的第一届微软云时代开发者社区生态圈会议,与会者都是在各自技术领域的贡献者,大家都给出了很有远见的提议,比如多鼓励业界的项目经验

2017-09-18 07:24:34 379

原创 ASPNET Core 2.x中的Kestrel服务器

Kestrel是一个基于libuv的跨平台ASP.NET Core web服务器,libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。 Kestrel支持以下功能: HTTPS 用于启用不透明升级的WebSockets 位于Nginx之后的高性能Unix sockets Kestrel 被.NET Core支持的所

2017-09-18 07:24:34 1198

原创 体验 ASP.NET Core 中的多语言支持(Localization)

首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocalization 以及配置 RequestLocalizationOptions (这里假设使用英文与中文): public void ConfigureServices(IServiceCollection services) {     services.Ad

2017-09-18 07:24:34 5696 1

原创 ASP.NET Core Web服务器 Kestrel和Http.sys 特性详解

1.1. 名词解释 内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序。 用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取。 1.2. Kestrel基本工作原理 Kestrel是进程内服务器,以一个包形式提供,自身不能单独运行,必须HOST在一个.NET

2017-09-17 08:35:53 1018

原创 asp.net core 2.0 web api基于JWT自定义策略授权

JWT(json web token)是一种基于json的身份验证机制,流程如下:     通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明, 这篇博文,主要说明在asp.net core 2.0中,基于jwt的web api的权限设置,

2017-09-17 08:35:53 2053 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除