Nancy 未能在自定义约定中找到静态内容

2024-01-29

我已经设置了一个 Nancy 引导程序来从非默认目录路径(它是自托管的 Nancy)提供静态内容。

奇怪的是,以下内容适用于自定义视图位置约定,但不适用于 js 或 css 静态内容约定(是的,文件和文件夹都存在于这些位置!)。我尝试解决此问题的尝试进一步复杂化,因为我还没有弄清楚如何记录未找到静态内容时发生的错误。

using System;
using System.IO;

using Nancy;
using Nancy.Conventions;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;

namespace MyApp
{
    public class ApplicationBootstrapper : DefaultNancyBootstrapper
    {

    private const string RELATIVE_PATH_TO_SOURCE = @"../static/MyApp/";

    protected override void ConfigureConventions(NancyConventions nancyConventions)
    {

        nancyConventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("js", string.Concat(RELATIVE_PATH_TO_SOURCE, "Scripts/")));
        nancyConventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("css", string.Concat(RELATIVE_PATH_TO_SOURCE, "Content/")));
        this.Conventions.ViewLocationConventions.Add((viewName, model, context) =>
        {
            return string.Concat(RELATIVE_PATH_TO_SOURCE, "Views/", viewName);
        });
        this.Conventions.ViewLocationConventions.Add((viewName, model, context) =>
        {
            return string.Concat(RELATIVE_PATH_TO_SOURCE, "Views/", context.ModuleName, "/", viewName);
        });

        base.ConfigureConventions(nancyConventions);
    }

    protected override IRootPathProvider RootPathProvider
    {
        get
        {
            return new MyRootPathProvider();
        }
    }

    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        pipelines.OnError += (ctx, ex) =>
        {
            Console.WriteLine("RootPath : {0}", DebugRootPathProvider.RootPath);
            Console.WriteLine("Unhandled error on request: {0} : {1}", ctx.Request.Url, ex.Message); //HACK
            Console.WriteLine(ex.StackTrace); //HACK poor man's logging
            return null;
        };
    }
}

public class MyRootPathProvider : IRootPathProvider
{
    public static readonly string RootPath;
    static MyRootPathProvider()
    {
        RootPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
    }

    public string GetRootPath()
    {
        return RootPath;
    }
}
}

The output from Chrome and ProcMon is as follows: ProcMon output Google Chrome output

我应该如何:

  1. 未找到 js 和 css 文件时发生日志错误?
  2. 使用静态文件约定解决 404 错误?

您可以使用而不是记录sysinternals进程监视器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx并查找 nancy 进程(exe 或 IIS 工作进程)正在尝试读取哪些文件。

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

Nancy 未能在自定义约定中找到静态内容 的相关文章

  • 让 CORS 与 Nancy 一起工作

    我正在尝试获取与 Nancy 和 CORS 合作的所有类型的请求 目前我在请求末尾添加了一个管道 pipelines AfterRequest AddItemToEndOfPipeline ctx gt ctx Response WithH
  • 使用 Nancy TinyIoC 配置 JsonNetSerializer 和 JsonNetBodyDeserializer

    我对南希来说是个菜鸟 我一直使用它作为生成 REST API 的框架 我熟悉 Json NET 所以我一直在玩Nancy Serialization JsonNet包裹 我的目标 自定义行为 即更改设置 JsonNetSerializer
  • EntityFramework DbContext 生命周期 + Postgres:“操作已在进行中。”

    这几天我一直在搞乱以下内容 我有一个在 Mono 上运行的 Nancy 应用程序 带有带有存储库模式和 UnitOfWork 的 EntityFramework 以及 Postgres Nancy 使用 TinyIoC 作为 IoC 容器
  • 如何在南希显示我的 404 页面?

    我需要像这样在 Nancy 显示我的 404 错误页面 if ErrorCode 404 return View 404 html 怎么做 nemesv 的答案是正确的 但我只想添加一个使用 ViewRenderer 而不是 Generic
  • 如何拦截所有 Nancy 请求

    我看过这个帖子 南希 如何捕获所有请求 无论动词或路径如何 https stackoverflow com questions 17591494 nancy how do i capture all requests irrespectiv
  • SSL:NancyFx Selfhost Mono Linux (pi)

    我是 linux PI 和 mono 的新手 对新手问题表示歉意 如何在 mono linux pi 上通过 https 运行 NancyFx 架子主机 如果我能够使用 OpenSsl cer 文件 创建证书 如何将其分配给端口 在文档中展
  • Nancy (C#):如何获取我的帖子数据?

    我正在使用 Corona SDK 将数据发布到我的 C 服务器 headers Content Type application x www form urlencoded headers Accept Language en US loc
  • 为什么在 RavenDB 中存储 Nancy.DynamicDictionary 只保存属性名称而不保存属性值?

    我正在尝试保存 RavenDB build 960 通过其内置传递到 Nancy 模块的表单数据项的名称和值Request Form 如果我保存一个简单的实例dynamic对象 带有测试属性和值 然后一切正常 并且属性名称和值都被保存 但是
  • Nancy 绑定时的最大 JSON 长度异常

    我有一个简单的 Nancy 自托管 C 项目 它反序列化 NancyModule 中的数据 如下所示 Post build something gt var data this Bind
  • 如何管理 WorldDomination 和 Nancy 的身份验证?

    我正在尝试让社交身份验证在 asp net 托管中工作Nancy http www nuget org packages Nancy 网络应用程序使用Nancy 的 WorldDomination SimpleAuthentication
  • 在响应中返回 HttpStatusCode

    有没有一种简单的方法可以为我的 api 返回 HttpStatusCode 我找到了一种稍微更详细的方法来做到这一点 return Response AsJson new object HttpStatusCode NoContent 我已
  • 如何在 NancyFX 中写入流输出?

    我正在使用 Nancy 编写一个简单的 Web 应用程序 至少一个请求会导致长度未知的流 因此我无法提供Content Length 我想用Transfer Encoding chunked 或 在这种情况下同样可以接受 Connectio
  • 使用 NancyFX 进行模型验证

    我真的很习惯 ASP NET MVC 方法 用相应的属性注释模型 MVC 验证它并更新 ModelState Errors ModelState 在视图上可用 因此可以向用户显示错误 我还没有找到相关信息wiki https github
  • 使用 Nancy 返回包含有效 Json 的字符串

    我从另一个服务收到一个包含有效 JSON 的字符串 我只想与 Nancy 转发此字符串 但还将内容类型设置为 application json 这将使我无需在客户端使用 parseJSON data 如果我使用 Response AsJso
  • 使用 NancyFX 时出现 Razor 编译错误

    我正在使用 Nancyfx 和 Visual Studio 2012 中的 Razor 视图引擎在 C 中创建一个黑杰克程序 Visual studios Intelisense 可以工作 但我收到这些 Razor 编译错误 我尝试在 ap
  • Nancyfx 通过 HTTPS 自托管

    我尝试以自托管模式启动 nancyfx 网络服务器 执行以下代码时一切正常 public static void Main string args var hostConfig new HostConfiguration UrlReserv
  • 不使用 razor viewengine 进行 Nancy 本地化

    目前我在 Nancy 使用 razor 作为我的视图引擎 我可以在剃刀中像这样访问我的资源文件 Text text greeting 但我想切换到不同的视图引擎 是否有其他支持 TextResource 的视图引擎 在超级简单的视图引擎中本
  • 试驾 Nancy 模块

    好的 我喜欢 NancyFx 用这么几行代码编写一个 Web 应用程序真是太棒了 但是如何在单元级别上测试驱动 NancyModule 请注意 我知道优秀的测试框架 https github com NancyFx Nancy wiki T
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • Nancy 模型绑定到子类

    我们遇到了 Nancy 的默认模型绑定器问题 鉴于以下 public class Foo public Foo public string Name get set public Bar Bar get set public class B

随机推荐

  • @JvmDefault 以及如何添加编译器选项

    我需要做一个default voidKotlin 接口中的方法 我遇到了一个问题 有一个提示说的用法 JvmDefault只允许与 Xjvm default option 我需要在哪里写这个Xjvm default Target Annot
  • 从Unity3D代码启动android服务

    在我的 Android Unity3D 应用程序中 我需要启动一个服务 该服务将在后台运行 我不知道我该怎么做 方法启动服务 必须在活动上调用 但我不知道如何将当前的统一活动从统一脚本传递到我的 android 插件 我还没有找到任何方法以
  • 如何在ggplot中为facet_grid标签包装文本

    我一直在寻找如何换行文本 似乎应该有一种方法可以使用 labeller label wrap gen 3 但我不断收到错误 边距错误 vars 边距 未使用的参数 边距 这是我的代码的一部分 simpson by protected sta
  • 如何使用扩展方法将附加数据与现有对象相关联?

    自 NET Framework 3 5 以来 开发人员已经能够添加可从任何对象类型的实例调用的扩展方法 然而 扩展属性尚未在 C 中实现 与扩展方法不同 扩展属性将涉及为各个对象存储一些额外的状态信息 然而 即使对于扩展方法 在某些编程场景
  • gcc 不接受具有通过嵌套模板化 using 子句定义的非类型模板参数的成员的外线定义

    标题看起来很复杂 但我们的测试用例实际上是真实案例的最小示例 我们有一些代码想要根据模板参数选择方法的实现 我们在清理过程中定义了条件enable if t使用 using 子句 并且下一步想要将定义排除在外 这产生了以下代码 includ
  • 当发生段错误时不调用信号处理程序?

    下面是我的程序的运行方法 出现了由于出现段错误导致程序终止时未调用注册的处理程序的情况 是否存在当发生段错误时可以终止注册的处理程序而无需调用的情况 初始化程序A时 通过signal 函数注册处理程序 SIGSEGV SIGABRT SIG
  • PHP/GD 高斯模糊效果

    我需要使用 PHP 和 GD 混淆图像的某个区域 目前我使用以下代码 for x GET x1 x lt GET x2 x pixel for y GET y1 y lt GET y2 y pixel ImageFilledRectangl
  • Java 通用构建器

    假设我需要一些DerivedBuilder延长一些BaseBuilder 基础构建器有一些方法 例如foo 返回BaseBuilder 派生构建器有方法bar 方法bar应该在方法之后调用foo 为了做到这一点我可以覆盖foo中的方法Der
  • Chrome 的开发工具或 Firebug 中是否存在“设置下一条语句”功能?

    IE 的开发工具 更具体地说是其 JavaScript 调试器 提供 设置下一条语句 命令 使您能够指定接下来应执行哪条语句 这样 您可以有效地跳过函数的某些部分 甚至 再次有效地 提前从函数返回 那么 对于这个函数 function te
  • 如何在iReport中设置整个页面的背景颜色?

    我使用的是 iReport 3 7 4 我想为整个页面设置背景颜色 我没有找到任何背景颜色的报表属性 有人能帮我吗 您可以在以下帮助下解决问题Background Band 我已经把staticText元素上Background Band并
  • 在 Django 管理中,有没有办法显示模型的一对多对象的实际链接列表?

    如果这太复杂或不是正确的做事方式 请随时将我链接到其他内容 或者只是告诉我应该以另一种方式做 基本上 我正在开发一个有客户的项目 每个客户都附加了任意数量的网站 因此 网站模型有一个到客户端模型的外键 网站管理页面非常深入 每个客户端可能有
  • 升级到Xcode4.5 iOS6 Base SDK后运行时异常

    我最近升级了我的代码库以使用 iOS6 Base SDK 我正在使用 XCode 4 5 我只需要将 dylibxml2 2 3 7 更改为 dylibxml2 2 在6 0模拟器上运行良好 我正在使用像 GoogleAnalytics T
  • Celery 无法启动 EOFError('Ran out of input')

    一切都工作得很好 直到 celery beat v3 1 18 Cipater is starting Configuration gt broker gt amqp user staging api user app com 5672 l
  • 将纬度和经度转换为公里

    我正在构建应用程序 我可以在其中获取用户的latitude and longitude使用下面的代码 p Click the button to get your coordinates p
  • 在 Javascript/jQuery 中克隆事件对象[重复]

    这个问题在这里已经有答案了 如何创建一个完全独立的新事件对象 其中包含与给定事件对象完全相同的所有属性e 到目前为止 我已经尝试过以下方法 但没有运气 function myHandler e e e originalEvent metho
  • React+Flux:通知视图/组件操作失败?

    我正在编写一个注册表组件 当表单提交时 它会触发创建用户操作 createUser 操作通过 ajax api 调用创建一个新用户 如果用户已存在 则触发的用户操作将失败 我们知道我们无法从 ajax 调用返回响应 我们需要一个回调 我如何
  • 使用 Flexbox 填充剩余空间

    我希望中间行像其他网站一样填满整个浏览器 所以即使内容很少 我也希望中间的行填满整个空间 这是CSS import compass css3 wrapper display webkit box display moz box displa
  • 如何在 Tkinter 中将小部件放置在 Canvas 小部件中?

    我基本上希望能够使用Canvas作为其他小部件的元容器 我想将我的 GUI 分为左侧 中间和中间部分 在每个部分中我希望能够place小部件如 Checkbutton Button Label etc 如何将小部件放置在 Canvas 小部
  • 什么是大 O 表示法? [复制]

    这个问题在这里已经有答案了 可能的重复 大O的简单英语解释 https stackoverflow com questions 487258 plain english explanation of big o 我知道 Big O 表示法用
  • Nancy 未能在自定义约定中找到静态内容

    我已经设置了一个 Nancy 引导程序来从非默认目录路径 它是自托管的 Nancy 提供静态内容 奇怪的是 以下内容适用于自定义视图位置约定 但不适用于 js 或 css 静态内容约定 是的 文件和文件夹都存在于这些位置 我尝试解决此问题的