Нэнси: обслуживать статический контент (например, index.html) из "/"?

Я пытаюсь сделать одностраничное веб-приложение с помощью Nancy. Поэтому я хочу, чтобы мой корневой URL-адрес служил для простого файла .html без какой-либо логики представления или вообще.

Я пробовал

Get["/"] = parameters => Response.AsHtml("content/index.html")

Но нет AsHtml.

Я попробовал настраиваемый загрузчик с помощью

conventions.StaticContentsConventions.Add(
    StaticContentConventionBuilder.AddFile("/", @"content/index.html")
);

Но, по-видимому, он считает, что "/" не является файлом. Вместо этого Нэнси дает мне список каталогов на http://localhost:<port>/.

Что мне делать? Это не должно быть так сложно, верно?

пс. Любой способ отключить этот каталог? Он чувствует себя неуверенно.

Ответ 1

Просто разместите папку с вашими представлениями и выполните:

Get["/"] = _ => View["index"];

Список каталогов не имеет ничего общего с Нэнси, независимо от того, какой хостинг вы используете, показывает это.

Ответ 2

Добавьте модуль, который обслуживает index.html по умолчанию:

public IndexModule() : base("")
{
    Get[@"/"] = parameters =>
    {
        return Response.AsFile("Content/index.html", "text/html");
    };
}

Затем выполните остальные файлы, используя соглашение в вашем загрузочном файле:

protected override void ConfigureConventions(NancyConventions nancyConventions)
{
    nancyConventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("/", "Content"));
    base.ConfigureConventions(nancyConventions);
}