在开发中你利用那些工具进行单元测试和模块测试
NUNIT和PDM.
你用过哪些版本控制工具
VSS、SOS、cvs。
客户端与浏览器:如果让你做一个TreeView控件,你的思路
我会采用javascipte来做,主要采用htc。
数据通过XML.
通过htc操作XML并定义一些方法如:load、addnode、deletenode、updatenode、selectednode等方法一些属性如对图标、节点位置、节点前复选框等属性,也会提供一些默认事件如修改节点前后刷新等。
数据库某表主键自增,是很常见的情形。在ASP. Net或C#程序中,要求向该表插入一条记录,并马上从该表查出这条记录。不能使用时间戳,请问你如何实现
插入一条记录会返回◎◎identity,通过它就是该记录的主键,再select一下就可以了。
你会利用那些工具进行数据库的性能分析及其优化?说说你觉得优化数据库需要注意的方面。比如:如何设计优化查询为主、插入更新为主的表。
我主要通过执行计划以及索引优化以及客户统计和服务器跟踪工具来检测从SQL到索引、硬盘IO和时间等信息。
对于查询为主的表,首先对数据量的大小有一定的估计,当达到一定程度应采用水平分区,有的根据主键有的根据时间段来区分。由于此表往往插入更新不是太快,可对适当字段采用索引并且填充因子可以尽量大。SQL优化等。
对于插入更新为主的表,我觉得健壮性更重要,只要根据标准外部采用存贮过程就可以了。
DataReader和DataSet的异同
Daatareader和datatset都是通过从数据源取数据。不同点:datareader提供只进行流的方式读取数据。Dataset提供一种容器里面主要由表以及表关系,由适配器来提供从数据源取得数据填充到此容器的表中。
在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案
一般根据页面选择的第几页PageIndex,以及服务端配置文件配置的每页行数PageSize,通过传入参数传入存贮过程,由其返回相应行数pagesize的记录。即每一页数据都由服务端返回。
有两种:批量返回。
是否了解 URL Rewrite?请简要说明其原理和在 ASP.NET 中的实现方式
一般放在httpmodule中applicatioin_request事情中,当每次http请求,将此URL定位到重写的url函数中并返回重写后的URL地址。主要用于当我们站点板块移动时由于链接仍然指向旧地址,故可以重定向到新的地址,当然查询参数也可以重写。
简单说说 ASP.NET 中基于表单的身份验证方式的用法
配置文件提供对站点那些目录的保护以及登录页面,当访问该目录的文件时,如果用户未认证通过,将转入登录页面,
用户输入用户名和密码,将此参数传入认证模块authentication,该模块负责认证,如果通过将isauthentication设置为true,并返回用户的identity对象,此时页面将转入初始请求页,如果未通过,将不允许访问此目录。
在ASP.net中可以利用哪些对象存储状态?几种维持状态的对象应用场合以及优缺点
主要用Application,session,viewstate,cookie,cache。
Application:应用程序级别的共享变量,优点是应用程序一开启该站点都能访问此变量。缺点:所有对此进行写入操作要加锁,由此共享变量锁带来的内存开销只有此应用程序关闭才能结束。
Session:维护用户个人的状态信息,优点:个人所从事活动,如登录信息,购物车信息等较安全而且又服务器维护较稳定。缺点:维持http连接的sessionID仍然有缺陷,同时为每个用户维护状态信息,服务器内存开销很大。
Viewsate:如4所说,在一些场合能体现它的特点,但同时带来的缺点:影响整个页面的速度以及隐藏字段未加密。
Cookie:优点是将状态信息维护在客户端的一个文本文件,不需要耗用服务器的内存,是目前各大网站主要采用的方式。
缺点:由于其将状态信息存贮在客户端,很可能由别人破解此文件而获得此人的个人隐私和机密信息。其受限大小为4K.
Cache:优点是提供的此功能很强大,如文件缓存依赖、API依赖、数据库依赖以用于存贮数据变化而更换缓存状态数据。提供存储周期从httpcontext到httpruntime。缺点:耗用服务器内存。
View State 的作用和实现方式
视图状态主要用于平衡页面各控件的原始数据状态,当进行POST时,framework会将各保持视图状态的控件的值存贮在隐藏字段中,这样当请求完毕界面重绘时,能够从隐藏字段中回复各控件的原始值。
C#中接口和类有什么区别
接口一般和抽象类中提供的全部是抽象的东东等同,只是C#支持继承多个接口而只支持单继承。当然我们一般用类来描述具体实体,里面有私有的数据即信息隐藏,和公开的属性以及各种操作内部的方法,当然类中不同级别的如public,internal,protected方法和属性也是对外不同级别的接口。
程序集强签名
使用sn的方式来创建程序集的签名,当创建了强签名,对应的程序集只有有正确的snk才能加载和正常运行。
值类型和引用类型的区别
引用类型存贮在托管堆中的指定位置,而值类型存贮在需要使用的地方,一般是放在栈中。