随笔分类 - C#
C#
    
摘要:锁除了lock外,还有ReaderWriterLock使用如下:ReaderWriterLock rwLocker = new ReaderWriterLock();rwLocker.AcquireWriterLock(1000);//加锁hashtable.Remove(id);rwLocker.ReleaseWriterLock();//释放锁
        阅读全文
            
摘要:sphinx在window下和linux下加入开机自启动 linux下加入etc的rc.local即可window下searchd –-install -–config d:/csft3.1/bin/xxxx.conf相应的删除服务命令为:searchd –delete
        阅读全文
            
摘要:c#委托事件简单例子2009-05-11 10:57一、委托委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。委托使用分三步:1、委托声明。2、委托实例化。3、委托调用。例程一:程序代码using System;namespace 委托{ delegate int NumOpe(int a,int b); //第一步:委托声明 class Class1 { static void Main(string[] args) { Class1 c1 = new Class1(); NumOpe p1 = new NumOpe(c1.Add); //委托实例化,
        阅读全文
            
摘要:在.NET 1.1中处理事件时很麻烦的事情。比如创建下面这个类:[Serializable] public class LogEntry { private string iD; /// <summary> /// 事件ID /// </summary> public string ID { get { return iD; } set { iD = value; } } string message; /// <summary> /// 事件内容 /// </summary> public string Message { get { retu
        阅读全文
            
摘要:http://www.cnblogs.com/2018/archive/2011/02/26/1965569.htmlWCF的基础ABC和Endpoint,对于常见的场景如果这么多的组合显然也很复杂,实际的应用中根据具体的场景选择对应的方式图书”Programming WCF Services”(WCF服务编程) 对这个组合进行了详细的总结,如下:【对于WCF的基础知识可以参阅图书或其他资料】 绑定和安全场景绑定局域网场景互联网B2B场景匿名场景无安全场景BasicHttpBindingNoNoYesNoYesNetTcpBindingYesYesNoYesYesNetPeerTcpBindi
        阅读全文
            
摘要:http://www.cnblogs.com/xiaozhuang/archive/2008/04/30/1177399.html以前我们用WebService做分布式系统的时候,认证是个麻烦的问题,通常的做法是继承一个SoapHeader,把用户名和密码放到里面,每调用一个方法都要把用户名和密码传递给服务器端来验证 ,效率相当低,代码编写相当的麻烦,而且还不安全! WCF支持多种认证技术,例如Windowns认证、X509证书、Issued Tokens、用户名密码认证等,在跨Windows域分布的系统中,用户名密码认证还是比较常用的,要实现用户名密码认证,就必须需要X509证书,为什么呢?
        阅读全文
            
摘要:http://www.cnblogs.com/webabcd/archive/2008/06/24/1229049.html化零为整WCF(14) - 事务(Transaction)作者:webabcd介绍WCF(Windows Communication Foundation) - 事务(Transaction): ·对契约方法使用TransactionFlowAttribute声明(设置TransactionFlowOption参数),以指定服务操作的事务流策略 ·对服务方法是用OperationBehaviorAttribute声明(设置TransactionScop
        阅读全文
            
摘要:http://blog.csdn.net/fangxinggood/article/details/6235662WCF 很好的支持了 REST 的开发, 而 RESTful 的服务通常是架构层面上的考虑。 因为它天生就具有很好的跨平台跨语言的集成能力,几乎所有的语言和网络平台都支持 HTTP 请求,无需去实现复杂的客户端代理,无需使用复杂的数据通讯方式既可以将我们的服务暴露给任何需要的人,无论他使用 VB、Ruby、JavaScript,甚至是 HTML FORM,或者直接在浏览器地址栏输入。WCF 中通过 WebGetAttribute、WebInvokeAttribute (GET/PU
        阅读全文
            
摘要:http://www.cnblogs.com/wlflovenet/archive/2011/10/29/WCFREST.html最近工作中学习使用了WCF REST,REST 有很多好处 高效 简约 面向资源 而客户端调用 也变得非常简单。REST 入门的资料等 大家可以去网上找 这里主要分享下遇到的问题以及解决~一.环境准备使用WCF REST 可以先下载一个模版 并大致预览下载好这个模版后 新建项目 选择这个模版 会默认帮我们生成一个 CRUD 的代码 新手朋友可以用这个快速熟悉下REST风格的WCF.这这里还给我们提供了一个很方便的功能 help 只需在我们的服务后面 加上help 就
        阅读全文
            
摘要:WCF能够共享ASP.NET的session,不同的WCF客户端代理类在采用Per Call模式下访问WCF能够访问同一个ASP.NET Session.但是WCF的Session和ASP.NET的Session是不同的。WCF的Session代表着服务实例,它是被客户端代理类访问时初始化的。WCF依靠消息通道,安全回话和消息模式等来联系session的。而ASP.NET的session是类似服务端的一种存储数据的模式。它是通过客户端cookie和uri来维护session的 利用ASP.NET的session实现认证,在aspx里记录用户认证信息: 1 string UserId = H..
        阅读全文
            
摘要:http://www.cnblogs.com/gaoweipeng/archive/2009/09/04/1560260.html无意中在一个国外的站点下到了一个利用WCF实现聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了测试和部分修改,感觉还不错,分享给大家。先来看下运行效果:开启服务:客户端程序:程序分为客户端和服务器端:------------服务器端:IChatService.cs:CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlig
        阅读全文
            
摘要:http://www.cnblogs.com/datacool/archive/2011/07/13/wcfsoa.html本人才疏学浅,在现在的项目中即是程序员又是架构设计组组长。在使用WCF技术前看了无数号称WCF实战博客,没有一篇是我想要的。不过也算学到些皮毛。在此谢过,对你们的善意分享和辛勤劳动表示万分的感谢。由于以前是在csdn写博客,到博客园发文算是第一次。还请各位高手跳过,但愿不会浪费各位的表情。这里先上几张图,后面再讲过程。解决方案截图架构过程遇到的问题和解决方法。1、要不要使用dto对象,要不要建立DTO层?解决办法是巧妙的将实体对象和dto对象合并,这样少了转换的过程。感觉
        阅读全文
            
摘要:一个Windows服务如何host多个wcf服务? protected override void OnStart(string[] args) { if (serviceHostes.Count > 0) serviceHostes.Clear(); var configuration = ConfigurationManager.OpenExeConfiguration(Assembly.GetEntryAssembly().Location); ServiceModelSectionGroup serviceModelSectionGroup = (ServiceModelSect
        阅读全文
            
摘要:http://blog.csdn.net/21aspnet/如果你使用过P2P终结者或者类似的软件,你会发觉只要一打开就可以看到局域网内部的所有机器,而有时候我们正好有这样的需求,那我们应该怎么样用去获得局域网的所有机器呢?如果你到百度或者GOOGLE上面进行搜索你会发现,网上大致都是采用轮询的方法,让你把所有机器都扫描一遍,如果有反应则表示主机存在,但是这种办法并不可取,不仅耗资源,而且耗时间,即使你单独开一个线程去跑,估计半小时都没有任何结果。网上有人提出更加可笑的办法,说开多一些线程去检测。要知道,线程可不是省油的灯,再说,采用轮询的办法每遇到一台主机不存在就会抛出一个异常,而且该类异常
        阅读全文
            
摘要:安装摄像头后,一般可以找到一个avicap32.dll文件这是一个关于摄像头的类usingsystem;usingSystem.Runtime.InteropServices;namespacewebcam{//////avicap的摘要说明。///publicclassshowVideo{//showVideocalls[DllImport("avicap32.dll")]publicstaticexternIntPtrcapCreateCaptureWindowA(byte[]lpszWindowName,intdwStyle,intx,inty,intnWidth,i
        阅读全文
            
摘要:使用WIN32API获取打印机 转来转去,又回到WIN32API上来了,无奈啊。。。。。。怪不得C++依然这么吃香 啊。。。。。.Net给我们提供了DllImport来操作非托管的DLL(发现C#如此的强啊~~~~暗自偷笑)。主要使用到winspool.drv中的EnumPrinters函数,代码如下:[DllImport("winspool.drv",SetLastError=true,CharSet=CharSet.Auto)][return:MarshalAs(UnmanagedType.Bool)]privatestaticexternboolEnumPrinter
        阅读全文
            
摘要:最近在做一个东西,要用到动态分配IP和释放IP。在C++下很容易就可以实现。但是由于因为网络IP设置是要涉及到硬件,C#是没有现成接口调用的.只能通过调用API或者是WMI这道系统提供给我们的桥梁.主要是通过"Win32_NetworkAdapterConfiguration"这个管理类。 下面附上我写的一个Demo,希望对需要的朋友有帮助,更希望高手来拍砖。using System;using System.Collections.Generic;using System.Text;using System.Management;using System.Manageme
        阅读全文
            
摘要:C#实现网卡IP地址自由切换 需求:笔记本经常要在不同的地点连接网络,而各地的网络IP配置各不相同,这就导致不时的更改网卡的IP地址设置。Windows上更改IP设置很不方便,于是希望能够开发一款能够适用于不同网络,不同网卡的快速IP地址切换程序。分析:关键在于如何实现对网络适配器的配置。其实,MS为我们提供了System.Management 命名空间下的ManagementClass类,通过它我们可以获取和设置电脑上所有适配器的信息。其次,就是要实现对配置信息的存储,这个就简单了,可以通过将网卡信息序列化后保存到文件中,然后经反序列化取出。实现:解决了上面两个问题,一切就简单了。那就让我们
        阅读全文
            
摘要:C#提供ManagementClass来对机器的信息进行管理,可以通过设定不同的管理类来获得机器的基本信息。下面给出了一些基本的信息的获取方法,包括获取CPU数目,cpu频率,内存大小,硬盘大小。private void GetLocalInfo() { string cpuCount; string hdSize; string memorysize; //得到CPU信息 ManagementClass mcpu = new ManagementClass("Win32_Processor"); ManagementObjectCollection mncpu = mcp
        阅读全文
            
 
                    
                     
                    
                 
                    
                 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号