C#编程建议1:正确操作字符串
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Tip1 { class Program { static void Main(string[] args) { } private static void NewMethod1() { string s1 = "abc"; s1 = "123" + s1 + "456"; //以上两行代码创建了3个 //字符串对象,并执行了一次string.Contact方法 } private static void NewMethod6() { string re6 = 9 + "456"; //该代码发生一次装箱,并调 //用一次string.Contact方法 } private static void NewMethod2() { string...
ASP.NET MVC获取Controller Name和Action Name
ASP.NET MVC获取ControllerName和ActionName方法 ControllerName:this.RouteData.Route.GetRouteData(this.HttpContext).Values["controller"].ToString(); ActionName:this.RouteData.Route.GetRouteData(this.HttpContext).Values["action"].ToString();
C#嵌入汇编
开始进入工业自动化,买的工控机带有GPIO接口,可用于直接控制继电器。 从厂家拿到接口手册一看,居然是汇编直接操作端口,基本上是IN/OUT指令了。接口很简单,计算位移,读取;计算位移,写入。 这种接口,常见有四种办法,分别是四种语言实现,一是直接写ASM,不过要公开给C#做的应用程序调用,很不容易,另外三种是C/C++/Delphi嵌入汇编,倒是问题不大。 接口实在是小,不想大动干戈,所以想了别的办法。 第五种,用C++/CLI,这也是一个不错的主意。但是我甚至想省掉这个接口DLL,于是有了第六种办法:C#嵌入x...
asp.net mvc3 简单缓存实现sql依赖
议题 随 着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力。而大量的数据 请求就需要强大的数据库处理能力来支撑。改进更加只能的程序,以极少不必要的数据库访问或动态处理请求,可以节省添加更多服务器的费用以及显著提高Web 应用程序的整体速度。 解决方案 实现OutputCacheAttribute类,缓存不经常改变的数据或者相对固定的动作。 讨论 在MVC3中实现缓存是非常容易的事情。将下面的属性添加在某个控制器的动作上即可完...
asp.net执行.sql文件
//应用Process前请引用:System.Diagnostics命名空间. string infile=System.Web.HttpContext.Current.Server.MapPath("test.sql"); Process sqlprocess=new Process(); sqlprocess.StartInfo.FileName="osql.exe"; sqlprocess.StartInfo.Arguments=String.Format("-U {0} -P {1} -S {2} -i {3}","sa","123456","192.168.0.28",@infile); //U为用户名,P为密码,S为目标服务器的ip,infile为数据库脚本所在的路径 sqlprocess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden; sqlprocess.Start(); sqlprocess.WaitFo...
Delphi如何调用C#写的dll
近来,因工作需要,必须解决Delphi7写的主程序调用C#写的dll的问题。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行: 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目TestDll, using System.Runtime.InteropServices; namespace TestDll { public interface I TestClass { void YourProcedure(stirng param1); } [ClassInterface(ClassInterfaceType.None)] public class TestClass:I TestClass { public void YourProcedure (stirng param1); { //自己的代码 } } } 完成之...
VS2010使用正则查找替换
经常会用到查找与替换的功能,而一般我们用到的是字面值的查找与替换功能。当然,这样的查找与替换方法有它的局限性。例 如,当我们想去除多余的换行符时,似乎就没有办法的,原因有两点:一、假设我们能使用/n识别换行符,那么进行去除时所有的换行符将都被去掉;二、使用字 面值的查找与替换功能时,/n是不能识别换行符的,它将被理解为一个字符串。 为了解决这个问题,VS也提供了正则表达式的查找与替换功能,用以下方式可以激活该功能: 选择Find options - Use - Regular expressions,令人感到方便的...
Entity Framework教程(8)
这是一个系列,共有 8 篇,这是第 8 篇。 Entity Framework 4.1 之一 : 基础 Entity Framework 4.1 之二 : 覆盖默认的约定 Entity Framework 4.1 之三 : 贪婪加载和延迟加载 Entity Framework 4.1 之四:复杂类型 Entity Framework 4.1 之五:多对多的关系 Entity Framework 4.1 之六:乐观并发 Entity Framework 4.1 之七:继承 Entity Framework 4.1 之八:绕过 EF 查询映射 这是这了系列的最后一篇,我将讨论如何绕过 EF 的查询映射。 像所有优秀的框架一样,EF 知道它并不能优秀到覆盖所有的角落,通过允许...
Entity Framework教程(7)
这是一个系列,共有 8 篇,这是第 7 篇。 Entity Framework 4.1 之一 : 基础 Entity Framework 4.1 之二 : 覆盖默认的约定 Entity Framework 4.1 之三 : 贪婪加载和延迟加载 Entity Framework 4.1 之四:复杂类型 Entity Framework 4.1 之五:多对多的关系 Entity Framework 4.1 之六:乐观并发 Entity Framework 4.1 之七:继承 Entity Framework 4.1 之八:绕过 EF 查询映射 在 ORM 文献中,有三种方式将对象的继承关系映射到表中。 每个类型一张表 TPT: 在继承层次中的每个类都分别映射到数据库中的一张表...
Entity Framework (8)
这是一个系列,共有 8 篇,这是第 8 篇。 Entity Framework 4.1 之一 : 基础 Entity Framework 4.1 之二 : 覆盖默认的约定 Entity Framework 4.1 之三 : 贪婪加载和延迟加载 Entity Framework 4.1 之四:复杂类型 Entity Framework 4.1 之五:多对多的关系 Entity Framework 4.1 之六:乐观并发 Entity Framework 4.1 之七:继承 Entity Framework 4.1 之八:绕过 EF 查询映射 这篇文章讨论乐观并发。 我们经常要面对多用户并发访问问题。这是因为人访问机器的速度无法与高速的机器匹配,典型情况下,人需要大约一...