IIS Express 为每个请求加载和卸载模块

2023-11-24

我们有一个 ASP.NET 项目在调试时使用 IIS Express。启动VS2013,然后加载解决方案,构建解决方案并在调试模式下启动Web应用程序后,输出窗口列出了一堆已加载和卸载的DLL。经过一番搜索后,我发现 IIS Express 会为每个请求重建站点。这是输出窗口的一小部分:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Web.Entity.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\App_Web_dqpvaqg5.dll'. 
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\App_Web_global.aspx.cdcab7d2.bocgg9o6.dll'. 
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\App_Web_global.aspx.cdcab7d2.kvvdlbnf.dll'. 
'iisexpress.exe' (CLR v4.0.30319: Domain 15): Unloaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Unloaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll'
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Unloaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-14-130719418943209850): Unloaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'

查看它所说的行域15?那是因为池重新启动了 15 次!

此外,一个重要的事实是解决方案源和输出二进制文件都存储在映射驱动器中。该驱动器驻留在我们的网络上。

现在我已经尝试了网上能找到的一切:

  • 删除项目中的所有断点
  • 在本地缓存目录中加载符号(在“工具”->“选项”->“调试”->“符号”中)
  • 以及其他一些不起作用的解决方案

在互联网上阅读了一些内容后,我发现这可能与应用程序启动时更改的文件有关,并且 IIS Express 必须重新编译应用程序才能使更改生效。但事实就是这样,启动应用程序时没有文件被更改。

经过更多阅读,我发现当应用程序二进制文件驻留在网络驱动器上时,启动应用程序时文件的时间戳可能会更改,这会导致 IIS Express 重新编译应用程序,即使文件的内容没有更改。于是我尝试寻找解决这个问题的办法,有几个人说把开发电脑与网络断开,等几秒再重新连接网络!是啊,对...

我没有解决方案,所以我尝试了这个牵强的解决方案。你瞧!有效!!!不再需要重新启动应用程序!输出窗口现在如下所示:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\App_Web_erxb23tr.dll'. 
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mobile\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\assembly\dl3\a0da26c9\85d61bc1_9668d001\CalculsWrapper.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\assembly\dl3\a0da26c9\85d61bc1_9668d001\CalculsWrapper.DLL'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\assembly\dl3\95fa9a38\65cf12c4_9668d001\HardLockWrapper.dll'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\ca0ssnc\AppData\Local\Temp\Temporary ASP.NET Files\vs\f3da8155\99ebd29d\assembly\dl3\95fa9a38\65cf12c4_9668d001\HardLockWrapper.DLL'. Symbols loaded.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-130719436820489369): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

不再有 DLL 被卸载。应用程序不再重新启动(请参阅默认域总是被使用)。现在的问题是每次重启VS2013都会出现这个问题。每次重新启动 VS2013 时,我都必须断开并重新连接网络连接。

另外,另一个重要事实:我使用 Web Essentials for Visual Studio 2013 Update 4。当我禁用此扩展时,就不再有问题了!应用程序不会重新启动,我不需要断开网络。所以问题可能出在这个扩展上。

现在有人可以告诉我,我断开网络连接、Web Essentials 和因任何原因更改的 Web 应用程序文件的时间戳之间到底有什么关系?


确保您从本地驱动器运行该解决方案。

我遇到了同样的问题。每个请求都非常慢,甚至只是返回代码 200 结果,或者加载图标。

输出窗口显示出与OP描述的类似的症状。

我从映射驱动器运行我的解决方案(即使映射指向本地驱动器)。

从本地驱动器运行它直接解决了问题。感谢 @Simon Senécal 对另一个答案的评论,它为我指明了正确的方向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS Express 为每个请求加载和卸载模块 的相关文章

  • 本地权威声明和外部提供商声明的混淆

    我正在创建一个简单的 WebApi 它允许用户与 Facebook 连接 当我从 facebook 获取 accessToken 时 我调用 RegisterExternal 创建 Asp Net Identity 记录并存储令牌中的声明
  • 如何使用 Visual Studio 2013 和实体框架将控制器添加到 ASP.NET MVC?

    当我使用 ASP NET MVC 5 0 和 Entity Framework 6 0 在 Visual Studio 2013 中添加控制器时 出现错误 我已经添加了一些控制器并生成了视图 但是在添加数据表包之后 我收到了此类错误 Err
  • 使用 Javascript 删除 HTML 表格行

    我正在使用下面的代码使用 javascript 删除 HTML 表行 但它给了我错误 使用下面的代码 我在运行时使用 javascript 创建一个列 其中包含删除锚标记 var tbody document getElementById
  • ServerManager 构造函数在测试环境中崩溃

    我正在 MVC 4 中构建一个控制应用程序 遇到了一个非常烦人的问题 当我在本地调试项目时 它工作正常 但是 当我将项目部署到测试服务器 Windows Server 2008 R2 时 出现以下换行符 ServerManager mana
  • 我可以根据角色隐藏/显示 asp:Menu 项吗?

    我可以隐藏某些菜单项吗asp Menu基于角色的控制
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • 如何为网站创建 RSS feed?

    我开发了一个网络应用程序 现在我想为我的网站创建 Rss 提要 在我的应用程序中 我有一个名为电影新闻的模块 其中包含电影明星的最新新闻 现在我想为该模块创建 RSS 提要 该新闻包含标题和描述 如何为我的应用程序创建 RSS 源 这是我用
  • “$(document).ready”函数的替代方案

    我在 aspx 页面中使用 fancybox 对于灯箱 文档就绪功能在此页面中不起作用 有人告诉我编写一个新的 JavaScript 代码来加载该页面中的灯箱 包括 jQuery 检查网络选项卡 确保您没有收到 404 检查控制台是否没有收
  • ASP.NET MVC区域命名空间问题

    我在我的 asp net mvc 3 解决方案中创建一个名为的新区域admin Visual Studio 自动分配名称空间 MyApp areas admin controllers 我将其更改为MyApp admin controlle
  • ASP.NET中如何访问除wwwroot以外的位置

    我可以使用访问服务器的物理位置Server MapPath 这给了我内部的物理路径wwwroot文件夹 我想将一些数据保存到同一服务器的另一个驱动器中D 驾驶 我想我无法获取以下位置的物理位置D 驾驶使用Server MapPath因为它位
  • Request.Form 和 Request.QueryString 之间的区别?

    有人可以告诉我两者之间的确切区别吗Request Form and Request QueryString 我知道一个区别 比如 如果HTTP请求方式为POST 则用户提交的数据在申请表 收藏 如果HTTP请求方法是GET 则用户提交的数据
  • 将 Web API 添加到 asp.net MVC 项目时出现问题(追溯)

    我正在 Visual Studio 2013 中使用 asp net mvc 迈出第一步 但遇到了一个奇怪的问题 我以 MVC 的形式启动了我的项目 并且没有选中 Web API 框来包含核心参考 不过现在我想使用 Web API 功能 我
  • 将列添加到新的数据行

    是否可以创建一个新的 DataRow 对象并在运行时向其中添加列 How can I specify column names for this data row object DataRow row new DataRow 不 DataR
  • IIS 未使用 PyISAPe 链接到 Django

    我正在尝试在基于 IIS 的服务器上使用 Django 运行网站 我遵循了主网站上的所有说明 http code djangoproject com wiki DjangoOnWindowsWithIISAndSQLServer http
  • 读取 ASP.NET 中分块传输编码的 http 请求的正文

    J2ME 客户端正在使用分块传输编码发送 HTTP POST 请求 当 ASP NET 在 IIS6 和 WebDev exe server 中 尝试读取请求时 它将 Content Length 设置为 0 我想这没问题 因为加载请求时
  • 如何从Windows服务公开restful接口?

    我编写了一个公开restful接口的wcf服务 现在我使用iis作为wcf服务主机 除了暴露其余部分之外 我还需要对我的应用程序执行一些操作 为此 我必须将我的应用程序作为 Windows 服务运行 但是使用iis作为主机不会使我的wcf服
  • 执行多个查询时如何保持连接打开?

    我正在使用多个查询从应用程序中的同一服务器提取数据 问题是每次有新查询时我都必须打开一个新连接 是否有可能 打开连接 运行查询 拉取结果 运行另一个查询 拉取另一个结果 运行最终查询 拉取另一个结果 关闭连接 尽管您可能还不知道 但您的做法
  • Linq 连接两个值

    假设我有一个列表 City State 它最初来自数据库 我有LocationID 但现在我将它加载到内存中 假设我还有一张快餐店表 其中记录了城市和州 我需要获取与城市和州相匹配的机构列表 注意 我尝试描述一个简化的场景 我的业务领域完全
  • 在派生自 Control 的 ASP.NET 自定义控件中呈现自关闭标记

    我正在开发 Facebook FBML 控件库 并希望创建类似于 ASP NET WebControls 库的 FBML 控件 我有一个默认处理渲染的基类 这是我的渲染方法 protected override void Render Ht
  • 如何在运行 ASP.NET 页面时以编程方式设置表格背景?

    我有一个 aspx 页面 其默认背景颜色是一种 当选择单选按钮的某个选项时 我需要能够以编程方式更改它 我尝试设置表的 ID 字段 但似乎无法在 C 代码隐藏文件中访问它 我原来的表是 table style width 100 backg

随机推荐

  • FREETEXTTABLE 的排名始终为 0

    我正在使用 SQLServer 2008 如果我执行以下查询 SELECT FROM FREETEXTTABLE SomeTable Name a name that I know exists 我得到了我期望的行 但排名始终为 0 寻找这
  • 用于参数化继承的元类

    我读过一些关于 Python 元类的教程 我以前从未使用过 但我需要一个来完成相对简单的事情 并且所有教程似乎都面向更复杂的用例 我基本上想创建一个具有一些预先指定的主体的模板类 但将其基类作为参数 由于我从 C D 模板中得到了这个想法
  • 我如何在简单的 php 函数中使用“依赖注入”,我应该打扰吗?

    我一直听到人们谈论依赖注入及其好处 但我并不真正理解它 我想知道这是否是 我始终将数据库连接作为参数传递 问题的解决方案 我尝试阅读维基百科的条目 但该示例是用 Java 编写的 因此我不太清楚它试图阐明的差异 http en wikipe
  • 使用 Win32 处理 Ctrl+C

    I have a Win32 window message loop I want to intercept Copy to clipboard via CTRL C My current approach is to handle it
  • symfony2 文件因表单错误而丢失

    我正在使用与学说相关的文件上传的标准实现 按照 symfony2 网站教程上的示例 当我的上传表单在验证中遇到错误 并将用户发送回带有错误消息的表单时 它会丢失选择上传的文件 尽管如果我 var dump 我的 entity gt file
  • 如何使用正则表达式替换字符串中的最后一个点?

    我正在尝试使用正则表达式替换字符串中的最后一个点 假设我有以下字符串 String string hello world how are you 我想用感叹号替换最后一个点 结果是 hello world how are you 我使用该方
  • 带有自定义 ArrayAdapter 的微调器,适用于不显示所选项目的对象

    我有一个自定义 ArrayAdapter 来表示微调器控件上的对象 我可以加载我的项目 列表并显示它以供选择 但是当实际选择发生时 微调器什么也不显示 活动代码 public MetroData metroData private Spin
  • 为什么某些项目在 Spy++ 的 Windows 视图中呈灰色?

    要修改另一个程序的窗口 我需要找到一个特定的SysTreeView32在其中使用EnumChildWindowsAPI 调用 当我使用 Spy 检查窗口时 有很多SysTreeView32位于其中 但除了我正在寻找的一个之外 所有其他都呈灰
  • Rails:无法提交通过 Ajax 加载的远程表单

    Goal 我有一个包含来自 Rails 后端的项目列表的页面 我希望能够通过 Rails UJS 使用 Ajax 调用来编辑该列表中的一行 Approach 我在每行的末尾添加了一个编辑按钮 编辑按钮是一个link to remote gt
  • 生成随机加权值

    Edit 我重写了这个问题 希望目标更清晰一些 这是这个问题的扩展问题here 我真的很喜欢中提供的功能这个答案 在上面的答案中 我们可以设置达到极限的概率 较高的数字产生较高的概率获得较低的数字 反之亦然 问题是我必须设置 3 组的概率
  • 如何在 Perl 中创建哈希的哈希?

    根据我目前对 Perl 中哈希值的理解 我希望这段代码能够打印 hello world 它什么也不打印 a b b str hello a 1 b b b str world a 2 b print a 1 str a 2 str 我假设哈
  • 如何在Eclipse中设置SplashScreen?

    我的应用程序会在启动主窗口之前加载启动屏幕 如何设置 Eclipse 中运行的启动屏幕 NetBeans 中有一个位置可以放置 splash splashScreen png 以便应用程序可以从 SplashScreen 启动 Eclips
  • 在页面中央显示图像

    我有一个图像 加载图像 我希望该图像显示在页面的中心 我怎样才能做到这一点 我写的代码是 img loading position absolute left 0px top 0px z index 1 如何让该图片始终显示在页面中央 发现
  • TypeScript 编译器对 let 的计算方式与 const 不同

    以下是鲍里斯 切尔尼 Boris Cherny 的第 64 页编程 TypeScript 考虑这样的 JavaScript 函数 function warnUser warning if warnUser wasCalled return
  • 如何使用Android的CacheManager?

    我目前正在开发一个使用 http 请求获取图像的 Android 应用程序 如果我可以缓存这些图像以提高性能和带宽使用 那就太好了 我在 Android 参考中遇到了 CacheManager 类 但我真的不知道如何使用它 也不知道它的真正
  • 在Python中创建一个具有最大长度的空双端队列?

    我正在查看 Python 双端队列的文档 看起来构造函数是deque iterable maxlen 是否没有办法创建一个具有最大长度的空双端队列 即 不指定可迭代对象 您可以直接提供列表文字 因此不必在单独的行上声明任何内容 gt gt
  • 按任意时间间隔对 DateTime 进行分组

    我有一个项目类的 IEnumerable 定义如下 public class Item public DateTime Date get private set public decimal Value get private set pu
  • WPF:将虚拟文件拖放到 Windows 资源管理器中

    我正在开发一个类似于 dropbox 的应用程序 并在 WPF 列表视图上显示远程文件 我想将这些元素拖放到 Windows 资源管理器中 我见过这样的代码 var dataObject new DataObject DataFormats
  • 在 Windows 8.1 中运行 Visual Studio 6 C++

    我最近将系统迁移到 Windows 8 1 不幸的是 像其他人一样 我无法再启动 Visual Studio 6 软件在启动时崩溃 闪屏 我知道有一些解决方法 可以在较新的 IDE 中使用 vc6 进行编译 但这对我不起作用 因为我必须编译
  • IIS Express 为每个请求加载和卸载模块

    我们有一个 ASP NET 项目在调试时使用 IIS Express 启动VS2013 然后加载解决方案 构建解决方案并在调试模式下启动Web应用程序后 输出窗口列出了一堆已加载和卸载的DLL 经过一番搜索后 我发现 IIS Express