问题标签 [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.
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 中解决。
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,但这没有任何区别。
asp.net-mvc - 在 IIS 7 中将 MVC 2 应用程序添加到 Nancy 站点
在 IIS 7 中,我使用 Nancy 项目创建了一个网站。然后,我使用 alias 向站点添加了一个 MVC 2 应用程序api
。我能够完美地访问 Nancy 项目中定义的路线。但是,当我访问 时/api
,出现以下错误:
似乎 MVC 2 应用程序正在尝试使用 NancyHttpRequestHandler 来处理请求。我这样说是因为 Nancy 应用程序中未定义的路由会显示 404 页面。
我尝试了几件事:
对于
/li>Web.config
MVC 2 应用程序,我在<system.web/>
块中添加了以下内容:对于
/li>Web.config
Nancy 应用程序,我在<system.web/>
块中添加了以下内容:我还尝试在两个应用程序中玩弄
<system.webServer/>
和块中的设置。<system.serviceModel/>
当 MVC 2 应用程序嵌入到 IIS 7 的 Nancy 站点中时,如何让其正常运行?任何指导将不胜感激。
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 编译错误,该错误会静默失败,并在响应正文中返回错误消息。只有当您的测试碰巧检查了正文内容时,您才会发现存在问题。
感谢您的任何帮助。
asp.net-mvc - 如何在 Nancy 中复制 ASP.NET MVC 的 RenderAction?
我正在考虑将现有的 ASP.NET MVC3 应用程序移植到 Nancy 上。
该应用程序目前大量使用 html 帮助程序扩展 RenderAction。
我不知道如何在 Nancy 中复制这种行为。有任何想法吗?
structuremap - 结构图南希引导程序
我正在尝试使用结构映射引导程序https://github.com/NancyFx/Nancy.Bootstrappers.StructureMap引导 nancyfx
这是我的设置:
当我使用var repo = ObjectFactory.GetInstance<IRepository>();
时,我得到了这个异常:
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
authentication - 每个路由的 NancyFx 身份验证
从我在源代码中看到的 RequiresAuthentication() 对整个模块进行身份验证检查。每条路线有没有办法做到这一点?
ravendb - 解决构造函数对 NancyFX 中使用的服务的依赖
我有以下引导程序
当我的 Nancy 应用程序尝试使用以下构造函数实例化 BlogService 时
应用程序爆炸说它无法解析文档会话,我还在我的测试方法中尝试了以下操作(删除构造函数注入)。
这也炸了,指出它无法解析documentSession。
现在这是我第一次使用 NancyFX 或 TinyIoC,所以我可能会做一些根本错误的事情,尽管我应该提到 documentSession 确实在 Nancy 模块中解析..
任何人都可以提供修复或一些建议吗?
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 之间切换。我并不特别需要那个,但是在开发和生产之间切换的能力会很棒。
如何才能做到这一点?