<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhbog的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhbog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhbog]]></copyright><item><title><![CDATA[ASP.NET Core Docker部署]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/82016588</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/82016588</guid><author>zhbog</author><pubDate>Fri, 24 Aug 2018 13:24:49 +0800</pubDate><description><![CDATA[前言

在前面文章中，介绍了 ASP.NET Core在 macOS，Linux 上基于Nginx和Jexus的发布和部署，本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序。

ASP.NET Nginx 发布和部署 ：http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html。

Asp.Net ...]]></description><category></category></item><item><title><![CDATA[ASP.NET Core Linux下为 dotnet 创建守护进程（必备知识）]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/82016563</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/82016563</guid><author>zhbog</author><pubDate>Fri, 24 Aug 2018 13:23:19 +0800</pubDate><description><![CDATA[前言

在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序，本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程，来保证我们的程序在异常或者是电脑重启的时候仍然能够正常访问。

如果你以后用准备使用 asp.net core来开发项目的话，程序并且部署到 Linux 上的话，那么此篇文章你值得收藏。
如果你觉...]]></description><category></category></item><item><title><![CDATA[C#用DataTable实现Group by数据统计]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/81411074</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/81411074</guid><author>zhbog</author><pubDate>Sat, 04 Aug 2018 14:57:42 +0800</pubDate><description><![CDATA[1、用两层循环计算，前提条件是数据已经按分组的列排好序的。

DataTable dt = new DataTable();dt.Columns.AddRange(new DataColumn[] { new DataColumn(&quot;name&quot;, typeof(string)),
                                        new DataColumn(&quot;sex...]]></description><category></category></item><item><title><![CDATA[Asp.Net Core API网关Ocelot]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/80673618</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/80673618</guid><author>zhbog</author><pubDate>Wed, 13 Jun 2018 08:27:01 +0800</pubDate><description><![CDATA[首先，让我们简单了解下什么是API网关？      API网关是一个服务器，是系统的唯一入口。从面向对象设计的角度看，它与外观模式类似。API网关封装了系统内部架构，为每个客户端提供一个定制的API。它可能还具有其它职责，如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。    API网关方式的核心要点是，所有的客户端和消费端都通过统一的网关接入微服务，在网关层处理所有的非业务功能。...]]></description><category></category></item><item><title><![CDATA[Ocelot API网关的实现剖析]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/80673604</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/80673604</guid><author>zhbog</author><pubDate>Wed, 13 Jun 2018 08:25:24 +0800</pubDate><description><![CDATA[在微软Tech Summit 2017 大会上和大家分享了一门课程《.NET Core 在腾讯财付通的企业级应用开发实践》，其中重点是基于ASP.NET Core打造可扩展的高性能企业级API网关，以开源的API网关Ocelot为基础结合自己的业务特性，当天课程只有40分钟，有很多内容都没有展开，接下来就用一篇小文章来聊下Ocelot 的实现原理，大家在使用的过程中也可以一起来贡献。 总体来说这是...]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 简单实现七牛图片上传（FormData 和 Base64）]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/80206486</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/80206486</guid><author>zhbog</author><pubDate>Sat, 05 May 2018 15:49:44 +0800</pubDate><description><![CDATA[七牛图片上传 SDK（.NET 版本）：https://developer.qiniu.com/kodo/sdk/1237/csharpUpoladService示例代码：public class UpoladService : IUpoladService
{
    private readonly static string[] _imageExtensions = new string[]...]]></description><category></category></item><item><title><![CDATA[在.NetCore2.0中使用Swagger]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/80203326</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/80203326</guid><author>zhbog</author><pubDate>Sat, 05 May 2018 10:32:32 +0800</pubDate><description><![CDATA[一、新建.netCore webapi项目二、安装swagger ，通过 Package Manager 控制台：Install-Package SwashBuckle.AspNetCore -Pre三、修改Startup.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Thread...]]></description><category></category></item><item><title><![CDATA[c#模拟鼠标键盘操作]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/6751346</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/6751346</guid><author>zhbog</author><pubDate>Mon, 05 Sep 2011 22:03:19 +0800</pubDate><description><![CDATA[[DllImport(&quot;user32.dll&quot;)] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo); [DllImport(&quot;user32.dll&quot;)] static extern byte MapVirtualKey(byte wCode, int wMap);       ...]]></description><category></category></item><item><title><![CDATA[ SQL触发器实例]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5632555</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5632555</guid><author>zhbog</author><pubDate>Sat, 29 May 2010 10:47:00 +0800</pubDate><description><![CDATA[定义： 何为触发器？在SQL Server里面也就是对某一个表的一定的操作，触发某种条件，从而执行的一段程序。触发器是一个特殊的存储过程。       常见的触发器有三种：分别应用于Insert , Update , Delete 事件。       我为什么要使用触发器？比如，这么两个表：       Create Table Student(              --学生表       ]]></description><category></category></item><item><title><![CDATA[详解C#正则表达式语法的相关规则]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549257</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549257</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 23:15:00 +0800</pubDate><description><![CDATA[介绍一下C#正则表达式语法的相关规则，包括字符的规则、字母文本的规则等等。希望本文能对大家了解C#正则表达式语法有所帮助。 正则表达式通常包含字母文本（Literaltext）和元字符（metacharacter） 字母文本指的是普通文本如"abcde"可匹配字符串中任何包含"abcde"的字符串。元字符则更加灵活运用通用的表达式匹配所有符合此表达式规律的字符串。C]]></description><category></category></item><item><title><![CDATA[C#正则表达式整理备忘 ]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549252</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549252</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 23:12:00 +0800</pubDate><description><![CDATA[有一段时间，正则表达式学习很火热很潮流，当时在优快云一天就能看到好几个正则表达式的帖子，那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识，同时也为我在优快云大概赚了1000分，今天想起来，去找《C#字符串和正则表达式参考手册》时，已经不知所踪了。现在用到正则的时候也比较少，把以前的笔记等整理一下，以志不忘。（1）“@”符号符下两ows表研究室]]></description><category></category></item><item><title><![CDATA[C# 中的常用正则表达式总结]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549244</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549244</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 23:08:00 +0800</pubDate><description><![CDATA[这是我发了不少时间整理的C#的正则表达式，新手朋友注意一定要手册一下哦，这样可以节省很多写代码的时间，中国自学编程网为新手朋友整理发布。　　只能输入数字："^[0-9]*$"。　　只能输入n位的数字："^/d{n}$"。　　只能输入至少n位的数字："^/d{n,}$"。　　只能输入m~n位的数字：。"^/d{m,n}$"　　只能输入零和非零开头的数字："^(0|[1-9][0-]]></description><category></category></item><item><title><![CDATA[ASP.NET URL Rewrite. URL重写]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549128</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549128</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:58:00 +0800</pubDate><description><![CDATA[URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。  比如浏览器发来请求hostname/101.aspx ，服务器自动将这个请求中定向为http://hostname/list.aspx?id=101。url重写的优点在于：    缩短url，隐藏实际路径提高安全性    易于用户记忆和键入。     易于被搜索引擎收录二 实现url重写的基本方法   下载MS的UR]]></description><category></category></item><item><title><![CDATA[asp.net URL重写（URLRewriter） 之简化版 。一分钟学会URL重写]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549102</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549102</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:49:00 +0800</pubDate><description><![CDATA[在 asp.net 里实现 URL重写（URLRewriter）的一个最简单的方法。参考了 （作者 Scott Mitchell 翻译：Janssen ）的大作，虽然没有完全看明白，但是也照猫画虎地做了一个，颇有“成就”感。写出来分享一下。原作里讲了很多的原理，这里就不说了（其实我也不懂）。这里就写操作过程吧。目的是实现一个最简单的能实现 URL重写 的程序。1、需要设置一下IIS里的]]></description><category></category></item><item><title><![CDATA[SQL触发器的使用]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549044</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549044</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:14:00 +0800</pubDate><description><![CDATA[一、创建一个简单的触发器触发器是一种特殊的存储过程，类似于事件函数，SQL Server? 允许为 INSERT、UPDATE、DELETE 创建触发器，即当在表中插入、更新、删除记录时，触发一个或一系列 T-SQL语句。触发器可以在查询分析器里创建，也可以在表名上点右键->“所有任务”->“管理触发器”来创建，不过都是要写 T-SQL 语句的，只是在查询分析器里要先确定当前操作的数据库。]]></description><category></category></item><item><title><![CDATA[ C#委托事件]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549040</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549040</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:13:00 +0800</pubDate><description><![CDATA[C#委托事件 一、委托委托类似于函数指针，但函数指针只能引用静态方法，而委托既能引用静态方法，也能引用实例方法。委托使用分三步：1、委托声明。2、委托实例化。3、委托调用。例程一： 程序代码using System;namespace 委托{     delegate int NumOpe(int a,int b); //第一步:委托声明     class Class1   ]]></description><category></category></item><item><title><![CDATA[委托与事件的应用小例子，这几句话看不懂的留言交流]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549034</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549034</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:12:00 +0800</pubDate><description><![CDATA[举个例子 比如你的类里有个int类型的属性NumAC# code int a;public int A{   set{ a = value;}}现在我们来做一个捕获这个属性A值改变的事件，事件名称定为NumChanged，下面就可以开始了，很简单C# code public delegate MyDelegate(object obj,EventArgs e); //定义委托pub]]></description><category></category></item><item><title><![CDATA[datagridview转datatable]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/5549030</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/5549030</guid><author>zhbog</author><pubDate>Sat, 01 May 2010 21:11:00 +0800</pubDate><description><![CDATA[///    /// datagridview转datatable   ///    ///    ///    public DataTable dvtodt(DataGridView dv)   {    DataTable dt = new DataTable();    DataColumn dc;    for (int i = 0; i     {     dc = new DataC]]></description><category></category></item><item><title><![CDATA[.NET 3.5新特性]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/4646565</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/4646565</guid><author>zhbog</author><pubDate>Fri, 09 Oct 2009 16:55:00 +0800</pubDate><description><![CDATA[Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基础之上，C# 3.0新语言特性在.NET2.0基础上进行了改进，这些改进的功能可以大大简化我们编写程序。在此为了自己学习记录下来，并与大家分享 .NET 3.5的新特性包括： 自动属性(Auto-Implemented Properties) 隐含类型局部变量(Local Variable Type I]]></description><category></category></item><item><title><![CDATA[编写CSS代码时样式命名的通用规则]]></title><link>https://blog.youkuaiyun.com/zhbog/article/details/4589890</link><guid>https://blog.youkuaiyun.com/zhbog/article/details/4589890</guid><author>zhbog</author><pubDate>Thu, 24 Sep 2009 18:40:00 +0800</pubDate><description><![CDATA[命名一直是个让我头痛的问题，特别是那些看上去差不多的模块，所以就得想办法啦，我总结了下面的方法，虽然还在试验中。希望对大家有帮助。欢迎大家提出改进的意见。具体如下：要注意的内容：一，命名所选用的单词应选择不过于具体表示某一状态（如颜色、字号大小等）的单词，以避免当状态改变时名称失去意义。二，样式类名由以字母开头的小写字母（a-z）、数字（0-9）、下划线（_）、减号（-）组成。ID]]></description><category></category></item></channel></rss>