摘要:
下面是一个简单的实现 操作自定义window performance counter的实例。在运行程序的过程中我们通过操作系统的performance面板查看或者写log文件,对我们应用程序的性能进行监视,分析。将有助于我们分析解决系统的性能等问题。
代码功能:
1,实现添加一个counter 类别
2,添加一个或者多个counter对象
3,获取counter对象,并赋值。
在系统的performance 面板中查看。效果如下图:
阅读全文
摘要:
最近的项目中遇到了,使用多台服务器,多个客户端来运行一个分布式存储、计算应用程序。总是打开远程连接太过于麻烦且网速慢的原因,所以写一个的调度的程序。
情况如下:
环境:N台Server,N台Client,一台调度机子
功能:
(1),在调度机上通过命令行连接远程机器,并传入相应的指令
(2),客户端通过Socket监听调度机指点的端口
(3) ,接受到指令后,客户端用process class执行批处理文件
布署:
在被调度机器上将程序的server端添到windows service中,可以使用如下命令(批处理)
1 set BIN_PATH=D:\**\bin\Debug
2 set SERVICE_NAME=服务名称
3 set SERVICE_Description=描述
4
5 cd /d "%BIN_PATH%"
6
7 sc stop %SERVICE_NAME%
8 sc delete %SERVICE_N 阅读全文
摘要:
The following code examples demonstrate how to use the Socket class as a client to connect to remote network services and as a server to listen for connections from remote clients.
来源-MSDN:http://msdn.microsoft.com/zh-cn/library/w89fhyex.aspx
客户端:
1 using System;
2 using System.Net;
3 using System.Net.Sockets;
4 using System.Text;
5
6 public class SynchronousSocketClient {
7
8 public static void StartClient() {
9 // Data buffer for incoming data.
10 b 阅读全文
摘要:
方法一
foreach (System.Collections.DictionaryEntry de in objHasTab)
{
//注意HastTable内存储的默认类型是object,需要进行转换才可以输出
Console.WriteLine(de.Key.ToString());
Console.WriteLine(de.Value.ToString());
}
方法二
System.Collections.IDictionaryEnumerator enumerator = objHashTablet.GetEnumerator();
while (enumerator.MoveNext())
{
Console.WriteLine(enumerator.Key); // Hashtable关健字
Console.WriteLine(enumerator.Value); // Hashtable值
}
阅读全文
摘要:
多线程
优点:
在于可以提高CPU的利用率——任何一个程序员都不希望自己的程序很多时候没事可干,在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。
缺点:
线程也是程序,所以线程需要占用内存,线程越多占用内存也越多
多线程需要协调和管理,所以需要CPU时间跟踪线程
线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题
线程太多会导致控制太复杂,最终可能造成很多Bug
ThreadPool.SetMaxThreads方法
设置线程池中同步可以活动的线程的最大数量. 所以超过这个数据的其它线程,必须等待其它线程完成后方可激活。
阅读全文
摘要:
一、快捷键法
在单元格里输入文本后想换行,只要按住灿t键不放,然后敲一下回车键即可实现换行。如果你已经输完文本,发现内容太长了,则可双击该单元格,然后将光标移到要换行的位置,按下“Alt+Enter”即可。
二、格式设置法
先选定要使文本换行的单元格,执行“格式→单元格”命令,在弹出的“单元格格式”对话框中选择“对齐”,选中“文本控制”下的“自动换行”即可实现该单元格文本自动换行,再用格式刷去刷一下要自动换行的单元格就可以实现批量自动换行了。
三、文本框法
Word里的文本框大家比较熟悉,在它里面录入文本时会自动换行,而且可以只敲回车实现换行。在Excel中也可以进行同样的操作。
点击“绘图工具栏里”的“文本框”按钮,绘制一个文本框,其宽度和单元格宽度相同 (可以按住址键同时拖动员标进行微调),在里面录入文本(能够自动换行),然后移动文本框的位置到单元格(可以用“Ctrl+方向键”微调),再将文本框设置为“无填充色”和“无线条色”,最后别忘了将单元格的高度调整得与文本一样。
阅读全文
摘要:
32位应用程序单个进程最大占用内存是4GB左右,这个问题是因为需要测试大数据里才能体现出来的问题,所以反反复复花了一周多的时间来搞定它,希望大家在对它有一个印象。64位的应用程序的时候就不会有这个限制。所以这种情况下请编译成64位的程序,一般是"amd64"位。
如下是摘自msdn的一些资料,供大家参考: 阅读全文
摘要:
简介
泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。您还将了解在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进。
返回页首
泛型问题陈述
考虑一种普通的、提供传统 Push() 和 Pop() 方法的数据结构(例如,堆栈)。在开发通用堆栈时,您可能愿意使用它来存储各种类型的实例。在 C# 1.1 下,您必须使用基于 Object 的堆栈,这意味着,在该堆栈中使用的内部数据类型是难以归类的 Object,并且堆栈方法与 Object 交互:
public class Stack
{
阅读全文
摘要:
详情请参阅,http://www.tramontana.co.hu/wix/
Windows (R) Installer. V 3.01.4000.1830
msiexec /Option [Optional Parameter]
安装选项
安装或配置产品
/a
管理安装 - 在网络上安装产品
/j [/t ] [/g ]
播发产品 - m 播发到所有用户,u 播发到当前用户
卸载产品
显示选项
/quiet
安静模式,无用户交互
/passive
无从参与模式 - 只显示进程栏
阅读全文
摘要:
在开发过程中,重要的是有自动的生成过程。同样重要的是要有自动创建发布的手段。遗憾的是,在很多组织中(尤其是较小的组织),并没有这些。通常,您会发现发布内容只是在最后一分钟才被拼合在一起。但是,如果花时间建立自动生成和发布计划,就会节省无数的时间,您就可以将这些时间更好地用在完成任务上,而不是用来生成和发布项目。
在本文中,我将介绍如何使用 Microsoft® Build Engine (MSBuild) 和 Windows® Installer XML (WiX) 工具集在组织中实现自动和可重复的生成和发布过程。本文讨论了 WiX v2(注意,当 WiX v3 发布时,不会直接转换某些语法示例)。虽然 WiX 的确简化了创建发布的过程,但无论您是否使用 WiX 创建发布,本文描述的技术都可供您参考。也可以对这些技术进行一些修改后,将它们应用于不使用 Microsoft .NET Framework 2.0 所开发的应用程序(本文还包含指向英文网页的链接)。 阅读全文