问题标签 [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 投票
1 回答
1068 浏览

c# - TinyIoc - 如何配置所有接口注册 AsPerRequestSingleton?

以上是我现有的应用程序启动,其中包含我的 TinyIoc 配置。有没有办法把所有的接口注册都变成 PerRequestSingleton?我不能“一个一个”地做它们,因为我有太多的存储库,而且我不能把它们作为单例,因为它不适用于 NHibernate 的设置方式。

0 投票
1 回答
4451 浏览

.net - NancyFX:带有查询字符串参数的路由总是返回 404 NotFound

我有一个简单的南希模块。我想将查询字符串(qs)参数传递给处理程序。如果我没有任何 qs 参数,一切都很好。一旦我添加了一个参数,我就会返回一个 404 状态码。

南希模块

单元测试 - 通过

单元测试 - 失败

谢谢

0 投票
1 回答
7088 浏览

.net - NancyFX:反序列化 JSON

该文档建议 NancyFx 帮助我完成 json 请求正文的 WRT 反序列化,但我不确定如何。请参阅下面的测试以演示:

0 投票
0 回答
1226 浏览

.net - NancyFx : DateTime 作为请求正文中的 Json

不确定这是一般的 json 问题还是南希特有的问题。我想在请求正文中将日期时间作为 json 传递。使用我用于我的 dto 失败的相同方法。DateTime 是在服务器端创建的,但它是 Datetime.Min 而不是客户端设置的值:

0 投票
11 回答
1628 浏览

python - 非常轻量级的网站框架推荐

我想更新/重写一个小(10 页)的简单网站;8 个页面完全是静态的,可以用 html 编写,1 个页面有联系表,另一个必须显示可过滤的俱乐部列表。目前该站点是用经典的 asp 编写的,并使用 Dreamweaver 模板来实现一致的页面。

我的要求是

  1. 一个“母版页”/模板系统,所以所有共享页面元素都只写在一个地方。
  2. 轻量级/低开销框架
  3. 学习一门新语言

我可以使用 ASP.NET Webforms 或 ASP.NET MVC 来获取母版页,但它们都带来了这样一个小站点不需要的开销,而且在我的 Godaddy 托管上,从冷启动一个站点明显比纯html页面。

俱乐部页面将显示可按位置过滤的俱乐部列表,但我不想使用数据库来存储此列表 - 另一个网站有俱乐部的官方列表,但系统无法提供此列表作为服务或其他消耗性资源,因此我需要定期抓取详细信息并在本地缓存它们或使用 iframe 或其他东西

我想也许 Python 或 django 可能是不错的候选人,但知道的不够多。我现在认为我正在寻找的是一个“微型网络框架”。我快速浏览了一下用 python 编写的Mercurial Web Server,它看起来很简单,但是我无法访问 Go Daddy 上的托管 Web 服务器,所以无法安装 python...

编辑
我需要它在我当前与 GoDaddy 的共享主机上运行(IIS7)

Edit2
俱乐部列表由总部官方网站维护,他们偶尔会添加/删除俱乐部。我只需要让我的清单与他们的清单保持同步。我每隔几个月就会检查一次(如果我记得的话)并更新一个 MS SQL 数据库,但这远远超出了顶部。我正在考虑将详细信息提取为 json 格式并将其保存在文本文件中(每月一次,或其他内容),然后我可以将其用作带有 jQ​​uery 过滤的表的基础。俱乐部详情只是文字;俱乐部名称、主要联系人、电话号码、地址和电子邮件地址。

我还希望发布变得简单,将代码提交给 Mercurial(或 git)并让其运行网站。我知道 bitbucket(和 github)都提供静态页面站点(我不确定如何获得联系我们表格以在该环境中工作 - 但这是我想要的部署模型)

我要更新的网站是Seika Dojo

0 投票
1 回答
1095 浏览

nancy - 在 Nancy 中访问超级简单的视图引擎母版页?

我对我正在从事的项目有特定的要求。我喜欢从服务器端更改母版页的 CSS 和属性。我想更改应用程序的主题。

Nancy - 超级简单的视图引擎:如何在视图中覆盖 MasterPage 的标题?

检查后,我知道如何覆盖母版页的属性。我使用 Nancy 作为 Web 框架和超级简单的视图引擎。这是 Nancy 的默认设置。在这里,根据上一个链接,我需要将主题属性与我传递给视图的每个视图模型一起传递。

所以,我的问题是,除了这个还有什么办法吗?意味着我直接访问数据库以检查主题的当前用户设置并呈现它,并且我的核心应用程序部分保持不变。

如果需要任何进一步的细节,请告诉我。

0 投票
0 回答
1749 浏览

c# - Nancy Ninject 模块构建

我正在尝试使用 Ninject 作为 IoC 容器来测试我的 Nancy 模块。我的问题是我似乎无法让 Nancy 使用我的 IoC 绑定来解析 NancyModule 类型。

我在 Nuget 上使用最新的 Nancy,最新的 Nancy.Bootstrap.Ninject 使用最新的 Ninject 从源代码构建。

我的测试设置如下:

这是我的测试设置,剪断了。现在是我的主机设置(在我的程序集中定义):

我的 IoC 绑定如下:

我想控制 Nancy 模块的构建。我查看了 Nancy 的源代码,看起来对于请求,nancy 向配置的 IoC 容器询问具有适当键的 NancyModule 类型的所有已注册绑定。下面的代码在 Nancy.Bootstrappers.Ninject 程序集中定义

密钥看起来是使用密钥生成器对象生成的:

这就是我的绑定设置为命名绑定的原因。这个想法是,当 Nancy 请求一个命名绑定(对于一个模块)时,它会选择我的命名绑定。

它没有按预期工作。Ninject 抱怨我为 NancyModule 类型设置了多个绑定。

重申一下:我的目标是控制 Nancy 模块的构建。

任何想法将不胜感激。

PS当我谈论将依赖项注入模块时,我会/不/像这个问题一样参考NinjectModules

0 投票
2 回答
1398 浏览

c# - 其他 Nancy.Testing.Browser GET/PUT/POST/DELETE

使用 Nancy 框架... http://nancyfx.org/

如果我想在客户端使用 Browser 对象来使用 Nancy 服务,就像我们在这个例子中看到的:https ://github.com/NancyFx/Nancy/wiki/Testing-your-application

即使我的应用没有测试,我是否必须使用 Nancy.Testing ???换句话说,是否存在像这个对象一样执行 Get、Put、Post 和 Delete 操作的其他浏览器对象???

0 投票
1 回答
678 浏览

singleton - NancyFX:为什么我的 IUserMapper 单例实例化了两次?

我正在尝试实现一个非常简单的 FormsAuthentication 示例。这不是现实生活,但它引发了一个问题。旨在成为应用程序级别单例的 AuthenticationService 似乎被实例化了两次。

这是代码:

我正在使用上面的代码,LoginModule如下所示。请注意,我正在AuthenticationService通过模块的构造函数注入应用程序级单例实例。

What should happen is that when the user POSTs their username and password, these are checked by the AuthenticationService via the GetIdentifier(..) method. If the credentials match then the single GUID identifier is returned. This GUID will always be the same because it is created as a readonly field and thus set once when the singleton AuthenticationService is first instantiated at application startup.

However this is not the case. Instead two distinct instances of the AuthenticationService are created, one that is injected into the LoginModule constructor and used to call the GetIdentifier(..) method and another instance which Nancy uses to call the IUserIdentity.GetUserFromIdentifier(..) method.

These two instances have different GUID identifiers and so the GetUserFromIdentifier(..) method always return null.

I have tested a standard singleton service that does not implement IUserMapper and it works as expected, only one instance is created.

So it seems that Nancy is instantiating the IUserMapper singleton twice, once for its own internal use during FormsAuthentication, and once to inject into my LoginModule constructor!

Can you spot my mistake?

Thanks

0 投票
2 回答
1260 浏览

asp.net - 如何使用 C#5 async / await 从 asp.net 托管模块调用异步进程?

我有一个通过 Nancy Module Get 方法调用的长时间运行的进程。我希望这个调用是异步的,而不是让浏览器在进程运行时挂起,换句话说,我希望 Get 方法立即返回并让长时间运行的进程去做它的事情。然后,我可以定期检查流程的状态并采取相应措施。

我是 C#5 的 async / await 特性的新手,但我确信这些特性仅用于此类任务。下面的代码显示了我的尝试。我已经添加了一些日志记录,证明它没有按预期异步运行。相反,长时间运行的进程会阻止 Get 方法,因此浏览器会挂起。

模块

服务

扩展方法

日志输出

您可以从上面的日志输出中看到LongProcess()阻塞了 Get 模块的返回。如果任务异步运行,我希望日志看起来像这样:

预期日志

我认为实际需要的是把awaitNancyModule Get 方法。可能类似于下面的代码,但我不能这样做,因为我不能将模块构造函数标记为asnyc,所以我不能await在 Get 方法中使用(或者我目前相信)

感谢您提供任何帮助、示例或资源指针。

编辑 1

更多研究表明,async默认情况下,asp.net 似乎会主动阻止调用。我相信这与Session它处理非 UI 线程的方式有关。所以我在我的 web.config 中添加了以下内容(见下文)

  • 使用TaskFriendlySynchronizationContext
  • enableSessionState="假"

不幸的是,它没有任何区别,我的async/await调用LongProcess()仍然阻塞。