1

我正在尝试让 Nancy 运行一个 hello world web 应用程序。它不会编译并突出显示Get["/"] = parameters => "Hello World";并且无法识别此符号。

我一定遗漏了一些简单的东西,但在网上找不到关于这个问题的任何东西。

脚步:

  1. 创建了一个新的 ASP.NET Web 应用程序
  2. 使用 NuGet 获得并安装了 Nancy.Hosting.Aspnet
  3. 检查 web.config 是否由 NuGet 配置并且看起来正确
  4. 添加了一个具有以下代码的新类:

    using Nancy;
    
    namespace test2
    {
        public class MainModule : NancyModule
        {
            Get["/"] = parameters => "Hello World";
        }
    }
    

    结果:Get["/"] = parameters => "Hello World";无法编译

4

3 回答 3

4

您需要将路由声明放在 MainModule 的构造函数中。以无效的 C# 语法将声明直接放入类的主体中。

于 2012-04-29T06:11:38.587 回答
1

正如 TheCodeJunkie 提到的,Get["/"] = parameters => "Hello World";需要放置在类的构造函数中。

using Nancy;

namespace test2
{
    public class MainModule : NancyModule
    {
        public MainModule() {
            Get["/"] = parameters => "Hello World";
        }
    }
}
于 2016-09-24T19:06:11.140 回答
0

除上述内容外,请注意,较新版本的语法发生了变化,现在定义看起来像

Get("/", parameters => "Hello World");
于 2019-08-13T14:17:07.473 回答