摘要:缓存是我们开发应用系统的一把利刃,如果用的不好,会导致数据不准确等一系列问题。所以在如何选择缓存的时候,我们要慎之又慎。所以在对系统中一些 不经常变化的表,我们可以采用SqlCacheDenpendency进行帮我进行缓存只要在数据库中的数据不更新,那么数据永远在缓存。但要实现sql 依赖缓存,需要数据库服务器支持。所以我们前期得进行数据库配置:1.启用 Service Broker。可以通过下边语句查看是否启用。select DatabasePropertyex('Northwind','IsBrokerEnabled')--返回1表示true,返加0表示fa
阅读全文
摘要:在开发内部系统当中,我们经常使用参数进行传递,但由于明文传递会涉及到安全问题。所以我们一般都是加密明文再和明文一起传递,接受方再检测是否被明文是否中途被篡改。 表达不好,还是看代码吧! 下面是才是我调用的类: /// <summary> /// 对称加密处理类 /// </summary> publ
阅读全文
摘要:直接上代码: TestMenuService.MenuServiceCSClient tesClient = new TestMenuService.MenuServiceCSClient(); var client = tesClient.GetType() .GetMethod("GetMenuID", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance); ...
阅读全文
摘要:我在写一篇时候,被很多同学说没技术含量,实际在开发过程中,我们做递归实际是在数据库端处理,把当前子集所有的都给递归出来。再 程序里再循环匹配的这样性能就会快多了。这里涉及到一个sqlserver的一个关键字 with废话就不多说了,还是老规矩上代码:with Department as(select fid FROM V_DH_Department WHERE FID='7AE0A3FB-2D6C-4E51-8B10-71EAFA2D269A'UNION ALLSELECT dd.FID FROM V_DH_Department dd INNER JOIN Department
阅读全文
摘要:http://www.cnblogs.com/Raoh/archive/2013/03/27/AspNetMvc_IOC.html群里一个技术大牛说MVC有三个注入点,但我只会一个DefaultControllerFactory。 在群友的帮助下,我大致了解了下:IControllerFactory...
阅读全文
摘要:我们在开发系统当中,递归是我们经常使用到底一个算法,如菜单列表,项目类别等。如果递归使用不好,就会造成性能损耗,导致页面加载速度慢等一系列问题。首先我列举三个,大家在日常当中使用的方式:1.循环递归,每次都从数据库查询下一级需要的数据2.一次加载完,再循环递归3.使用多线程,把数据先加载完,再递归我大致想了想,一般同学都是这个三做法。那这三个做法在4560条情况下,它们的执行时间分别是:第一次执行:第二次执行:从上面数据来看,也许不是很准确,但是可以看出来,每次从数据查询绝对很慢。好吧,我贴下代码,最近太忙,没有大致整理,大家凑乎看吧!数据下载:Data.zip代码下载:RecursiveSt
阅读全文
摘要:.NetFrameWork 是微软开发的以"虚拟机"运行,以通用语言运行库为基础,在其上面进行各种语言开发的一个开发平台。C# 是一个和平台更好交互,以托管在虚拟机上的一个语法糖,所有代码最终被编译成通用语言再进行处理。其实就是一个语法糖而已。VisualStudio 是一个工具,是为了帮助我们更好结合C#和.netFramework进行交互的一个开发工具。好了,记录下,送给同样迷茫的同学!
阅读全文
摘要:我们在做B/S的项目,客户端向服务端传值的时候,一般都是request接受。Request常用三个接受方式为:Request.QueryString,Request.Form,Request.Params它们之间关系,很简单 ,我就不列举了。我就贴下 一个我封装的示例代码: class Program { static void Main(string[] args) { //First Method string _id = string.Empty; string _prodctNam...
阅读全文
摘要:纯粹记录下Lambda的表现形式:(x, y) => x * y;//多参数,隐式类型=>表达式x => x * 10;//单参数,隐式类型=>表达式x => { return x * 10; }; //单参数,隐式类型=>语句块(int x) => x * 10;//单参数,显式类型=>表达式(int x) => { return x * 10; };//单参数,显式类型=>语句块() => Console.WriteLine(); //无参数这里有官方文档:http://msdn.microsoft.com/zh-cn/li
阅读全文
摘要:C#之链式编程(函数模式编程),最近很好像很火,我也尝试练习下。学习链式编程 需要懂两个知识点:1.必须会扩展方法2.lambda+(Func,Action)好了,下面是我的学习代码:class Program { // study chained call 链式调用 static void Main(string[] args) { //One //Product p = new Product() { ProductName = "iphone5", Price = 300 }.First().S...
阅读全文
摘要:Property简称属性,其意思就是封装在类或结构里面的数据字段的描述Attribute简称特性,其意思就是对类或结构的自我描述还是上代码最好了解: /// /// Attribute /// [Serializable] class Prodcut { /// /// Property /// public string ProdcutName { get; set; } /// /// Property /// public int...
阅读全文
摘要:委托是我们C#开发当中使用频率非常的高一个手段,好处我就不列举了。委托早期版本中只有delegate,后期版本有了Func(有返回值)和Action(无返回值)两委托方法。我这里将列举它们三个常用的表现方式,还是老规矩上代码:class Program { private delegate int GetSum(List list); // First Definition Delegate static void Main(string[] args) { //C# delegate List lis...
阅读全文
摘要:扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段。扩展方法是一个只能在静态类中声明的静态方法Lambda 是一个表达式 ,学会了 可以使代码简洁,也是装13的利器。还是上实例代码: class Program { static void Main(string[] args) { List list = new List() { new Product{ProductName="Iphone4s", Price=3000}, ...
阅读全文
摘要:yield 这个关键字 一直很少用,也不知道具体用途。按照习惯就查询了下MSDN。意思大致是这样的:在迭代器块中用于向枚举数对象提供值或发出迭代结束信号表现形式:1. yield return //返回值 2. yield break; //结束迭代下面是我测试代码: Array.ForEach(returnInt().ToArray(), s => Console.WriteLine(s)); //yield return 表现方式 Array.ForEach(returnOneInt().ToArray(), s => Console.Writ...
阅读全文
摘要:TFS:TFS2010VS:VS2012OS:Windows2008DB:Sqlserver2008 R2我们在团队开发当中,版本控制是一个不可忽略的工具。我们团队使用的是TFS2010这个版本控制器。但在团队实际协作开发当中,团队成员难免有电脑损坏或人员离职情况,把文件签出而其他同事无法签出进行编...
阅读全文
摘要:首先感谢群里一位兄弟老A,让我更加熟悉了string[] 转int[] 方法。废话不多说,直接贴代码:背景:string[] listString = new string[] { "1", "2", "3" };方法1-迭代: int[] c = new int[listString.Length]; 09 for(int i = 0; i < listString.Length; i++) { 10 c[i] = Convert.ToInt32(listString[i].ToString()); 11 } 12 retur
阅读全文
摘要:最近不止一个同学,问我在Repeater里怎么格式化数据,怎么处理。因为Repeater 属于服务器端控件。要么利用本身的控件事件来处理,要么在数据源上处理。但这样很不方便。其实我们可以用下面2个方法:三元表达式:<td><%# int.Parse(Eval("price").ToString()) > 3600 ? "<a>#</a>" : Eval("price").ToString()%></td>后台方法回传: public string ReturnStr(s
阅读全文
摘要:环境:VS2010/VS2012+Nuget+TFS2010我在使用Nuget下载DLL的程序本机编译通过,结果签入的时候,其他同事都喊编译不过去,我逐步研究下,原来签入到服务器的packages文件里只有XML,没有包含DLL。问题找到了,剩下的就好办了!解决办法:安装Nuget还原,删除签入的packages。当其他同事编译代码的时候,Nuget就会自动下载过去。本机自动成packages文件夹。这下清爽了,服务器没有packages文件夹,本机还可以跟其他同事同步,太棒了!记录下,送给遇见同样问题的同学!。
阅读全文
摘要:但用VS在控制台程序里编辑运行WebService的时候报这样的错:未处理System.ServiceModel.AddressAccessDeniedException HResult=-2146233087 Message=HTTP 无法注册 URL http://+:3333/employees/。进程不具有此命名空间的访问权限(有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=70353)。 Source=System.ServiceModel问题原因:我们在运行VS的时候没有以管理员身份运行,导致的解决办法:就是以管理员身份运行...
阅读全文
摘要:我们在开发MVC当中,经常在我们的全局类的路由设置,看到这样的代码:routes.IgnoreRoute("{resource}.axd/{*pathInfo}") //对所有axd的资源 进行忽略,直接进行URL访问几乎有所有的同学 都默认保留,也没有人问津!最近正好,在学习MVC的Filter这个刷选器,顺便在群里发起讨论,几乎没有一个准确答案!我正好借此机会学习了下:{resource}.axd 表示后缀名为.axd所有资源 如webresource.axd{*pathInfo} 表示所有路径这个axd到底是什么呢!从上面可以看到,axd 是对C:\Windows\M
阅读全文