我正在尝试部署到Azure(Silverlight应用程序);我已经迁移了我的数据库,更新了连接字符串并将我的应用程序发布到Azure,但是当我点击服务URL时,我得到了这个:
403 - 禁止访问:访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。
知道我需要改变什么吗?
非常感谢
答案 0 :(得分:6)
如果捆绑包的名称与文件系统中的路径匹配,则Azure上的IIS将抛出403 Forbidden错误。
因此,如果您的解决方案中有一个名为/Content/css
的路径,并且您在bundles.Add(new StyleBundle("~/Content/css").Include( ...
中有一个名为BundleConfig.cs
的捆绑名称,在@Styles.Render("~/Content/css")
中显示为_Layout.cshtml
1}}文件。然后你就会得到那个错误。
我通过将我的捆绑名称从/Content/css
更改为/Style/css
bundles.Add(new StyleBundle("~/Content/css").Include( ...
BundleConfig.cs
成为bundles.Add(new StyleBundle("~/Style/css").Include( ...
您@Styles.Render("~/Content/css")
<{1}}中的_Layout.cshtml
变为@Styles.Render("~/Style/css")
您可以使用任何您喜欢的名称,没有特定限制。我想你可以继续重命名解决方案中的文件夹,这应该可行。
注意:捆绑包的名称将变为浏览器可以请求的虚拟目录。如果它类似于物理文件夹结构,那么它将返回 403 。
答案 1 :(得分:0)
我需要使用应用程序中页面的完整路径,因为我没有在我的Web配置中设置默认文档,例如
<add value="Pages/Home.aspx"/>
答案 2 :(得分:0)
我在MVC项目中遇到了同样的错误。 经过一些调试后,我发现这是因为我删除了Azure门户中的所有“默认页面”。
我在门户网站中添加了一个虚拟的“index.html” - 记录,然后一切都很好用了:)