Кассета.Нэнси разделила файлы, вернув 404
Вопрос
Я добавил 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>