存档:2009年, 十二月

[转]从底层了解ASP.NET体系结构

类别: asp.net 发表评论

ASP.NET是一个用于构建Web程序的强大平台,提供了巨大的弹性和能力以至于它可以构建任意的Web程序。许多人仅仅对处于ASP.NET高层次的框架如:WebForms和WebServices比较熟悉,因此,在这篇文章里,我将会阐述有关ASP.NET比较底层的知识,并且将会解释,如何将请求从Web Server移交给ASP.NET运行时,然后通过ASP.NET HTTP管道处理这些请求。 对于我来说,了解一个平台的内部工作机制总是会让我感到一些满足和安慰,如同洞察,可以帮助我写出更好的程序。知道了工具有什么用途,以及它们如何组装成复杂框架的一部分,这些将会使你很容易的找到问题的解决方案,以及在你修改和调试错误时,都显得非常重要。这篇文章的目的就是从底层了解ASP.NET以及帮助你理解请求如何流入ASP.NET处理管道里。同时,你将会了解ASP.NET引擎的核心,以及一个Web请求如何在这里结束。这里讲到的许多知识都是你日常工作中没必要知道的,但是,如果你理解了ASP.NET如何把请求路由到应用程序的代码里(通常比较高层次的),这将对你非常有用。 注:整个ASP.NET引擎完全构建在托管代码里,其所有的扩展性都是通过托管代码去构建。 使用ASP.NET的大多数都比较熟悉WebForms和WebServices。这些高层次的实现,使得构建Web程序变得非常容易。ASP.NET被设计为驱动引擎,它把底层的接口提供给Web Server,为高层次Web应用程序的前端和末端提供了路由服务。WebForms和WebServices是建立在ASP.NET框架之上,有关HTTP处理的两种最常用的方式。 其实,在较低的层次上,ASP.NET也提供了足够多的灵活性。HTTP运行时和请求管道提供了同样的能力,可以构建类似于WebForms和WebServices的实现,当然,这些已经使用.NET托管代码实现了。如果你需要构建一个自定义HTTP处理平台,而这个平台要比WebForms所处的层次低一点,那么你就会用到所有这些类似的功能。 构建大多的Web界面,使用WebForms无疑是最容易的方法,但是,如果你想自定义一个内容处理器,或者需要对流入和流出的内容做特殊的处理,或者需要为一个应用程序定制一个应用服务器接口,那么使用这些低层次的处理或者模块将会得到更好的性能,以及可以在真正的请求处理中获得更多的控制权。尽管那些高层次的实现,如:WebForms和WebServices已提供了类似的功能,但由于它们针对请求添加了太多的控制(导致性能下降)。所以你完全可以另辟佳境,在较低层次上处理这些请求。

[PetShop] 用户没有和信任SQL Server连接关联

类别: SQL Server, asp.net 发表评论

安装PetShop4,运行,结果出错了,错误信息如下: Server Error in ‘/Web’ Application. ——————————————————————————– Login failed for user ‘mspetshop’. The user is not associated with a trusted SQL Server connection. 网上查了一下,解决方法为: 运行 SQL Server Management Studio,在服务器名上右键,选择属性->安全,在服务器认证部分现在SQL Server和Windows验证模式,然后重启SQL Server服务

FAT转NTFS格式

类别: working tips 发表评论

CONVERT 工具 (CONVERT.EXE) 用于将现有的 FAT 或 HPFS 分区转换为 NTFS 分区。下一次重新启动系统时 CONVERT 工具将分区转换为 NTFS 分区。 用法:convert volume /fs:ntfs 如果计划在下一次重新启动时进行不在进行NTFS 转换,找到HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 将 BootExecute 注册表项从autoconv \DosDevices\x:/FS:NTFS更改为autocheck autochk *,其中 x 是要转换的驱动器

ASP.NET用户状态管理

类别: asp.net 发表评论

保持方法 谁需要数据 保持多长时间 数据量大小 Application 所有用户 整个应用程序生命期 任意大小 Cookie 一个用户 可以很短,如果用户不删除也可以很长 小的、简单数据 Form Post 一个用户 到下一次请求(可以跨越多个请求重复使用) 任意大小 QueryString 一个或一组用户 到下一次请求(可以跨越多个请求重复使用) 小的、简单数据 Sessions 一个用户 用户活动时一直保持+一段时间(一般20分钟) 可以是任何大小,但是因为用户有单独的Sessions 存储,所有它应该最小。 Cache 所有用户或某些用户 根据需要 可大可小、可简单可复杂 Context 一个用户 一个请求 可以保持大对象,但是一般不这样使用 ViewState 一个用户 一个Web窗体 最小 Config file 所有用户 知道配置文件被更新 可以保持大量数据,通常组织小的字符串和XML结构 参考资料: [1] http://scottwater.com/blog/archive/asp-net-state-management-tips/ [2] http://msdn.microsoft.com/en-us/magazine/cc188774.aspx [3] http://www.171zz.com/viewthread.php?tid=58917

硬盘安装系统

类别: working tips 发表评论

XP下硬盘安装Windows Vista/7/Server 2008 把安装文件全部复制到硬盘,比如D:\Vista 把Vista里面的“bootmgr”、“boot”文件夹都复制到C盘目录下,并在C盘根目录下建个sources文件夹,把的D:\Vista\sources下的boot.win复制到C盘下sourse文件夹 运行convert c:\fs:ntfs,把要装Vista的那个分区用转换成ntfs的格式 用管理员运行cmd,运行c:\boot\bootsect.exe /nt60 c: 退出后重启电脑 重启计算机,正在启动安装程序,加载boot.wim,启动PE环境 安装程序启动,选择你要安装的语言类型,同时选择适合自己的时间和货币显示种类及键盘和输入方式,出现“开始安装界面”,(要注意了,不点击“现在安装”)点左下角“修复计算机”(repair my computer),进入“系统恢复选项”,选择最后一项“命令提示符”(command prompt),进入DOS窗口 在DOS下运行C:\boot\bootsect.exe /nt52 C:然后删除C盘中的如下文件(有些文件可能是隐藏的,删除前请运行attrib -r -h -s) del C:\boot\bootsect.exe del C:\bootmgr del C:\boot del C:\sources 删除这些很重要,没删除的话等下不能成功重起引导不了系统完成安装,或者直接运行format c:/q 把C盘格式化 现在可以出入安装命令了,输入D:\Vista\sources\setup.exe后回车,然后就跟光盘启动安装一样了 Windows Vista/7/Server 2008下硬盘安装Windows Vista/7/Server 2008 把安装文件拷贝到硬盘中,比如E:\Windows Server 2008 在C盘根目录下新建一个sources文件夹 把E:\Windows Server 2008\sources下的 boot.wim 复制到C盘下sourse文件夹内 以管理员身份运行cmd,执行以下命令 bcdedit /create {ramdiskoptions} /d “Ramdisk options” [...]