gpt4 book ai didi

configuration - 如何在ASP.NET vNext中允许MIME扩展名映射?

转载 作者:行者123 更新时间:2023-12-04 17:09:00 25 4
gpt4 key购买 nike

背景

我有一部分LESS代码需要在运行时使用Less.js进行编译-它通过JavaScript计算某些内容-因此我无法使用任务运行器等。

在我的index.html中,我有:

<head>
...
<link rel="stylesheet/less" href="assets/less/DynamicHeight.less" />
...
<script type="text/javascript" src="lib/less/less.js"></script>
...
</head>

问题

Less.js似乎无法找到该文件:

当我尝试直接访问文件时,我看到:

问题

如何添加允许下载较少文件的配置?我是否仍可以在vNext上使用 web.config文件,还是需要用 config.json做些事情?

线索1:我应该使用Owin吗?

认为这可能是正确的道路,但我并不熟悉。

我在那里看到了许多教程,例如 K. Scott Allen's,它们引用的代码如下:
    public void Configuration(IAppBuilder app)
{
var options = new StaticFileOptions
{
ContentTypeProvider = new FileExtensionContentTypeProvider()
};
((FileExtensionContentTypeProvider)options.ContentTypeProvider).Mappings.Add(
new KeyValuePair<string, string>(".less", "text/css"));
app.UseStaticFiles(options);
}

但是,在当前版本中,asp.net似乎正在寻找 Configure(IApplicationBuilder app)的签名。
IApplicationBuilder类没有 UseStaticFiles的方法-它只有 IApplicationBuilder Use(Func<RequestDelegate, RequestDelegate> middleware)的签名。

我觉得这可能是解决问题的正确途径-我只是找不到如何正确配置 IAppliationBuilder以映射MIME扩展名。

最佳答案

好吧,我相信我已经解决了。

步骤1:为静态文件添加适当的库

在ASP.NET vNext中,这是Microsoft.Aspnet.StaticFiles

project.json文件中,在"dependencies"下添加以下内容:

"Microsoft.AspNet.StaticFiles": "1.0.0-beta2"

这将添加静态的中间件方法,您以后可以使用它。

步骤2:将应用程序配置为使用静态文件

在顶部添加using语句:
using Microsoft.AspNet.StaticFiles;

此时, app.UseStaticFiles方法将可用,因此您的 Configure方法可以如下所示:
public void Configure(IApplicationBuilder app)
{
var options = new StaticFileOptions
{
ContentTypeProvider = new FileExtensionContentTypeProvider()
};
((FileExtensionContentTypeProvider)options.ContentTypeProvider).Mappings.Add(
new KeyValuePair<string, string>(".less", "text/css"));
app.UseStaticFiles(options);
}

瞧!浏览到.less文件时收到文本,并且LessJS没有出现更多错误。

关于configuration - 如何在ASP.NET vNext中允许MIME扩展名映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28264570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com