如何使用Git(Bitbucket)在Azure上提供静态服务?

时间:2016-01-07 18:47:26

标签: git azure bitbucket asp.net-core-mvc

我在Azure上有一个MVC 6应用程序并托管我的静态文件,我必须ftp到服务器并手动将它们放在/site/wwwroot上。进行日常更改时,这有点麻烦。 为了解决这个问题,我在Azure上设置了Bitbucket的连续部署。我为静态站点创建了单独的repo。我注意到回购已添加到/site/repository

如何从那里提供静态文件?我尝试将虚拟目录从/ --> site\wwwroot更改为/ --> site\repository,但已获得

  

指定的CGI应用程序遇到错误,服务器终止了进程

有点吓人。还原更改并重新启动服务器不起作用。我不得不再次从Visual Studio发布以某种方式覆盖配置。

2 个答案:

答案 0 :(得分:2)

MVC 6应用程序将在根目录中具有wwwroot文件夹(作为控制器,视图等的兄弟)

如果您将静态内容放在那里,并确保在startup.cs中定义了app.UseStaticFiles();,则静态内容应该部署并与其他内容一起运行。

答案 1 :(得分:1)

与另一个帖子(Serving static files in ASP.NET 5 MVC 6

一样

你需要

1)尝试升级以使用最新版本的MVC 6(https://github.com/aspnet/Mvc/releases

2)将静态文件放在wwwroot下

3)app.UseStaticFiles

4)如果存在IIS未知的文件,则必须通过web.config或代码配置mime-type,例如

var provider = new FileExtensionContentTypeProvider();
provider.Mappings.Add(".json", "application/json");
provider.Mappings.Add(".ico", "image/x-icon");
// Serve static files.
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });