摘要:一般来说,我们是需要对web.config文件中的一些敏感信息加密的。通常如下节点会考虑加密,除此之外,很多节点通常都不会被加密,甚至于不能被加密:
1) 一般包含一些我们自定义的信息。
2) 这个大家比较熟悉,包含连接数据库用的字符串。
3) 包含使用impersonate时的账户信息。
4) 包含将session置于process外的连接字符串。
阅读全文
摘要:平常我们在写LINQ查询的时候,使用的是强类型,也就是说,在编译时LINQ就可以为我们来检查类型是否匹配,这样可以避免很多runtime时类型不匹配的危险。也正因为如此,我们在写LINQ查询语句时并没有写SQL语句那样"方便"(代价就是危险),尤其当我们有许多filters的时候,写在LINQ语句中更是麻烦。
阅读全文
摘要:前两天翻译了Tess Debug系列的Hang调试,今天就继续和大家看看Tess的第三篇文章,Crash调试。同样,由于机器的差异,可能你的调试结果和Tess有所差异,不过这个不要紧,只要你知道其中的原理就可以了。文章的图片可能会不太清楚,如果需要,大家可以去Tess的原文上看。
ASP.NET Debug系列之一:环境搭配
Windbg,sos,tinyget,adplus常用命令
ASP.NET Debug系列之二:Hang调试
阅读全文
摘要:对于ASP.NET Forms验证,想必大家都非常的熟悉。然而,在控制用户的(过期时间)expired time的时候,你是否遇到过一些奇怪的现象呢?虽说只是一个小小的cookie,但是其中可能有很多的东西你都不知道。今天我将和大家讨论一下cookie的注意点。
阅读全文
摘要:前几天我翻译了Tess debug系列的第一篇文章以及和大家介绍了一些debugger tools的基本命令。今天我们将一起讨论Tess关于debug 系列的第二篇文章。Tess在每个系列中都使用了问题+结果的结构,为了简化,我将把问题和结果一起给大家。此外,大家在自己机器上重现这些问题的时候,由于机器的差异,许多问题的结果都可能和Tess的不一样,这个不要紧,只要大家能够掌握原理就可以了。
阅读全文
摘要:相信大家在开发ASP.NET程序的时候都使用过ASP.NET Configuration这个菜单。点击这个菜单时,Visual Studio将会启动一个WebServer,进而有一个叫做ASP.NET Web Admin Tool的页面将会帮助你管理整个ASP.NET程序的user和role。比如新建用户,删除用户,新建角色,分配角色等等。有了这个Tool,我们可以非常方便的在开发时来管理membership和role。然而,当ASP.NET程序Publish到IIS上后,你是用什么来进行远程管理的呢?许多人会用开发自己的模块来进行管理,也有些人也会使用一些开源的模块来进行管理。然而功能性和稳定性都可能比.NET自带的管理工具(WAST)要差。我们知道在开发时通过Visual Studio使用WAST,但不知道怎样能直接使用这个模块。这篇随笔将和大家一起探讨怎样把这个强大的功能据为己有 :)
阅读全文
摘要:在上一篇的译文中,主要讲解了Tess的debug系列概况以及debugger tools的安装和设置。在翻译下一篇文章之前,我打算先和大家讲解下windbg,sos,adplus和tinyget的一些常见命令。了解了这些以后,你将会更加容易的理解以后的文章。
[翻译]Lab1. Debug环境搭配
阅读全文
摘要:一些专业词汇:
hang:挂起,如程序反应慢,显示页面时间长等等。
crash:崩溃,如w3wp.exe遇到了问题被强行重启等等。
memory:内存,这个不用多说了。
memory leak:内存泄漏,即内存使用过多,不够用了,如出现 OutOfMemoryException的异常等等。
KB:英文是 Knowledge Base,即知识库,从微软的support站点可以查看KB中的文章。
dump:相当于在某一静止时刻内存的一个切片。
一些专业词汇:
hang:挂起,如程序反应慢,显示页面时间长等等。
crash:崩溃,如w3wp.exe遇到了问题被强行重启等等。
memory:内存,这个不用多说了。
memory leak:内存泄漏,即内存使用过多,不够用了,如出现 OutOfMemoryException的异常等等。
KB:英文是 Knowledge Base,即知识库,从微软的support站点可以查看KB中的文章。
dump:相当于在某一静止时刻内存的一个切片。
阅读全文
摘要:在ASP.NET程序的多层开发中,我们常将数据访问层写在一个Class Library中。当在Class Library中使用了connection string时,很多人就发现了问题,因为Class Library最终给别人的是一个DLL,并不包含我们常见的web.config或app.config。这样的话,当我们使用的数据库需要变动时,我们就不能简单的通过修改web.config或app.config来改变connection string。
阅读全文
摘要:今天一早就收到了Tess的回信,十分的开心,她同意我翻译她博客的文章。我比较熟悉ASP.NET,因而我将主要翻译关于ASP.NET程序的Debug。这样的话,我打算在以后的空余时间里,不断来翻译她的一些系列文章。同时希望能够和喜欢ASP.NET Debugging的朋友多多交流。
Tess 是微软的一名资深工程师,主要负责.NET程序的Debug工作。在Debug方面,她可是专家中的专家。她写有一个完整系列的Debug入门Lab,个人认为是Debug blog中看到过最好的一个。同时,她还会将平常处理的一些case和大家共享,实践和理论的结合,让你受益匪浅。英文还可以的朋友可以直接去她的博客。
阅读全文
摘要:前两天我写了一篇关于ASP.NET程序权限的随笔,今天继续和大家讨论下代码访问安全。
代码访问安全(Code Access Security),顾名思义,是用来限制代码的。它能限制代码能否被执行,进而来限制ASP.NET程序能执行什么样的操作。比如CAS限制你不允许使用FileIOPermission class,那么ASP.NET程序便不能进行IO操作。同样,如果限制你使用SqlClientPermission class,ASP.NET程序便不能进行SQL Server的操作。
阅读全文
摘要:在进行ASP.NET调试的时候,我们经常需要借助一些外部工具来辅助我们。俗话说,工欲善其事 必先利其器。可别小看了这些工具,它是你解决复杂问题的必备利器。比较常用的有这些:
阅读全文
摘要:谈到ASP.NET程序的权限,一般可分为两种:
1) 账户的权限。
2) 代码的权限。
账户的权限可以限制运行在这个账户下的所有ASP.NET程序能进行什么样的操作,而代码的权限是ASP.NET程序里独有的,它规定了ASP.NET程序能够访问什么样的资源,比如数据库,文件等等。他们对ASP.NET程序是共同影响的,简单地说,ASP.NET程序表现出来的是他们共同作用的交集。
阅读全文
摘要:强类型的DataSet可以帮助我们快速的建立数据访问层,它的简易性使得我们可以在小的项目中广泛的使用它。但是它也有一些小的缺陷,这里和大家共同讨论下它到底有哪些缺陷,以及我们怎么去避免这些问题。
阅读全文