2

コンソール アプリケーションで Nancy をホストしています。ビュー (たとえば、「Login.html」) を呼び出そうとすると、ページでエラー 500 が表示されます。これがコードです。

public sealed class LoginModule : NancyModule
{
    private readonly DatabaseList _db = Singleton.DB;
    public LoginModule()
    {
        Get["/"] = x => View["Login.html"];
    }
}

セッションが必要なため、独自のブートストラップを実装しました。

public class Bootstrapper : DefaultNancyBootstrapper
{
    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        var directoryInfo = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory;
        if (directoryInfo != null)
            Environment.CurrentDirectory = directoryInfo.FullName;
        CookieBasedSessions.Enable(pipelines);
        Conventions.ViewLocationConventions.Add((viewName, model, viewLocationContext) => String.Concat("Views/", viewName));
    }
}

これは私のプロジェクトのツリーです。さまざまなパス。

  • WebControllers/
    • LoginModule.cs
    • ナンシー.cs
  • ビュー/
    • ログイン.html

CurrentDirectory、ViewLocationConventions、/Views/、../Views/ などのすべてのタイプのパスを削除するすべての組み合わせを削除しようとしましたが、まだ何もありません。また、Views パスを WebControllers 内に配置しようとしましたが、Index.html ファイルだけを配置しようとしましたが、まだ何もありません。結論として、ビューの名前をログインに変更しようとしましたが、何もしませんでした。

4

1 に答える 1

3

ビューファイルが出力フォルダーにコピーされるように設定されていることを確認してください。

于 2013-04-12T05:22:45.643 に答える