问题标签 [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 回答
1020 浏览

model-binding - 十进制和 Nancy 模型绑定的全球化问题

我是 Nancy 的新手,我正在尝试使用 Nancy.ModelBinding 命名空间绑定十进制属性,如下所示:

我的应用程序使用的是非美国文化 (pt-BR),其中小数的表示方式不同(4.50 将是 4,50)并且上面的代码会引发错误,即使 CurrentCulture 已正确设置为 pt-BR。我正在发布 JSON,我认为它可能与 JSON 反序列化器有关......

我的堆栈跟踪的一部分:

我错过了什么?

0 投票
1 回答
1352 浏览

reflection - Nancy 和抽象基模块类/创建幻像类实例

我正在与 Nancy 构建一个小型应用程序

我想要一种基类,其他模块可以继承。
见下文(这不是抽象类是有原因的,我将在下面解释)

当我运行我的应用程序时,我得到

无法解析类型:My.NameSpace.TypedImporter`1

作为旁注,如果ImportModule类是抽象的,这不会发生

好的
-现在,我可以有这样的课程:

但是,在其他地方,在“DefaultImportModule”中,我有以下内容:

所以我需要能够创建一种类型的导入器,基于传入的类型

(基本上,如果用户点击 url /customer,它的作用与这样的类相同)

所以,正如我所看到的,我有两个选择:
1)停止 nancy 尝试映射我的 ImportModule
2)实例化一个从 ImportModule 继承的“幻像类”并使 ImportModule 再次抽象

0 投票
2 回答
2211 浏览

wcf - 南希路线导致 404

我继承了一个 WCF 项目,其中包含一些我需要迁移到一个新的 NancyFx 项目中的糟糕构造的路由(这些路由有效)。我需要能够在我的 Nancy 应用程序中定义响应相同 GET 请求的路由。我暂时无法更改路线。

在 WCF 项目中,一个 GET 请求...

匹配这个 UriTemplate:


我希望这将是南希的等价物

但相同的 GET 请求会导致 404。

有没有办法构建我的 Nancy 路由来响应这个 GET 请求?如果没有,有什么解决方法吗?

我知道这很可怕,但它是暂时的,直到我可以安排时间与我们的 UI 团队一起重写前端以调用正确的完整 URL。

0 投票
1 回答
6263 浏览

file-upload - 使用自托管 Nancy 上传大文件示例

有人可以发布一个示例,说明如何使用在自托管模式下运行的 NancyFx 上传大文件(例如 50MB)。该文件应从网页发送(method=post;enctype=multipart/form-data)。

0 投票
2 回答
504 浏览

rest - Nancy Web 框架中 API 端点声明的顺序

我正在使用 NancyFX 来托管我们的网站 REST API。我们在数据库中有用户表,我想更新:

1) 完整用户更新 - 更新所有字段 2) 部分用户更新 - 仅更新单个字段

我们使用的是 Nancy 0.7 - 所以目前它没有 PATCH 支持 - 我只能使用 PUT

我已经定义了我的 API

但是,当我调用第二个 API(仅更新 id)时——它永远不会被 Nancy 困住——并且 Nancy 总是调用该方法来完全更新用户,即 PUT ["/user/{username}"]

不管我声明 API 的顺序是什么,Nancy 总是只调用完整的用户更新端点。

需要帮助,以便我可以使用客户端应用程序中的 PUT 正确使用这两个 API。

0 投票
3 回答
4079 浏览

inversion-of-control - 在 Nancy 项目中获取 TinyIoc 当前容器

我正在构建一个小型 Nancy Web 项目。

在我的一个类(不是 nancy 模块)的方法中,我想基本上做:

.Current但是, (非公共成员,_RegisteredTypes)中只有一个注册, 即:
TinyIoC.TinyIoCContainer.TypeRegistration

自然,在我上面的代码中,我得到:

无法解析类型:My.Namespace.IMyThing

所以,我想我没有在我的引导程序中注册相同的容器?

有没有办法解决它?

编辑

为了充实我正在尝试做的事情:

基本上,我的 url 结构看起来像:

/{myType}/{myMethod}

因此,想法是:/customer/ShowAllWithTheNameAlex 将加载Customer服务,并执行该showAllWithTheNameAlex方法

我的做法是:

然后我有一个抽象基类,带有一个返回服务的方法 GetService。
我在这里尝试使用 TinyIoC.TinyIoCContainer.Current.Resolve();
在这种情况下,它将是 TinyIoC.TinyIoCContainer.Current.Resolve("typeName");

这是我的服务实现。

最后,我有我的 Nancy 模块,它看起来像:

0 投票
2 回答
3139 浏览

.net - 南希自助托管 - 服务不可用 - Win7

我已经放弃了我正在使用的东西,并使用了最简单的代码:

当我浏览到

我得到:


暂停服务

http错误503服务不可用。


我尝试了几种解决方案。包括以下几个变化:远程访问 Nancy Self Host

有任何想法吗?

0 投票
4 回答
5003 浏览

url-routing - NancyFX Catch All 路线

NancyFX 是否支持 ASP.NET MVC,如“Catch All”路由?我需要一个,基本上匹配每个 URL。这对于构建单页应用程序非常方便。

那可能吗?

0 投票
1 回答
673 浏览

castle-windsor - 温莎城堡设施与 Nancy Windsor Bootstrapper 配合得不好

我在尝试从 Nancy 0.7 升级到 0.12 时遇到了一个奇怪的问题。以前我正在注册一个工具来为我的引导程序中的所有服务进行日志记录:

LoggingFacility 如下所示:

不幸的是,自从升级到 0.12/Castle 3.1 后,以下行WindsorNancyBootstrapper.RegisterTypes导致了一些问题

基本上,Castle 试图围绕 Func 创建一个动态代理。如果此注册触发了我的设施订阅的事件,这会很好,但它不会。然而拦截器似乎已经注册了。

尝试创建代理时,它显然失败了,因为 MulticastDelgate(IL 的 Func<> 的父级)被密封:TypeLoadException 无法从程序集 'DynamicProxyGenAssembly2,Version=0.0.0.0,Culture=neutral 加载类型'Castle.Proxies.Func`1Proxy' , PublicKeyToken=a621a9e7e5c32e69' 因为父类型是密封的。

我不确定在这里做什么,有人对设施和南希 0.12 有任何经验吗?

0 投票
1 回答
1466 浏览

razor - NancyFX 站点尝试服务器剃须刀视图时的 406 响应

我的 NancyFX 站点使用 cshtml razor 视图、asp.net 和 IIS7,在本地运行良好。它通过内置在“ASP.NET 开发服务器”中的 VS12 工作,也可以通过我的 IIS7 本地副本作为独立站点工作。我已确保我的 web.config 包含正确的剃须刀部分。

如果我将此站点部署到远程服务器(在我的登台和实时服务器上测试),那么每个 URI 都会返回错误:

我已经检查Accept了请求中的标头。他们来了:

在远程服务器上运行的其他非 nancy 站点工作正常,它们具有完全相同的接受标头。据我所知,该站点曾经在具有相同 Accept 标头的远程服务器上正常工作。

我还在我的登台服务器上做了以下测试。

我将我的重命名HomeView.cshtmlHomeView.html并将其所有内容替换为hello world(没有 html 标签,只有文本)。这服务没有问题。然后我将纯文本重命名HomeView.htmlHomeView.cshtml并再次获得 406。

最后,在绝望中,我向映射的服务器添加了一个 MIME 类型.cshtml->text/html但当然它没有任何区别,因为我实际上并没有提供.cshtml文件。

为什么 Nancy(或者可能是 IIS7)406 Not Acceptable对从文件派生的任何内容返回响应.cshtml

编辑 这是南希的踪迹。它似乎表明要么HomeView.cshtml找不到,要么没有使用 Razor View 引擎,因此找不到任何*.cshtml 文件。

这会导致内部 Nancy 异常:

然而,完全相同的站点文件在本地运行并正确调用 Razor View 引擎并因此找到HomeView.cshtml.

我仍然很难过。

_南希追踪