随笔分类 - .Net技术
C#技术以及Asp.Net开发技术
摘要:在很多情况下,有些对象需要在使用时加载或根据逻辑动态加载。有些情况如果不延迟加载,可能会影响效率甚至抛出Timeout Exception。如网络操作、数据库操作、文件IO操作直接上代码,方便我们理解怎么通过Lazy类实现对象的延迟加载。 class Program { static void Main(string[] args) { foreach (var item in Product.GetProductListLazy()) { //下面的操作会执行Product类的构造...
阅读全文
摘要:读语句: String str = ConfigurationManager.AppSettings["DemoKey"];写语句: Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); cfa.AppSettings.Settings["DemoKey"].Value = "DemoValue"; cfa.Save();配置文件内容格式:(app.config) System.Configuration.
阅读全文
摘要:'hqx'=>'application/mac-binhex40','cpt'=>'application/mac-compactpro','doc'=>'application/msword','bin'=>'application/octet-stream','dms'=>'application/octet-stream','lha'=>'application/octe
阅读全文
摘要:1.1.1 摘要 在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。 本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍。 本文目录代码中的问题数据库性能开销使用存储过程使用数据库事务使用SqlBulkCopy使用表参数 1.1.2 正文 假设,我们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和注册日期等信息。 由于时间的关系,我...
阅读全文
摘要:很多C#的教材都会强调对象相等的概念。我们都知道,在C#的世界里存在两种等同性。一种是逻辑等同性:如果两个对象在逻辑上代表同样的值,则称他们具有逻辑等同性。另一种是引用等同性:如果两个引用指向同一个对象实例,则称他们具有引用等同性。 众所周知,Object类型有一个名为Equals的实例方法可以用来确定两个对象是否相等。Object的Equals的默认实现比较的是两个对象的引用等同性。而Object的派生类ValueTpye重写了Equals方法,它比较的是两个对象的逻辑等同性。也就是说,在C#里,引用类型的默认Equals版本关注的是引用等同性,而值类型关注的是逻辑等同性。当然,这并不...
阅读全文
摘要:首先介绍一下命名空间System.DirectoryServicesSystem.DirectoryServices 命名空间用以从托管代码简便地访问 Active Directory。该命名空间包含两个组件类,即DirectoryEntry和DirectorySearcher,它们使用 Active Directory 服务接口 (ADSI) 技术。ADSI 是 Microsoft 提供的一组接口,作为使用各种网络提供程序的灵活的工具。无论网络有多大,ADSI 都可以使管理员能够相对容易地定位和管理网络上的资源。System.DirectoryServices 命名空间中的类可以与任何 Ac
阅读全文
摘要:如果把照片直接保存在SQL Server数据库中,微软推荐用varbinary(MAX)字段。下面的代码演示了用C#操作varbinary(MAX)字段的基本方法。1、新增记录 private void btnBrowse_Click(object sender, EventArgs e)//浏览照片 { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "*.jpg(jpg文件)|*.jpg|*.gif|*.gif"; dlg.FilterIndex = 1; if (dlg.ShowDialog()==Dia
阅读全文
摘要:IComparable定义由“值类型或类实现”的通用的比较方法,以为排序实例创建类型特定的比较方法。成员: CompareTo 比较当前对象和同一类型的另一对象。 IComparer定义类型为比较两个对象而实现的方法。成员: Compare 比较两个对象并返回一个值,指示一个对象是小于、等于还是大于另一个对象。 从表面看IComparable是排序时使用 IComparer只是比较对于这两个接口可能对于初学者来说易混淆。下面通过示例来来看下IComparable和ICompare的区别(示例中使用IComparable和ICompare接口)对于IComparable接口,它一般是和类绑定..
阅读全文