【问题标题】:Nancy FX enable CORS for static contentNancy FX 为静态内容启用 CORS
【发布时间】:2015-04-11 13:15:43
【问题描述】:

我可以为我的普通路由允许 CORS,但不允许静态内容使用 CORS,因为这些请求不会调用请求后管道处理程序。

有什么方法可以开启吗?

问候

【问题讨论】:

    标签: cors nancy


    【解决方案1】:

    我遇到了同样的问题。至少有几种方法可以解决它。我能够从静态约定中删除“/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;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-27
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多