Кассета.Нэнси разделила файлы, вернув 404

StackOverflow https://stackoverflow.com//questions/23019295

  •  21-12-2019
  •  | 
  •  

Вопрос

Я добавил Cassette.Nancy к существующему веб-проекту Nancy.Это прекрасно работает, когда я устанавливаю CassetteNancyStartup.OptimizeOutput = true; но когда для этого установлено значение false Я получаю 404 для разделенных ресурсов.

Вот моя схема.

Я использую следующие пакеты:

  • Кассета.Версия Нэнси="2.1.1"
  • Кассетная версия="2.4.1"
  • Версия Нэнси="0.22.2"
  • Нэнси.Owin версия="0.22.2"
  • Нэнси.Viewengines.Версия Razor="0.22.2"

Файлы выглядят следующим образом:

  • Содержание
    • файл 1.css
    • файл 2.css
  • Скрипты
    • script1.js
    • script2.js

Конфигурация кассетного пакета:

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.OptimizeOutput установлено значение true но когда false каждый из ресурсов возвращает значение 404, подобное этому:

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

Есть какие-нибудь предложения?

Это было полезно?

Решение

Эта проблема возникла из-за того, что я не добавил обработчик Owin в web.config.Добавление этого исправило это.

  <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