【发布时间】:2014-05-01 09:50:27
【问题描述】:
我喜欢 Nancy 提供的东西,尤其是它促进模块重用的能力。
我正在尝试从现有的 ASP.NET Webforms 应用程序中运行一个 nancy 模块。我已经关注了官方文档 (https://github.com/NancyFx/Nancy/wiki/Hosting-Nancy-with-asp.net) 的所有变体,但我根本无法让它工作。
为了说明这一点,我在 VS2013 中创建了一个空白的 Web 表单项目,使用其中一个可用的模板,然后我尝试加入一个最小的 nancy 配置。
您可以从这里下载此解决方案:https://www.dropbox.com/s/icq78zfgi92a6xv/HelloWorldNancy.zip
根据上述文档,我已将 http 处理程序中的 nancy 应用程序重新植根到 'nancy/*' 子路径。
我添加了一个名为 HelloWorldModule 的模块,如下所示:
public class HelloWorldModule : NancyModule
{
public HelloWorldModule()
: base("/helloworld")
{
Get["/"] = _ =>
{
return View["index"];
};
}
}
我还向 /Views/HelloWorld/ 和 /Nancy/Views/HelloWorld 添加了一个基本的 index.sshtml 视图,以防它决定针对 /Nancy 根进行视图解析。
我可以运行我的项目并且现有的 ASP.NET 应用程序不受影响。
当我点击“/nancy”子路径时,我注意到 HelloWorldModule 构造函数被点击了。我找回了花哨的 nancy 404 页面。
然后,当我尝试点击“/nancy/helloworld”时,我什么也得不到,只是再次出现 404。我的调试器正在运行,但我什么也没得到。
我还尝试运行 nancy 诊断工具“/nancy/_Nancy”,但也没有用。
有没有人知道我在这里做错了什么?
更新 [2014/05/02]
我使用 Visual Studio 中的基本 Web 应用程序模板创建了一个截屏视频,说明了我执行此操作的步骤: http://www.screencast.com/t/S8yEXPC74y
在我可以执行官方文档提出的替代配置之前,截屏视频就用完了。当我使用这种配置运行时,我只是得到每个请求的空白页(500 个响应代码)。
【问题讨论】: