问题标签 [nancy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2500 浏览

nancy - NancyFx 使用嵌入式视图

我正在尝试利用 NancyFX 的嵌入式视图功能,但无法实现。我用过那个例子。但是,看起来南希并没有ResourceViewLocationProvider用来定位我的视图。

我的引导程序配置,

我的模块,

Login.cshtml 放在 /Views/Account/Login.cshtml 下并标记为嵌入资源。

如果我运行应用程序,我会得到 HTTP 500。在我看来,它试图在文件系统而不是程序集资源上找到它。

Nancy.RequestExecutionException:哦,不!---> Nancy.ViewEngines.ViewNotFoundException:无法找到视图“Login.cshtml”当前可用的视图引擎扩展:sshtml、html、htm、cshtml、vbhtml 检查的位置:Login.cshtml、views/Login.cshtml、views/account /Login.cshtml,account/Login.cshtml,views/Account/Login.cshtml,Account/Login.cshtml 根路径:D:\Development\Projects\candidate.net\src\Candidate.Nancy.Selfhosted\bin\Debug at Nancy.ViewEngines.DefaultViewFactory.GetRenderedView(String viewName, Object model, ViewLocationContext viewLocationContext) at System.Dynamic.UpdateDelegates.UpdateAndExecute4[T0,T1,T2,T3,Tret](CallSite 站点, T0 arg0, T1 arg1, T2 arg2, T3 arg3) 在 Nancy.ViewEngines.DefaultViewFactory.RenderView(String viewName, Object model,
在 Nancy.NancyEngine.ResolveAndInvokeRoute(NancyContext context) 在 Nancy.NancyEngine.InvokeRequestLifeCycle(NancyContext context, IPipelines pipelines) --- 内部异常堆栈跟踪结束 ---
在 Nancy.NancyEngine.InvokeOnErrorHook(NancyContext context, ErrorPipeline pipeline, Exception ex )

更新:此问题已在 Nancy 0.12.1.0 中解决。

0 投票
1 回答
540 浏览

unit-testing - Nancy.Testing 是否支持嵌套的 Razor 视图?

我有一个单元测试,它尝试使用不正确的凭据登录,并检查生成的响应正文中是否有某些特定的“错误框”html。这工作得很好。

我的页面变得有点重复,所以我重新组织了一些东西来创建一组简单的嵌套剃刀视图,如下所示:

登录视图

_Master 视图

这仍然有效,我的单元测试仍然通过(请耐心等待)。时间过去了,代码变得越来越复杂,所以现在我需要重新组织一下。我在剃刀视图中添加了另一层嵌套。

_Page 视图

双重嵌套如下所示:

登录 -> _Page -> _Master

现在我的单元测试失败,因为响应不包含正确的 html。在真实浏览器(chrome)中运行代码并手动提供不正确的凭据会产生正确的响应,只有单元测试失败。

向下钻取以response.Body.responseDocument.agilityPackDocumentInternal.DocumentNode.InnerHtml显示此异常:

错误编译模板:(15, 11) 找不到类型或命名空间名称“XXXX”

将 SignIn 视图重新指向使用 _Master 作为其布局(切掉中间的 _Page 视图)使单元测试再次通过。

然而 _Page 视图在代码方面没有做任何事情,它只是添加一些<script><style>标签并传递接力棒。为了测试这些标签是否有问题,我将它们转移到 _Master 视图并将嵌套保持在一个级别(SignIn -> _Master)并且测试通过了。

那么,是否Nancy.Testing支持两级剃须刀布局嵌套?否则,有人能发现我的错误吗?

谢谢你

PS我不知道它是否已连接但我怀疑视图缓存可能是问题(在阅读测试驾驶南希模块之后)我检查了值,Nancy.StaticConfiguration.DisableCaches果然,它被设置为false(尽管我的DEBUG符号被打开并运行调试模式下的测试)。我在我的自定义单元测试 BootStrapper 类中将此值设置为 true,但这没有任何区别。

0 投票
1 回答
1562 浏览

asp.net-mvc - 在 IIS 7 中将 MVC 2 应用程序添加到 Nancy 站点

在 IIS 7 中,我使用 Nancy 项目创建了一个网站。然后,我使用 alias 向站点添加了一个 MVC 2 应用程序api。我能够完美地访问 Nancy 项目中定义的路线。但是,当我访问 时/api,出现以下错误:

似乎 MVC 2 应用程序正在尝试使用 NancyHttpRequestHandler 来处理请求。我这样说是因为 Nancy 应用程序中未定义的路由会显示 404 页面。

我尝试了几件事:

  1. 对于Web.configMVC 2 应用程序,我在<system.web/>块中添加了以下内容:

    /li>
  2. 对于Web.configNancy 应用程序,我在<system.web/>块中添加了以下内容:

    /li>
  3. 我还尝试在两个应用程序中玩弄<system.webServer/>和块中的设置。<system.serviceModel/>

当 MVC 2 应用程序嵌入到 IIS 7 的 Nancy 站点中时,如何让其正常运行?任何指导将不胜感激。

0 投票
1 回答
1073 浏览

unit-testing - 当 @using 语句包含在剃刀布局中时,为什么 Nancy.Testing 会失败?

在上一个问题中,Nancy.Testing 是否支持嵌套的 Razor 视图?我概述了在呈现嵌套剃刀布局时 Nancy 单元测试失败时遇到的困难。

经过调查,我现在可以细化该信息。问题与嵌套无关,它很简单:如果您在 razor 布局或视图中包含 @using 语句,那么如果从单元测试访问,Nancy 将无法找到引用的命名空间。

例如:

主布局

看法

如您所料,这很好用。但是,如果我们现在在主布局中添加一些服务器端处理,因此需要 @using 语句,那么单元测试会失败(代码运行正常,只有单元测试失败):

错误编译模板:(15, 11) 找不到类型或命名空间名称“uMentor”。

带有服务器端代码的主布局

我已确保我的 web.config(网站项目和单元测试项目)具有正确的 razor 程序集和提到的命名空间:

网页配置

剥离一切,我可以构建最简单的“hello world”视图 -> 布局,其中没有任何内容,没有代码。单元测试通过(响应正文中包含正确的 html)。然后我在视图或布局的顶部添加了一个冗余的@using 语句,测试失败(响应正文包含上面的错误消息)。

仅使用 @using 的主布局 - 失败

因此,证据表明,将 @using 语句放入 razor 视图或布局会导致 razor 编译错误,该错误会静默失败,并在响应正文中返回错误消息。只有当您的测试碰巧检查了正文内容时,您才会发现存在问题。

感谢您的任何帮助。

0 投票
1 回答
324 浏览

asp.net-mvc - 如何在 Nancy 中复制 ASP.NET MVC 的 RenderAction?

我正在考虑将现有的 ASP.NET MVC3 应用程序移植到 Nancy 上。

该应用程序目前大量使用 html 帮助程序扩展 RenderAction。

我不知道如何在 Nancy 中复制这种行为。有任何想法吗?

0 投票
2 回答
1388 浏览

structuremap - 结构图南希引导程序

我正在尝试使用结构映射引导程序https://github.com/NancyFx/Nancy.Bootstrappers.StructureMap引导 nancyfx

这是我的设置:

当我使用var repo = ObjectFactory.GetInstance<IRepository>();时,我得到了这个异常:

0 投票
1 回答
3149 浏览

configuration - 使用 Fluent Validation 配置 NancyFx

是否必须在应用程序 Bootstrapper 中添加任何配置代码才能在 Nancy 中启用 FluentValidation?

按照https://github.com/NancyFx/Nancy/tree/master/src/Nancy.Demo.Validation中的示例,我在尝试使用 this.Validate on model 时收到以下异常消息:无法找到模型验证器工厂.

我正在使用 Nancy 版本 0.11.0.0

0 投票
3 回答
1612 浏览

authentication - 每个路由的 NancyFx 身份验证

从我在源代码中看到的 RequiresAuthentication() 对整个模块进行身份验证检查。每条路线有没有办法做到这一点?

0 投票
2 回答
984 浏览

ravendb - 解决构造函数对 NancyFX 中使用的服务的依赖

我有以下引导程序

当我的 Nancy 应用程序尝试使用以下构造函数实例化 BlogService 时

应用程序爆炸说它无法解析文档会话,我还在我的测试方法中尝试了以下操作(删除构造函数注入)。

这也炸了,指出它无法解析documentSession。

现在这是我第一次使用 NancyFX 或 TinyIoC,所以我可能会做一些根本错误的事情,尽管我应该提到 documentSession 确实在 Nancy 模块中解析..

任何人都可以提供修复或一些建议吗?

0 投票
1 回答
3054 浏览

c# - 如何在 Nancy 中针对 Active Directory 进行身份验证?

这是一篇过时的文章,但http://msdn.microsoft.com/en-us/library/ff650308.aspx#paght000026_step3说明了我想要做什么。我选择Nancy作为我的 Web 框架,因为它简单且不那么正式。因此,我需要一种使用Nancy对 Active Directory 进行身份验证的方法。

在 ASP.NET 中,您可以通过 web.config 文件中的一些设置在基于 db 的成员资格提供程序和 Active Directory 之间切换。我并不特别需要那个,但是在开发和生产之间切换的能力会很棒。

如何才能做到这一点?