Ошибка MIME сервера IIS в приложении ASP.NET MVC - PullRequest
0 голосов
/ 11 апреля 2019

каждый.

Я создал очень простое приложение ASP.NET MVC.Работает нормально.При запуске из IIS Express в Visual Studio все нормально.

Я опубликовал в IIS (Windows 10), и когда я пытаюсь получить доступ к приложению, у меня появляется ошибка в консоли Dev Tools:

GET http://localhost/Content/css/?v=TkaWEc0q1mz3K1xFKH7PU3OH3FTpfcRL8g5pn-9SziE1 net::ERR_ABORTED 403 (Forbidden)

Я проверил свою вкладку Сеть иобнаружил, что есть два вызова Content / css и вот их заголовки:

Request 1 enter image description here

Я делалнекоторые исследования по этому вопросу и обнаружили, что некоторые решения.На данный момент:

В моем IIS настроен Static Contant. Тип MIME для CSS в IIS - это text / css, хотя Content-Type в заголовке - text / html (чего я не понимаю, почему)

РЕДАКТИРОВАТЬ: Как и просили в комментариях, вот мой комплект конфигурации:

using System.Web;
using System.Web.Optimization;

namespace IoTHub
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        { 
            bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
                      "~/Scripts/bootstrap.min.js",
                      "~/Scripts/jquery-3.3.1.min.js",
                      "~/Scripts/popper.min.js",
                      "~/Scripts/iothub.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                      "~/Content/css/bootstrap.min.css",
                      "~/Content/css/main.css",
                      "~/Content/css/common.css"));
        }
    }
}

Ответы [ 2 ]

4 голосов
/ 11 апреля 2019

Вы можете добавить BundleTable.EnableOptimizations = true;

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        BundleTable.EnableOptimizations = true;
    }
}

и проверить набор web.config runAllManagedModulesForAllRequests="true"

<modules runAllManagedModulesForAllRequests="true">
  <remove name="BundleModule" />
  <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
1 голос
/ 11 апреля 2019

Попробуйте добавить это в свой веб-конфиг

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...