分类
- .net (22)
- adf (11)
- android (3)
- article (180)
- astronomy (2)
- block chain (8)
- C# Code (9)
- c/c++ (2)
- cache (8)
- cloud (2)
- consensus (3)
- css (2)
- cve (1)
- db (55)
- digest (1)
- finance (2)
- go (3)
- gps (2)
- hardware (1)
- html (2)
- http (2)
- info (18)
- iot (1)
- it (3)
- java (32)
- javascript (7)
- jsp (2)
- linux (76)
- mail (14)
- math (1)
- message (8)
- mood (4)
- mq (2)
- network (22)
- php (9)
- protocol (4)
- push/pull (2)
- python (5)
- rpc (2)
- search (4)
- servlet (1)
- space (24)
- storage (15)
- technologys (103)
- templete (1)
- virtual machine (7)
- web server (25)
- windows (12)
-
近期文章
其他操作
链接
标签归档:C#
C#下的异步编程及其同步机制
前几天公司内部有人搞了一个关于多线程及其同步问题的讲座,内容很丰富,覆盖面很广,让人听了大呼过瘾。他采取了横向铺陈的方法讲的,罗列了C#下异步编程方法和模式及各种同步机制,这种讲述方式对于熟悉这块的人来说总结一下,帮助很大,但对于新手有可能就云里雾里了。虽然我研究不深,但纵向讲一下这一块内容,对新手入门有可能会有所帮助,也算是自己对这块内容的一种总结。只讨论技术,不涉及细节和Demo。
本篇文章涵盖一下几部分内容:
1. 什么是异步编程,为什么会需要异步编程
2. .NET下...
轻量级 Lock Free 线程安全的 Queue 的C#2.0实现
2.0里面又没有ConcurrentCollection的相关类
不得已,自己写了一个,
本来想用传统的lock实现的, 不过考虑到其中的操作非常轻量级...最终还是用了Lock Free
使用原子操作 InterLocked 替换掉常用的lock关键字
Try起头的方法都有尝试次数限制,超过限制以后就退出并返回false
public sealed class SafedQueue<T>
{
#region private Fields
private int isTaked = 0;
private Queue<T&g...
c# 四舍五入
C# 中没有四舍五入函数,程序语言都没有四舍五入函数,因为四舍五入算法不科学,国际通行的是 Banker 舍入法
Bankers rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有符合 IEEE 标准的语言都应该是采用这一算法的
Math.Round 方法默认的也是 Banker 舍入法
在 .NET 2.0 中 Math.Round 方法有几个重载方法
Math.Round(Decimal, MidpointRounding)
Math.Round(Double, MidpointRounding)
Math.Round(Dec...
使用SharpZipLib实现zip压缩
使用国外开源加压解压库ICSharpCode.SharpZipLib实现加压,该库的官方网站为
http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx
#region 加压解压方法
/// <summary>
/// 功能:压缩文件(暂时只压缩文件夹下一级目录中的文件,文件夹及...
/// <summary>
/// 功能:压缩文件(暂时只压缩文件夹下一级目录中的文件,文件夹及...
windows 2003 x64 iis6 的32bit 和64bit
IIS 6.0 可支持 32 位和 64 位两种模式。但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式。ASP.NET 1.1 只在 32 位模式下运行。而 ASP.NET 2.0 在 32 位或 64 位模式下都可以运行。因此,如果想要同时运行 ASP.NET 1.1 和 ASP.NET 2.0,必须在 32 位模式下运行 IIS。
要在 ASP.NET 的不同版本之间切换,请访问以下 Microsoft Developer Network (MSDN) 网站以下载并安装 ASP.NET 1.1 和 ASP.NET 2.0:
http://msdn2.micr...
C#3.0基于Speech.Synthesis调整语音朗读语调范例
using System;
using System.Speech.Synthesis;
namespace Speech_Synthesis
{
public partial class Window1 : System.Windows.Window
{
public Window1()
{
InitializeComponent();
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
...
VS2005 模板的制作方法
Visual Studio 2005 提供的模板功能非常不错,本文演示如何创建一个带有信息头的Class模板。
1. 创建一个如图所示的Class1.cs文件。有关模板参数请查看 MSDN 帮助文档。
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_vssoln/html/1b567143-08c6-4d7a-b484-49f0671754fe.htm
2. 使用文件菜单中的 "导出模板" 功能开始制作模板。
3. 选择 "项模板" 。
4. 选中我们刚才创建的 "Class1" 类文件。
5. 输入模板信息。完成后会自动在 "我的文档\Visual Studio 2005\Templates" 和 "我的文档\Visual Studio 2005\My Exported Templates" 目录下创建模板文件 "Team Project Class.zip"。
6. 好了,我们试试效...
ASP.NET MVC 理解
一.摘要
一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP.NET MVC时参考.
二.承上启下
在上一篇文章中, 我已经学会了如何使用Routing获取Controller和Action, 随后的程序会调用Controller中的Action方法.
每个Action方法都要返回一个ActionResult对象. 一个Action会将数据传递给View,如图:
三.Controller与Action的作用
1.职责
Controller负责将获取Model数据并将Model传递给View对象.通知View对象显示.
2.ASP.NET MVC中的Controller和Action
在ASP.NET MVC中, 一个Controller可以包含多个Action. 每一个Action都是一个方法, 返回一个Action...
C#中用GDI+生成饼状图和柱状图
using System;
using System.IO;//用于文件存取
using System.Data;//用于数据访问
using System.Drawing;//提供画GDI+图形的基本功能
using System.Drawing.Text;//提供画GDI+图形的高级功能
using System.Drawing.Drawing2D;//提供画高级二维,矢量图形功能
using System.Drawing.Imaging;//提供画GDI+图形的高级功能
namespace lc.laili.Web.Code
{
/// <summary>
/// MyImage 的摘要说明。
/// </summary>
public class MyImage
{
public MyImage()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 数据源是PieChartValue对象的饼状图
/// </summar...
c# GDI+简单绘图
最近对
GDI+
这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿
QQ
截图等.
最早接触这个类,是因为想做仿
QQ
截图的效果.巧的很,学会了如何做截图后,
.NET
课堂上老师也正巧要讲关于
c#
绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写.
废话不多说了,我们先来认识一下这个
GDI+
,看看它到底长什么样
.
GDI+
:
Graphics Device Interface Plus
也就是图形设备接口
,
提供了各种丰富的图形图像处理功能
;
在
C#.NET
中,使用
GDI+
处理二维(
2D
)的图形和图像,使用
DirectX
处理三维(
3D
)的图形图像
,
图形图像处理用到的主要命名空间是
System . Drawing
:提供了对
GDI+
基本图形功能的访问,主要有
Graphics
类、
Bitmap
类、从
Brush
类继承的类、
Font
类、
Icon
类、
Image
类、
Pen
类、
Color
类等
.
大概了解了什么是
GDI+
后
,
我们来看一下绘图要用到的主要工具
,
要画图
,
肯定要画板
吧
,
在
C#
中画板可以通过
Graphic...
编写简单的脚本解释器
首先声明一下以下文章是跟据我用C#写的脚本解释器的经验之谈,如不认可也请不要找本人。
一般写个脚本解释器需要以下的步骤:
源程序-词法分析-语法分析-生成中间代码-解释中间代码
一、我写的脚本解释器就是跟据上面的过程写的,下面说明一下本脚本解释器的语法。
1、语法规则:
(1)script_begin代表语句开始
(2)script_end代表语句结束
(3)条件语句:if 表达式 语句 endif
(4)循环语句:while 表达式 语句 endwhile
(5)赋值语句:变量=表达式
(6)表达式:
(为方便我们这里使用产生式来说明)
expr->expr+term|expr-term|term|term>=term|term<=term|term==term|term!=term|term>term|term<term|term
term->term*factor|term/factor|factor
factor->(expr)|数字|变量|字符串|!变量
(注意:产生式中的->代表前面的值可以是后面中的任何一个值,|代表着或的意思)
(7)变量:本脚本只有全局...
ASP.NET视图状态验证MAC失败 解决办法
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <m … 继续阅读
演练如何缓存依赖于 SQL Server 数据库中数据的 ASP.NET 页
此演练演示如何缓存依赖于 SQL Server 数据库中数据的 ASP.NET 页。
ASP.NET 输出缓存的一项高级功能是 SQL 缓存依赖项。SQL 缓存依赖项使您可以缓存依赖于 SQL Server 表中数据的页。您可以配置 SQL Server 和 ASP.NET 以缓存页请求,降低服务器工作负荷,直到页所依赖的数据已在 SQL Server 中更新为止。对于相对保持静态的产品目录或客户注...
18位身份证格式验证算法
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。...
在C#中获取如PHP函数time()一样的时间戳
在C#中获取如PHP函数time()一样的时间戳 c#中没有象PHP一样的tim … 继续阅读




