Загрузка медленнее в ASP.NET Core 2 - PullRequest
0 голосов
/ 24 апреля 2018

Я перенес свое существующее приложение на .NET Core 2 (это было так больно ...), но похоже, что все работает сейчас.Тем не менее, я заметил, что начальная загрузка webApp и выход из системы очень медленные.Я думаю, что в этих двух сценариях сервер обрабатывает файл .cshtml.

Я удалил applicationInsights, что сделало его немного более быстрым, но загрузка все еще медленная.Я также попытался не использовать kestrel для загрузки моего сертификата https и просто иметь http.Это тоже кажется быстрее, но мне нужно настроить https.

Есть ли какие-нибудь решения для этого?Документы Microsoft, похоже, не содержат советов по миграции самих файлов cshtml.

РЕДАКТИРОВАТЬ:

Я также нашел эту тему: Отладка / загрузка Visual Studio очень медленная

Не уверен, как отключить символы в VS Code.Или, если это связано с проблемой.

EDIT2:

Я нашел это в документах:

Предварительная компиляция Razor View в настоящее время недоступна при выполнении автономногоразвертывание (SCD) в ASP.NET Core 2.0.Эта функция будет доступна для SCD, когда выйдет версия 2.1.

Может ли это быть причиной того, что мой взгляд медленный?Это рендеринг / загрузка каждый раз?

EDIT3:

Index.cshtml:

`

@{
    ViewData["Title"] = "MyTitle";
}

<div id="react-app">
     <svg
        class="svg-loader"
        xmlns="http://www.w3.org/2000/svg"
        viewBox="0 0 50 50"
        style="width:60px;height:60px;display:block;margin:100px auto">
        <path d="">
            <animateTransform
                attributeType="xml"
                attributeName="transform"
                type="rotate"
                from="0 25 25"
                to="360 25 25"
                dur="0.6s"
                repeatCount="indefinite"
                />
        </path>
  </svg>
</div>

@section scripts {
  @if (ViewData["jwt"]!=null)
  {
    <script>
      var token = '@(ViewData["jwt"].ToString())';
      localStorage.setItem("jwt", token);
    </script>
  }
  <script src="~/dist/app.js" asp-append-version="true"></script>

  @if (ViewData["appInsightKey"]!=null)
  {
  <script>
   var appInsights=window.appInsights||function(config){
    function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",y=u.createElement(o),r,f;y.src=config.url||"https://az416426.vo.msecnd.net/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version="1.0",r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)i("track"+r.pop());return i("set"+s),i("clear"+s),i(h+a),i(c+a),i(h+v),i(c+v),i("flush"),config.disableExceptionTracking||(r="onerror",i("_"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t["_"+r](config,i,u,e,o),s}),t
    }({
        instrumentationKey: '@(ViewData["appInsightKey"].ToString())'
    });

    window.appInsights=appInsights;
    appInsights.trackPageView();
  </script>
  }
}

`

EDIT4:

Я сузил его до layout.cshtml: renderBody и раздел выглядят очень медленно.Я собираюсь прочитать больше об этом.

`

    @RenderBody()
    <script src="~/dist/vendor.js" asp-append-version="true"></script>
    @RenderSection("scripts", required: false)
</body>

`

РЕДАКТИРОВАТЬ: <script src="~/dist/app.js" asp-append-version="true"></script> Похоже, что эта строка является причиной, почему она медленная.

Загружаемые ими страницы не изменились и имеют одинаковый размер.Тем не менее, в 1.1 это занимает около 8 секунд, а в 2 - 35 секунд.Время загрузки 1.1 не было большим для начала, но в 2 это смешно.

...