質問

既存のNancy WebプロジェクトにCassette.Nancyを追加しました。 CassetteNancyStartup.OptimizeOutput = true;を設定すると、これがfalseに設定されている場合は問題が発生しますが、バンドルされていないリソースで404を取得します。

これが私のセットアップです。

以下のパッケージを使用しています:

  • cassette.nancyバージョン="2.1.1"
  • カセットversion="2.4.1"
  • ナンシーバージョン="0.22.2"
  • nancy.owin version="0.22.2"
  • Nancy.ViewEngines.Razorバージョン="0.22.2"

ファイルはそのようなものです。

  • コンテンツ
    • file1.css
    • file2.css
  • スクリプト
    • script1.js
    • script2.js

CassetteBundleConfiguration:

public class CassetteBundleConfiguration : IConfiguration<BundleCollection>
{
    public void Configure(BundleCollection bundles)
    {
        bundles.AddPerSubDirectory<StylesheetBundle>("Content");
        bundles.Add<ScriptBundle>("Scripts");
    }
}
.

_Layout.cshtml

@{
    Bundles.Reference("Content");
    Bundles.Reference("Scripts");
}

@Bundles.RenderStylesheets()
@Bundles.RenderScripts()
.

と最後にBootstrapper

public Bootstrapper()
{
    CassetteNancyStartup.OptimizeOutput = false;
}
.

私はこれがCassetteNancyStartup.OptimizeOutputtrueに設定されているが、それぞれのリソースのそれぞれがこのような404を返す場合は、次のように述べています。

GET http://localhost:10005/_cassette/asset/Content/file1.css?cf7a7edf515a8184a0c53ec498c583cc64bb0e63 404 (Not Found) 
.

任意の提案?

役に立ちましたか?

解決

この問題は、web.configにOWINハンドラを追加していないことがわかった。これを修正しました。

  <system.webServer>
    <handlers>
      <add name="Owin" verb="*" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb" />
    </handlers>
  </system.webServer>
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top