我如何更新 Nancy Hosting Framework 上的实时内容

How do i update live content on Nancy Hosting Framework

我在 C# 中使用 Nancy Framework,我的视图是从 HTML 文件呈现的。如果我需要更新我的 HTML、CSS 或 JS(内容的一部分)中的代码,我必须经历

这个漫长而烦人的过程
  1. 正在停止 运行ning C# 项目
  2. 正在编辑我的 HTML、CSS 或 JS 文件
  3. 保存更改
  4. 运行 C# 项目
  5. 正在刷新浏览器
  6. 等待与 localhost:8080 的连接建立(这通常在第一个 运行 上需要更长的时间,这更令人讨厌) 7.Finally 我看看是否应用了 CSS 样式...如果没有应用,我必须从 1. 开始整个过程

如果你有更好的方法,请帮助我,如果没有,请向我解释为什么我总是要多等几秒钟才能让 C# 项目的第一个 运行 开始允许连接在浏览器上。

Nancy 不缓存 CSS 或 JS 文件,当它们存在于 Content 文件夹下时,或者如果您在静态约定中明确设置它们,它们就是传递文件。

要禁用视图缓存,只需在引导程序中禁用缓存即可:

StaticConfiguration.DisableCaches = true

编辑:

根据您的评论:

https://github.com/richorama/Jukebox/blob/master/Jukebox/Controllers/Home.cs#L11

namespace Jukebox.Controllers
{
    public class Home : NancyModule
    {
        public Home()
        {
            Get["/"] = x =>
            {
                return Response.AsFile("default.htm");
            };
        }    
    }
}

这将在每次请求时从磁盘加载 htm 文件。所以我不完全确定您 运行 遇到了什么问题。 None-the-less 尝试禁用缓存。

此外,仅当您 运行在发布模式下编写代码时才启用缓存...

编辑 2:

因为您使用的是控制台应用程序并且文件被复制到回收站。

https://github.com/NancyFx/Nancy/wiki/The-root-path#changing-the-root-path

创建指向您的开发目录的根路径提供程序的实现。在开发期间将其配置为仅 运行。

您是否获得 HTML、JS 和 CSS 文件的 304 - Not Modified HTTP 状态代码?如果是这样,则文件由浏览器缓存。按照 Phill 的建议在服务器端禁用缓存或禁用浏览器缓存(这可能会适得其反)。