2015-02-11 2 views

ответ

0

Я столкнулся с той же проблемой. Есть, по крайней мере, несколько способов решить эту проблему. Мне удалось удалить каталог «/ Content» из статических соглашений и обработать эти запросы в NancyModule, затем обработчики AfterPipeline будут запущены. Другой вариант - переместить файлы, которые требуют CORS из каталога «/ Content», в другое место и обрабатывать эти запросы в NancyModule.

Вот пример, начиная с пользовательской загрузчике:

protected override void ConfigureConventions(Nancy.Conventions.NancyConventions nancyConventions) 
{ 
    base.ConfigureConventions(nancyConventions); 

    //remove "/Content" directory from the static conventions 
    nancyConventions.StaticContentsConventions.Clear(); 

    //add a different path to static content since it is not allowed to be empty 
    nancyConventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("scripts"));    
} 

И в NancyModule, обрабатывать запросы файлов, возможно, как ...

Get["/content/{path*}"] = args => 
{ 
    var path = "/content/" + args.path; 

    //pass in the file path, and content type to return 
    return Response.AsFile(path, "text/plain"); 
}; 

Если вы просто переместить файлы из каталога «/ Content», затем просто замените content на альтернативное имя папки, то есть Get["/altFolder/{path}*"] и var path = "/altFolder/" + args.path;.

+0

Да, спасибо. Обнаружил это сам пару недель назад. – decades

Смежные вопросы