【问题标题】:ASP .NET Development Server not serving everything all the timeASP .NET 开发服务器并非一直为所有内容提供服务
【发布时间】:2009-09-04 12:11:43
【问题描述】:

我在 Windows XP SP3 机器上使用 Visual Studio 2005,最近遇到了一些奇怪的问题。

我有一个 C# 和 ASP.NET 项目,在团队测试服务器上运行良好,并在我自己的机器上本地使用 IIS。但是,使用内置的 Visual Studio ASP.NET 开发服务器运行它似乎并不总是提供所有图像/脚本/css 文件。当我一次加载页面时,图像 A、B 和 C 将丢失,并且我可能会收到系统(子包)错误,但是再次加载它时,所有这些图像都将在那里并且子包将起作用,但 CSS、a脚本或任何其他图像文件可能丢失。

Windows 事件应用程序日志似乎偶尔会记录丢失的文件,但这也不一致。

【问题讨论】:

    标签: asp.net visual-studio iis


    【解决方案1】:

    这一直发生在我身上;我认为原因是 ASP.NET 开发服务器不是一个很好的 HTTP 服务器,当接收到太多请求时,它会丢弃一些。

    由于也非常非常慢,所以我配置了vs2008(当然vs2005也可以)使用ASP.NET进行调试;这样效果会好很多。

    要做到这一点:

    项目 -> 属性 -> Web(最后一个选项卡)-> 服务器。有三种选择: 使用 Visual Studio 开发服务器;使用本地 Web IIS;使用自定义 Web 服务器。选择第二个。 (不确定确切的英文名称:我有意大利版本的 VS)。

    【讨论】:

    • 你的意思是 IIS 用于调试?当然本地开发服务器很弱。
    • 你是什么意思?在本地 IIS 上运行意味着如果我更改/添加 C# 部分,我将无法再调试它(在运行时),因为它显然没有连接到 Visual Studio。
    • 就可以调试了(断点、分步运行等等);我编辑解释了如何做到这一点。
    • 没错,我在我的机器上使用 IIS 而不是开发服务器,它运行良好。
    • 感谢 giorgian 成功了。 VS2005 中没有这些选项,但我找到了等效设置:网站 -> 启动选项 -> 使用客户服务器。然后将其设置为 IIS 工作版本所在的位置,例如localhost/myproject。我必须在 IIS 位置启用 Windows 身份验证,以允许 VS 在服务器上启动和调试。
    【解决方案2】:

    在 Firefox/Firebug 或 IE8 中检查页面,查看文件/脚本/图像的路径是否正确。在本地开发网络服务器和 IIS 托管页面之间切换时的一个常见问题是路径可能无法解析相同。您有时可以通过在 asp 代码中的路径前使用“~”字符来解决此问题。

    【讨论】:

    • 它是完全相同的项目代码和一切,所以图像都在正确的位置,路径是正确的,它似乎没有出于任何原因加载它们。
    • 它们可能在项目中的相同位置,但网络服务器为它们提供不同的服务。来自根的虚拟本地开发人员的 IIS。这有时会导致路径问题。
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2017-01-11
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多