使用NancyFx的好处?

Jag*_*ggu 34 c# asp.net rest webhttp nancy

还有另一个用于进行名为NancyFx的HTTP调用的框架.我的问题是使用它有什么好处.我快速查看了文档:

https://github.com/NancyFx/Nancy/wiki/Documentation

看起来没有突出的功能,因此我想使用它.通过WebHttp使用它有什么好处?

PS:我一直在读一些不断重复的"超级快乐路径"的奇怪短语.除了这种"超级快乐的道路"之外还有什么东西吗?实现了哪些真正的功能

Gle*_*rie 45

它似乎提供了一种不同的方法来定义"路由"(在MVC意义上),使用lambdas来识别相对路径,参数和响应的实现.

最终,框架的主要好处是它的表现力.在ASP.NET MVC中,RouteTable位于global.asax中,实现位于Control中.看起来在NancyFx中,这种模式占主导地位:

Action["/path"] = args => { return your_implementation_here; }
Run Code Online (Sandbox Code Playgroud)

示例实现:

Get["/products"] = id => { return GetRepository().Products.Single( q => q.Id == id); };
Run Code Online (Sandbox Code Playgroud)

说明:HTTP获取参数为"Id"的相对端点"/ products"将从存储库返回单个产品,其中Id参数与产品的Id匹配.

表达和简洁.


sup*_*jos 18

免责声明:我不是NancyFx的支持者:)
我正在评估是否应该将NancyFx或ASP.NET Web API用于项目的REST部分.

除了GlennFerrieLive已经提到过的简单和表达(我认为它们本身就有价值)之外,我想我已经掌握了另外几个好处:

  1. 任何API请求处理之前之后,以一种面向方面的方式执行操作很容易,可以这么说.

  2. 默认情况下,框架负责接受的返回类型,因此它将适当地转换JSON,XML,...中的输出.

  3. 实现请求的Lambda不返回实际填充的数据,但仍以查询的形式返回.之后,在实际执行查询,命中数据库和返回实际数据之前,仍然可以轻松添加过滤,排序和其他操作.

  4. 他们以某种方式包装了HttpRequest并向开发人员提供了相当的功能,不同之处在于注入了这个新对象,你当然可以用模拟替换它......这样更简单,更清晰的测试.

也许其中一些(全部?)已经在ASP.NET Web API中可用,并且同样容易,我不确定.
HTH

  • 好的,[这篇文章](http://blog.jonathanchannon.com/2012/12/19/why-use-nancyfx/)说的更多更好......当然他是支持者:) (6认同)
  • 你还评估ServiceStack吗? (2认同)