Web开发网 > Web后台开发 > Asp.Net/C#/WCF
1,获取html页面标题内容 System.Net.WebClient aWebClient = new System.Net.WebClient(); WebClient.Encoding = System.Text.Encoding.Default; string html = aWebClient.DownloadString(http://www.baidu.com); Lexer lexer = new Lexer(html); Parser parser = new Parser(lexer);..
本文介绍了.net 版的一个HTMLParser网页解析开源类库(Winista.HTMLParser)的功能特性、工作原理和使用方法。对于使用.net进行Web信 息提取的开发人员进行了一次HTMLParser的初步讲解。应用实例将会在日后的文中介绍,敬请关注。一、背景知识 HTMLParser原本是一个在sourceforge上的一个Java开源项目,使用这个Java类库可以用来线性地或..
Linq To SQL可以说是一个简单实现的ORM,是微软针对数据和对象的阻抗不平衡的问题。C# 3.0推出一些新的特性,比如Extension Method, Lambda Expression, Anonymous Type,其实这些新特性都是用来为Linq服务。Linq To SQL将程序员从以往写大量的sql查询语句、取值、赋值中解放出来,在intellisense和编译上做了很多工作,使得这些查询能够在编..
ADO.NET Entity Framework,即下一代的ADO.NET。它是比Linq To SQL更加强大的ORM,让开发人员只需要着眼于领域对象模型的开发,而不需要考虑它们是如何与关系数据库交互。上一篇文章简单介绍了在项目中如何使用ADO.NET实体框架,从现在开始,正式进入了ADO.NET的学习之旅。这篇文章主要介绍在ADO.NET实体框架中如何进行查询(以Northwind数据..
dlinq也更名为linq to sql.本文也跟着做相应变化,稍候,我会去更新前面的文章。我们先接着讲linq的语法。Select操作最简单的1,varq=fromcindb.Customersselectc.ContactName; 匿名类的1,varq=fromcindb.Customersselectnew{c.ContactName,c.Phone};2,varq=fromeindb.Employeesselectnew{Name=e.FirstName++e.LastName,Phone=e.Ho..
本节讲join操作。我们知道,T-sql中,有三种最基本的join,inner join, left join, 和right join。 而dlinq并不支持right join。道理很简单,right join以right表为基础,left表中没有对应记录的,将以null值填充。而dlinq以left表做为主表创建对象。如果一个对象为null, 你如何获取它的其他的属性呢? 在C# 3.0 Select操作一文中,我们提..
有这么一个例子,寻找一个表中的某个字段介于某个给定的集合该怎么办?Sql写起来很简单,比如:Select * from table where id in (2,3, 4, 5)。 就是寻找id字段为这个给定的集合(2,3, 4, 5)内的值。那Linq to Sql该怎么做呢?一个字,简单。In Operator比如,我们想要查找,AROUT, BOLID 和FISSA 这三个客户的订单。该如何做呢?Linq to Sql..
Lambda表达式是由匿名方法演化而来的更加高级的形式。关于匿名方法,请参阅http://msdn.microsoft.com/msdnmag/issues/04/05/C20/。关于Lambda表达式的演化,请参阅http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc=zh。英文原版为http://msdn.microsoft.com/msdnmag/issues/07/06/CSharp30/。1,Lambda表达式中的..
在所有的Linq To Sql操作中,GroupBy是最难理解的一个。因为,这里和Sql的出入较大。而Group真的就能返回n多组。打开vs,新建一工程,加入System.Data.Linq.dll的引用。把northwind数据库做个映射,添加到工程里。创建一Northwind类的对象。在这里呢,我们要做分组统计,我们要先明白什么是分组。在我们开始设计product表时,我们欲留了一列..
先发布一则消息。Orcas Beta1, 这个才是beta1,可以到http://www.microsoft.com/downloads/details.aspx?FamilyID=f10fb5df-e369-4db4-b9a7-845dbf793368DisplayLang=en 下载。5月1号的版本。最早4月19号就出来过一个,只是没有在意。还有一个http://www.microsoft.com/downloads/details.aspx?FamilyID=36b6609e-6f3d-40f4-8c7d-ad111679d..
OrderBy操作简单的,按雇用日期排序,默认为升序varq=fromeindb.Employeesorderbye.HireDateselecte;带where条件的,shipcity为london的。varq=fromoindb.Orderswhereo.ShipCity==Londonorderbyo.Freightselecto;或varq=fromoindb.Ordersorderbyo.Freightwhereo.ShipCity==Londonselecto;在这里where和orderby的顺序并不重要。而在T-SQL中,wher..
看下面的例子。varq=fromcindb.Customersselectc.ContactName; 这是一个最简单的dlinq查询语句,查询得到联系人的名字。在这里,我需要提醒下大家的是,像这个语句只是个声明,dlinq并没有真正把数据 取出来,只有当你需要该数据的时候,它才会帮你去取,这就是延迟加载(deferred loading)。如果,你想在声明的时候就希望dlinq帮你取到数..
在第一篇C# 3.0 学习(一)中,我已经和大家简单介绍了linq。也和大家提起linq是C# 3.0里的一个特性。不过,你去装linq priview时,你会发现,它提供了许多vb的linq代码。从现在的情况看,linq会被移植到.net framework下。在本篇中,笔者将开始更加详细的介绍dlinq。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008 beta2 ..
从本节开始,笔者将会和大家一起开始体验dlinq了。前面我们准备了数据库,也对数据库之间的关系做了初步的了解。有了数据库之后,数据和对象是 一个什么样的关系呢?从dlinq的设计来看,它主要是为了解决data!=objects 的问题而产生的。那么,现在,有了dlinq后数据和对象之间就可以有一个一一对应的关系了。我们既可以根据数据库生成这种影..
谈到dlinq,就不得不先说linq。让我们先看看什么是linq。linq是Language Integrated Query的缩写。那么事实上dlinq就是Database Language Integrated Query的缩写。linq和dlinq最大的区别就在与linq是对内存进行操作,而dlinq的操作对象为数据库。 我们先来看一个linq的例子。在这之前,你需要安装s2008 beta2版本。可以到http://msdn2..
在WinForm实现一个类似资源浏览器的功能,需要实现将WinForm中列出的文件拖出到其他应用程序中或者从其他应用程序中将文件拖入到 Winform应用中。网上有一些文章介绍这种功能,但都比较零散,缺少一个完整的例子。为此我编写了一个较完整的实现文件拖入和拖出的例子,并撰写此文 一步步讲解如果实现类似功能。步骤1 放置一个 ListView 到 Wi..
用C#编写事件或委托时如果处理不好会造成内存泄漏,看下面代码:public class DoA2EventArgs : EventArgs { } public class ClassA { public delegate void DoAEventHandler(object sender, EventArgs e); public event EventHandlerDoA2EventArgs DoA2EventHandler; publ..
1. String 类型变量追加,或修改后的新String对象是驻留(Interned)的。 如下面代码 string s1 = abcd; 我过去想当然的认为s2 是驻留的,但实际上并非如此,用 string.IsInterned 方法检测s2是非驻留的。后来研究发现只有常量字符串才会默认驻留,其他的字符串变量哪怕是采用 new string 构造出来的,默认都非驻留,除非用string.Intern 强行..
C# WinForm调用MessageBox.Show显示消息对话框,提示用户确认等操作。在有些应用中我们需要通过程序来自动关闭这个消息对话框而不是由用户点击确认按钮来关闭。然而.Net framework 没有为我们提供自动关闭MessageBox 的方法,要实现这个功能,需要使用Window API 来完成。 首先需要找到这个消息对话框的窗口句柄,一个比较简单的方法就是用 ..
.Net 提供了一个NetworkStream 用于TCP 的读写,实际使用时发现直接操作效率很低,哪怕把TCP 的发送缓存和接受缓存设置很大也没有太大提高。后来在对 NetworkStream 读写前设置了缓存,性能一下子提高了很多。 从实际测试结果看设置自己的写缓存,对性能的提升最为显著。我分析了一下,其原因很可能是在向NetworkStream 序列化对象时,序..
网上关于SQLite的介绍一抓一大把,总结起来,他有如下特点:SQLite优点及适应场合:轻量级绿色组件单一文件跨平台查询效率极高使用事务插入速度极快支持limit分页适合查询速度要求较高,内存占用较少的场合,尤其是嵌入式操作系统,如各种手机操作系统,低并发web(99.9%网站是低并发),php环境里原生支持SQLite,asp.net/.net winform里可以很方..
在网络上看到很多 GridView 内含子 GridView 的范例,虽然方法不同不过程序代码都有点小复杂,想说难道没有更简单易懂的方法吗? 在此文章中将用十几行的程序代码,就教你快速学会并搞定这种 Master-Detail GridView 的需求。程序代码实作 我们以 Northwind 数据库为例,首先在页面上放置二组 GridView+SqlDataSoruce,分别系结至 [Or..
JavaScript对象标记法,英文名称 JavaScript Object Notation(简称JSON),是一种文字格式标记法,相较于 XML 而言,JSON 明显更为简洁。而 JSON 这种精简的数据表示方式,非常适合用于 AJAX 的数据转输。 我们使用「BasePage 撰写 PageCommand 事件 (使用 CallBack)」一文中提及的 PageCommand 来执行 AJAX,并在 PageCommand 事件中回传..
「CallBack-PageCommand和JSON基础」 中说明了在 CallBack 时,客户端可以接收伺服端传回的 JSON 字符串,在客户端 eval 取得 JSON 对象,使 JavaScript 可以直接操作伺服端传回的对象。其实在 ASP.NET AJAX 1.0 有提供相关类别来处理伺服端/客户端的 JSON 序列化/反列序化的需求。 伺服端处理 JSON 序列化的类别为System.Web.Script.Ser..
当设定 ScriptManager 控件的 EnablePageMethods 属性值为 True 时,我们可以从客户端指令码呼叫 ASP.NET 网页中的公用静态网页方法,而且它预设就支持 JSON 序列化。 在本文中将使用 ScriptManager 的 PageMethods,重新做一次上篇「CallBack-PageCommand和JSON应用」文章的范例,来比较「CallBack PageCommand」及 「ScriptManager Pa..
GridView 控件常有需要汇出 Excel 的需求,一般都是将 GridView 使用 RenderControl 来输出其 HTML 程序代码。本文即在讨论 RenderControl 所产生的问题及解决方式,不过本文是透过 BasePage 的方式,让 RenderControl 的相关处理动作更简化。手动解决 RenderControl 所产生的问题 下面的 ControlToHTML 函式,主要是将控件转换为对应的 ..
ASP.NET 2.0 Callback 使得ASP.NET Server端控件能够调用服务端的方法而不需要执行一个完整的Postback过程,也就是说使得Server端控件可以很好的支持Ajax。 Callback不同于Postback之处在于向服务器发送请求时只有ViewState和用户自定义信息被发送到服务器端,请求完毕后,只返回用户自定义结果,而不会从Render页面。 GridView控件正..
第一个,很多人用.Net写程序,会谈到托管这个概念。 那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源? 很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对 象,还有Com对象等等,这些资源并不是受到.Net管理而统称为..
.NET中Cache有两种调用方式:HttpContext.Current.Cache 和 HttpRuntime.Cache,这两种方式有什么区别呢? 我们先看MSDN上的解释:HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。HttpRuntime.Cache:获取当前应用程序的Cache。 我们再用.NET Reflector工具看看HttpContext.Cache和HttpRuntime.Cache的实现: //Syst..
C# checked和unchecked操作符用于整型算术运算时控制当前环境中的溢出检查。 下列运算参与了checked和unchecked检查(操作数均为整数):1) 预定义的++和――一元运算符。2) 预定义的-一元运算符。3) 预定义的+、-、、/等二元操作符。4) 从一种整型到另一种整型的显示数据转换。 当上述整型运算产生一个目标类型无法表示的大.. 首页 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页 尾页 14/37页,每页显示30条,共1092条相关记录