Azure C#部署脚本无法访问

时间:2017-05-02 02:21:21

标签: c# azure azure-web-app-service

我最近建立了&在Azure上部署了我的第一个C#MVC网站,但我发现scripts folder无法访问。 CSS path没问题。如何在azure中设置脚本文件夹的权限?

在本地主机版本的网站中,脚本用作:

<script src="/scripts/jquery-3.1.1.js"></script>
<script src="/scripts/jquery.validate.js"></script>
<script src="/scripts/jquery.validate.unobtrusive.js"></script>
<script src="/scripts/jquery.timeago.js"></script>
<script src="/scripts/bootstrap.js"></script>
<script src="/scripts/frontend.js"></script>

在azure版本中,它全部变为:

<script src="/scripts?v=8-nQ5fLPOWbFbJ3aNGN9S-Cax5jWLtBVGkIQKVKaKMc1"></script>

要澄清原始问题,我可以访问各个javascript文件,如果我address directly给他们。它只是我无法访问的azure-ified脚本标记。

2 个答案:

答案 0 :(得分:1)

您可以使用FTP或Kudu找到脚本文件夹和脚本文件吗?

enter image description here

如果找不到它们,则表示脚本尚未发布到Azure Web App。在发布Web应用程序之前,请确保已将Build Action属性设置为这些脚本文件的“Content”。

enter image description here

如果Azure Web App中存在这些文件,并且您无法使用URL访问它,请确保用于解决脚本文件的URL正确。例如,如果脚本文件夹位于wwwroot文件夹下。要访问scripts文件夹下的文件,URL应为

http://yourwebsite.azurewebsites.net/scripts/scriptfile.js
  

&lt; script src =“/ scripts?v = 8-nQ5fLPOWbFbJ3aNGN9S-Cax5jWLtBVGkIQKVKaKMc1”&gt;

您正在项目中使用脚本包。请检查您的项目,App_Start文件夹下有一个BundleConfig文件。

如果将项目发布到Web服务器或在web.config中将debug属性更改为false,则脚本的URL将更改为高级格式。

<compilation debug="false" targetFramework="4.6.2" />

要解决您的问题,请确保您的Web项目上安装了Microsoft.Web.Optimization DLL,并在&lt; system.webServer&gt;下添加以下配置。 &LT;模块&gt; web.config中的标记。

<add name="BundleModule" type="System.Web.Optimization.BundleModule" />

如果要禁用脚本包,可以在Global.asax文件的Application_Start方法中将EnableOptimizations属性设置为false。

protected void Application_Start()
{
    BundleTable.EnableOptimizations = false;
}

答案 1 :(得分:0)

不要忘记在你的Startup.cs中设置 app.UseStaticFiles()