c#
文章平均质量分 75
蓝色水
一个在海边拾贝壳的大男孩
2002年毕业于上海市交通大学上中路校区,曾参与微软ALL-IN-ONE-CODE FRAMEWORK项目并对WPF,C++,C#,Winform的MSDN论坛支持多年,专注于net的技术体系十多年,对DDD领域设计net的部署实施有独到见解和经验,并对JAVA的架构体系的数据持久化,AOP,分布式事务,单点登录,多业态权限设计,分布式日志系统有实际项目运用案例,致力于传统行业的HR,OA,费控,业绩,移动平台化整合,ERP改造以及云部署。
展开
-
.NET Core with 微服务 - Consul 配置中心
上一次我们介绍了Elastic APM组件。这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大,还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件,那么干脆继续使用 Consul 来作为配置中心吧。Consul 除了服务注册发现功能,还有个 Key/Value 存储的功能,我们把本地的 appsettings.json 文件的内容搬到 Key/Value 上就可以实现配置中心了。把服务转载 2021-07-15 15:01:35 · 410 阅读 · 0 评论 -
.NET 之 Docker 部署详细流程
开篇语自己从头开始走一遍docker部署.net的流程,作为一种学习总结,以及后续会写一些在该基础之上的文章。本次示例环境:vs2019、net5、docker、postman创建项目本次事例代码是用过vs2019创建的ASP.NET Core Web API项目目标框架是.NET 5,无需身份验证,不配置HTTPS(根据个人需求勾选),启动Docker(我习惯于后期添加),启用OpenAPI支持(添加swagger文档)默认配置创建完成后,我们查看项目目录为下转载 2021-07-15 14:57:24 · 998 阅读 · 0 评论 -
单元调试的问题
using System;using Microsoft.VisualStudio.TestTools.UnitTesting;using MG.HR.Model;using System.Collections.Generic;using MG.HR.Service;using MG.HR.Model.Form;namespace MG.HR.ServiceTest{ [TestClass] public class EntryFormalTransferSlipTest...原创 2020-07-05 13:09:32 · 265 阅读 · 0 评论 -
job 的调度程序quartz为什么立即执行的问题
Problemwindows 服务每次启动会立即执行那些服务Solution<trigger> <cron> <name>ProbationPositiveJobTrigger</name> <group>HR</group> <description></description> <job-name>P...原创 2020-06-05 15:24:33 · 1248 阅读 · 0 评论 -
为Windows应用创建简单的异步调用模式
发布日期: 10/14/2005 | 更新日期: 10/14/2005David Hill微软公司摘要:在一篇Blog文章中,David Hill向大家介绍了在Windows应用中实现异步调用Web Services的方法,这个方法可以解决线程冻结的问题。下载样例文件:AsyncServiceAgent.msi注意:这篇文章来自http://Weblogs.asp.net/原创 2006-09-05 11:34:00 · 803 阅读 · 0 评论 -
metadata元数据的内幕
Metadata在PE中的组织结构 回到正体上来,谈谈Metadata在PE中的组织结构。 上章我们提到CLR的头信息里面专门有一个字段指向Metadata数据块,实际上这个数据块只是Metadata的一个头结构,保存有Metadata的全局信息,而Metadata的实际数据,是通过若干不同的Heap或者说Stream保存的。这里我统一使用Stream“流“作为他的名字,但很多文档中以He转载 2006-09-13 14:37:00 · 1447 阅读 · 0 评论 -
数据库同步代码
using System;using System.Collections.Generic;using System.Text;namespace QuickFramework2006{ public class AsyncDemo { public AsyncDemo() { } public int Tes原创 2006-10-23 10:23:00 · 1084 阅读 · 0 评论 -
GIB系统中的剥离和加载,
/**//// /// 为维护中的DataSet加载事件(ColumnChanged、RowChanged、RowDeleting) /// private void DelegateDataSetEvents() ...{ if(dsMaintain != null) ...{原创 2006-11-09 09:24:00 · 1119 阅读 · 0 评论 -
ASP.NET 2.0中轻松实现网站换肤
利用Themes我们可以很容易的更改控件、页面的风格,而不需要修改我们的代码和页面文件。Themes文件被单独的放在1个App_Themes文件夹下面,与你的程序是完全分开的 二、怎么使用Themes和Skins: 先看个非常简单的实例: App_Themes/default/1.skin文件代码: <asp:Label Font-Bold="true" ForeColor="Red" run转载 2006-07-17 21:01:00 · 709 阅读 · 0 评论 -
md5加密在net中的运用
其实在.net 有一个最简单实现MD5的方法 /// MD5加密 /// /// 被加密字符串 /// 加密后的字符串 public static string MD5(string toCryString) { return FormsAuthentication.H原创 2006-07-16 18:51:00 · 822 阅读 · 0 评论 -
sha1的研究,转帖
这两天,在作的一个程序,需要向一个PHP的程序提交一些数据信息,PHP程序那里其中有一个参数是利用PHP的 sha1 函数作签名的。对应PHP这个函数的.net 实现为: /// /// 以下代码等效于 PHP 的 SHA1() 代码 /// /// /// pu转载 2006-07-16 19:08:00 · 929 阅读 · 0 评论 -
百万格子boxshow显示源代码----C#版本
using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebContr原创 2006-07-18 12:42:00 · 1450 阅读 · 0 评论 -
dropdownlist的解决心得
dropdownlist的运用一旦要触发DropDownList1_SelectedIndexChanged事件一定要在他的属性中设置autopostback设置为true才行,这还是一位学妹解决的,就象很多需要viewstate属性的控件都需要该属性设置.原创 2006-07-24 13:43:00 · 705 阅读 · 0 评论 -
调用office component解决了
在web.config中加入 reference to http://www.velocityreviews.com/forums/t91905-when-impersonation-doesnt-seem-to-work.htmlthank to google,thank to me.原创 2006-07-26 09:54:00 · 2381 阅读 · 0 评论 -
前一问题造成自己的中间件不能调用,问题也解决
感觉写程序就象动一发而牵全身,环环相扣.RESOLUTIONloadTOCNode(1, resolution);If you do not use Index Server on the server, you can disable it. To do so, follow these steps: 1.原创 2006-07-26 12:50:00 · 1011 阅读 · 0 评论 -
asp.net 揭密中的一段话,值得参考
Introducing ASP.NET Controls ASP.NET controls provide the dynamic and interactive portions of the user interface for your Web application. The转载 2006-08-06 15:37:00 · 1008 阅读 · 0 评论 -
P.71.REfactoring.pdf重构
拒绝遗赠Subclasses get to inherit the methods and data of their parents. But what if they dont want orneed what they are given? They are given all these great gifts and pick just a few to play with.The翻译 2006-08-06 08:01:00 · 942 阅读 · 0 评论 -
viewstate在asp.net揭密中的解释
View StateAs you saw in the preceding section, when you submit a form built from ASP.NET controls, the data entered into all the form fields is preserved when the form is displayed again. Microsoft原创 2006-08-06 15:46:00 · 791 阅读 · 0 评论 -
ASP.NET(C#)常用代码30例
1. 打开新的窗口并传送参数: 传送参数:response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>") 接收参数:string a = Request.QueryString("id");string b = Request.Qu转载 2006-08-08 11:15:00 · 900 阅读 · 0 评论 -
ASP.NET揭秘读书笔记2
原来validation在这里..The Validation controls make use of a JavaScript script library that is automatically installed on your server when you install the .NET framework. This library is located in a file原创 2006-08-15 20:17:00 · 755 阅读 · 0 评论 -
ASP.NET揭秘读书笔记7
<%@ Register TagPrefix="SuperCompany" TagName="FeaturedProduct1" Src="FeaturedProduct1.ascx" %><%@ Register TagPrefix="SuperCompany" TagName="FeaturedProduct2" Src="FeaturedProduct2.ascx" %原创 2006-08-17 18:48:00 · 793 阅读 · 0 评论 -
ASP.NET揭秘读书笔记5
Instead of disabling view state control by control, you also can disable view state for the whole page. You should do so when you are not taking advantage of view state and the controls in a page cont原创 2006-08-16 15:55:00 · 823 阅读 · 0 评论 -
ASP.NET揭秘读书笔记1
Dont try this declaration with ASP.NET because it generates an error. You must use the tag with ASP.NET like this: Sub mySub ...subroutine codeEnd SubThe tag accepts two optional原创 2006-08-11 19:34:00 · 999 阅读 · 0 评论 -
ASP.NET揭秘读书笔记3
Validating E-Mail AddressesOne of the most common and difficult validation tasks that arise when performing form validation is validating an e-mail address. This task is actually much more difficult原创 2006-08-15 22:27:00 · 878 阅读 · 0 评论 -
ASP.NET揭秘读书笔记4
Listing 3.6 RegularExpressionValidatorPassword.aspxSub Button_Click( s As Object, e As EventArgs ) If IsValid Then Response.Redirect( "thankyou.aspx" ) End IfEnd SubRegu原创 2006-08-15 22:32:00 · 1191 阅读 · 0 评论 -
ASP.NET揭秘读书笔记6
Simulating Multipage FormsImagine that you have a form, which contains 50 questions that you want to break up into multiple pages. One way to do so would be to actually create a separate ASP.NET原创 2006-08-16 19:57:00 · 978 阅读 · 0 评论 -
模板化控件概述
使用模板化控件,页面开发者可以通过模板(template)来指定生成的全部或部分UI.模板是页面语法中的一部分,可以包括带有静态HTML以及其他文字文本的服务器控件.模板化控件提供了重要的自定义能力,通常被称做无外观控件(lookless controls),因为它们并没有生成预先确定的用户界面. 理解样式和模板之间的差别是很重要的,它们是控件为页面开发者提供的用来定制生成的UI原创 2007-03-04 11:45:00 · 967 阅读 · 0 评论 -
读<Visual C#.NET网络核心编程>-----对序列化和反序列化新的理解
包括可用于序列化和反序列化对象的类。序列化是将对象或对象图转换为线性的字节序列以存储或传输到其他位置的过程.反序列化是接受存储的信息并用这些信息重新创建对象的过程.System.Web.UI.Design包括用于扩展Web用户界面设计时的支持的类.System.Web.UI.Design.WebControls包括用于扩展Web服务器控件设计时所支持的类.System.原创 2007-01-14 22:02:00 · 1094 阅读 · 0 评论 -
与客户端脚本相关的API
现在我们来分析页面框架中的API函数, 这些函数提供了将客户端行为加入服务器控件所需的基本功能. 每个控件都有一个ClientID属性,它是由页面框架产生的,并保证在页面内的所有控件中它是唯一的.在WebControl的默认实现中,ClientID作为HTML的端id attribute 出现在由服务器控件显示的基本标签中.ClientID是UniqueID属性在脚本中使用的版本原创 2007-03-05 20:46:00 · 752 阅读 · 0 评论 -
设计器动词
每个设计器都可以提供一个设计器动词的集合,在System.ComponentModel.Design.IDesigner接口中指定: DesignerVerbcollection Verbs {get;}Verbs集合的每个成员都是System.ComponentModel.Design.DesignerVerb或派生自它的类.原创 2007-03-08 12:15:00 · 913 阅读 · 0 评论 -
特殊格式命令解析
有一些程序,由于特殊需求,不能以结束,而以结束,主命令码与参数之间、参数与参数之间用间隔.这是一种不太常用的命令,但在特殊领域有所应用,有时使用起来还很方便。只是解析命令时稍微繁琐一点.对这种命令的解析可使用如下两种方法进行.一种方法是:首先在字符串中寻找"EOF",以确定总的有效字符串长度,然后分别查找"/r/n"的位置,最后分段将数据赋值给字符串对象.另外一种方法是:首先构造一个Rich原创 2007-01-15 11:44:00 · 779 阅读 · 0 评论 -
读写控件设计器
读写控件设计器允许页面开发者把子控件以WYSLWYG方式添加到容器控件(例如Panel)中.页面开发者可以把控件从工具箱拖动到设计界面上代表容器控件的区域中,选择包含的控件并在属性浏览器中编辑它们的属性.System.Web.UI.Design.ReadWriteControldesigner实现了读写控件设计器的基本功能. 在说明如何扩展ReadwriteControldes原创 2007-03-07 20:23:00 · 865 阅读 · 0 评论 -
觉得effective c#这一章特别有用,贴在这里...
Effective C# Item14: Utilize Constructor Chaining Effective C# Item14: Utilize Constructor Chaining 当我们写类的构造函数的时候经常会有许多种重载版本,它们完成的工作有一部分是重复的。许多开发者往往是先写第一个构造函数,然后拷贝粘贴它们到其他的构造函数当中去。我们应当停止这种做法。当原创 2007-06-25 11:29:00 · 720 阅读 · 0 评论 -
c#对于如何释放资源的解释,又让我对此语言有更进一步的理解
Effective C# Item 15: Utilize using and try/finally for Resource Cleanup Effective C# Item 15: Utilize using and try/finally for Resource Cleanup 当我们使用非托管资源(unmanaged resources)类型时,应当使用IDi原创 2007-06-25 12:15:00 · 3635 阅读 · 1 评论 -
第一部分 CLS----读《Microsoft.NET框架程序设计》
下面的代码使用C#来定义一个与CLS兼容的类型,其中一些与CLS不兼容的构造会引起C#编译器报错. using System; //告知编译器检查CLS兼容性 [assembly:CLSCompliant(true)] //因为该类是公有的,有关CLS不兼容的错误将会被显示 public class App {原创 2007-07-01 10:40:00 · 828 阅读 · 0 评论 -
第一部分 Microsoft.NET框架基本原理----读《Microsoft.NET框架程序设计》
通常使用AL.exe工具来创建卫星程序集.因为卫星程序集中不包含任何代码,所以不会用到编译器.当使用AL.exe时,我们用/c[ulture]:text命令行开关来指定所需的语言文化,其中text是一个字符串,例如表示美国英语的"en-US".当部署卫星程序集时,我们应该将它放在一个子目录下,其名称要和前面指定语言文化时的text字符串相匹配.例如,如果应用程序的基目录为c:/MyApp,原创 2007-07-02 04:48:00 · 982 阅读 · 0 评论 -
第一部分 Microsoft.NET框架基本原理2----读《Microsoft.NET框架程序设计》
既然已经知道了怎样创建一个公钥/私钥对,创建强命名程序集就变得很容易了.只需把System.Reflection.AssemblyKeyFileAttribute特性的一个实例应用到我们的源代码中就可以了: [assembly:AssemblyKeyFile("MyCompany.keys")] 当编译器在源代码中遇到该特性时,编译器将打开其中的指定的文件(MyCompa原创 2007-07-02 11:01:00 · 698 阅读 · 0 评论 -
第一部分 Microsoft.NET框架基本原理4----读《Microsoft.NET框架程序设计》
下面是使用checked和unchecked时的一些推荐原则: 当编写代码时,如果希望在出现溢出时抛出异常,我们就应该显式使用checked.本书第18章将介绍如何使用异常处理,以及怎样从异常中恢复. 当编写代码时,即使出现了溢出,我们也不希望有异常抛出,那么就应该显式使用unchecked.这时我们实际上是希望溢出能够默默地进行. 对于没有使用checked原创 2007-07-03 01:06:00 · 707 阅读 · 0 评论 -
第二部分 类型与通用语言运行时2-----《Microsoft.NET框架程序设计》
一个类型必须同时重写Equals方法和GetHashCode方法是因为System.Collections.Hashtable类型的实现要求任何两个相等的对象都必须有相同的散列码值.所以如果我们重写了Equals方法,我们也应该重写GetHashCode方法以确保用来判等的算法和用来计算对象散列码的算法一致. 基本上来讲,当我们向一个Hashtable对象中添加一个"键/值对"时原创 2007-07-05 12:42:00 · 739 阅读 · 0 评论 -
第一部分 Microsoft.NET框架基本原理5----读《Microsoft.NET框架程序设计》
在设计自己的类型时,大家需要仔细考虑是将它们定义为值类型,还是引用类型.在某些情况下,值类型能够获得更好的性能.尤其是如果以下所有表述都是正确的,我们就应该考虑将类型声明为值类型. 该类型的行为类似于基元类型. 该类型不需要继承自任何其他类型. 该类型不会被任何其他类型继承. 该类型的实例不会频繁地用于方法的参数传递.默认情况下,参数以传值的方式原创 2007-07-03 20:07:00 · 678 阅读 · 0 评论