文章标签 ‘IIS’
[转载]微软ASP.NET站点部署指南(5):部署到IIS上作为测试环境 – 汤姆大叔 – 博客园. 1. 综述 开发程序的时候,通常我们是在Visual Studio 里测试,默认使用的是Visual Studio Development Server(Cassini),使用这个可以让我们开发测试工作更容易,但是在IIS上可能不一定能够正常工作。所以,结果可能是在Visual Studio 里运行正常,但是一旦部署到IIS上就会出错。 你可以通过下面一些方法来测试确保你的程序没问题: 开发的时候,使用IIS Express或者正式版IIS代替默认的Visual Studio Development Server来测试程序,这样可以更能确保在IIS下少出问题。但是这个方法不能测试你的部署流程是否正确,或者验证部署结构。 部署程序到你的开发机上的IIS,然后用同样的步骤部署到生产环境,这样验证你的部署流程和是否能在生产环境运行成功。 部署到和生产环境接近的测试环境,由于生产环境是第三方的提供商,所以最理想的测试环境就是提供商开放第二个账户(仅用于测试目的),这样就可以和正式的生产环境使用一样的部署步骤了。 本章节演示的是第二种方式,第三种方式可以在第七章尾部讲到,另外本章节的底部有第一种方式需要用的资源连接地址。 提醒:如果根据本章节所做的操作出现错误信息或一些功能不正常的话,请务必check Troubleshooting页面。 2. 配置程序运行在Medium Trust上 安装IIS和部署之前,我们需要修改Web.config文件以便配置更能接近共享主机环境。主机提供商通常会让你的程序运行在medium trust级别上,那就是说有些事情是不允许做的,比如你不能访问注册表或者你程序之外的目录读写文件。本机默认情况下是运行在high trust上,也就是有些你可以做的事情在生产环境上可能做不到了。因此,为了确保部署到生产环境没问题,需要将测试环境的运行配置也改成medium trust。 在Web.config文件里,在system.web元素节点里添加<trust>元素,像下面一样: <configuration> <!– Settings –> <system.web> <trust level=”Medium”/> <!– Settings –> </system.web> </configuration> 现在程序可以运行在medium trust上了,这样你可以尽早发现需要high trust才能运行的错误了。 3. 安装IIS和Web Deploy 你必须先安装IIS和Web Deploy 才能将程序部署到你开发机的IIS上。因为默认Windows [...]
[转载]在没有安装 ASP.NET MVC3 的服务器上运行 MVC3 – haogj – 博客园. 当在服务器上部署 ASP.NET MVC3 的应用的时候,可能会看到如下的错误信息: 这表示你的服务器上没有安装 ASP.NET MVC3。 解决这个问题的方法有两种: 第一,当然是在服务器上安装 ASP.NET MVC3 了。不过,如果你使用的是服务器的虚拟空间,或者租用的服务器,可能没有安装的条件,那就是用第二种方法吧。 第二,错误的原因很显然是缺少适当的程序集,在已经安装 ASP.NET MVC3 的情况下,这些程序集已经被安装到 GAC 中,在网站程序中使用了对这些程序集的引用,MVC3 涉及的程序集如下所示: 我们可以通过在 ASP.NET MVC3 应用的 bin 下部署这些程序集来解决这个问题。 在开发 MVC3 应用的项目中,应该已经引用了这些程序集,在解决方案管理器中,展开引用,选中这 6 个程序集,在属性窗口中,将复制到本地 ( Copy Local) 设置为真,这将会导致在部署应用的时候,这些程序集将会被复制到本地。 在发布项目的时候,这些程序集,包括在 GAC 中的程序集将会被一起发布,这样,你的 MVC3 就可以运行了。 此文中图片来自: Deployment of ASP.Net MVC 3 RC [...]
更新了dll后提示: 未能初始化 AppDomain:/LM/W3SVC/1/Root,未能加载文件或程序集“System.Web. 重启后IIS好了 开发的项目在vs2005开发环境下就可以运行,没有一点错,但是放到IIS浏览的时候就出错 页面错误提示如下: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 查看系统事件日志,发现一个错误和一个警告 错误: 由于无法创建应用程序域,因此未能执行请求。错误: 0×80070005 拒绝访问。 警告: 未能初始化 AppDomain:/LM/W3SVC/… Exception: System.IO.FileLoadException Message: 未能加载文件或程序集“System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。拒绝访问。 在网上查找了一圈,发现好像无论是2003还是xp都会出现这种问题,产生问题的原因有:1、ASP.NET2.0没有正确地在IIS中注册 2、权限问题 如果是第一种情况,可以重新注册ASP.NET:系统盘\windows\microsoft.net\framework\v2.0.50727([color=#0080ff]此处为版本号[/color])\aspnet_regiis.exe -i 如果是权限问题,需要确保asp.net运行帐户(默认情况下,在win2003中是Network Service,在xp中是aspnet)对N个目录具有相应的访问权限,主要是系统目录(具体列表可以在网上很容易找到),还有一个容易忽略的目录: /*728*90,创建于2011-1-13*/ var cpro_id = ‘u350373′;
[转载]LogParser的IIS网站分析技巧 – 虹桥路3号 – 博客园. 虹桥路3号 LogParser的IIS网站分析技巧 LogParser介绍 LogParser是微软的一个免费的日志分析工具,它支持许多格式的文件类型。主要有如下几类: · IIS 文件格式 Ø IISW3C: IIS产生的W3C扩展格式 Ø IIS: IIS专有格式. Ø BIN: IIS的BIN格式. Ø IISODBC: IIS可以把日志存储在数据库中。LogParser可以分析存储在数据库中的IIS日志. Ø HTTPERR: Http.sys日志格式. Ø URLSCAN: URLScan 日志格式. · 通用文本格式 Ø CSV: 逗号分隔符文件. Ø TSV: 以空格或者以制表符分隔的文件. Ø XML: XML格式. Ø W3C: W3C格式. Ø NCSA: NCSA格式. Ø TEXTLINE: 普通文件文件. LogParser可以按行返回内容 Ø TEXTWORD: LogParser可以把按字返回内容. [...]
[转载]发现并解决ASP.NET内存耗尽(OOM),让服务器”永不重启” – koumi-blogs – 博客园. ========下面的一堆文字为了说明一件事情—.NET程序,内存溢出,如何控制.主要是堆HEAP大小如何控制以及优化.以减轻GC突发性负担及这个时候服务器当机的可能*. 对 于大型程序,完全依赖GC是不现实的,对于高负载服务器,往往我们80%的堆都由自己的析构函数接管,并辅助以自行设计的bufferpool接管堆释放 工作以达到HEAP可控的目的,减少CPU突发性负荷(CPU尖峰).虽然不像C那样可以控制的那么完全,但是多多少少对OOM的发生起到抑制作用,深入 下去可以完全避免OOM……好了IF性能和内存开销没什么追求的 THEN 就不必看了,,,, ELSE GO ===================== 1.下个windbg,去baidu google一下即可.. 2.sos.dll 这个框架自带,只所以提下,是让大家有搜索的关键字用. 3.泄露,对于.net程序,主要是堆泄露,对于大型服务器程序,需要严格排查OOM(内存泄露)的问题,节约服务器GC开销,内存开销,cpu开销,提高支撑 4.配置环境变量 添加系统变量 _NT_DebugGER_EXTENSION_PATH C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 这个是为了能够找到sos.dll 5.实战 启动windbg,开启调试窗口,加载用于.NET调试所使用的sos.dll .load sos 回车之后无任何显示表示无任何错误,这个时候就可以运行调试命令了. 需要说明的是.打头的是windbg自带命令,!打头的命令是sos.dll调试命令. 显示GC堆占用情况命令 !dumpheap -stat 大概会显示这些:对象表,对象数量,每个对象内存占用情况…等,如下: ——————— 0:000> !dumpheap -stat Statistics: MT Count TotalSize Class Name 7a787cc4 1 12 System.IO.FileSystemWatcher+FSWAsyncResult 7a75904c 1 12 System.Diagnostics.OrdinalCaseInsensitiveComparer 7a7575cc 1 [...]

