Включение сжатия gzip для каждой конечной точки в Service Fabric Service - PullRequest
0 голосов
/ 09 января 2019

Наше приложение использует Service Fabric в качестве своей основы, а наши микросервисы являются Service Fabric Services. После выполнения одитинга с помощью Lighthouse на внешнем интерфейсе я увидел, что в списке была указана рекомендация enable text based compression, и начал исследовать, как я могу добавить gzip к некоторым из моих ответов.

Для нашего Node-сервера я просто добавил промежуточное программное обеспечение compression и использовал его.

Для других служб я зашел внутрь Web.config и добавил следующее:

<urlCompression doStaticCompression="true" doDynamicCompression="true"/>

<httpCompression>
  <dynamicTypes>
    <clear />
    <add enabled="true"  mimeType="application/json"/>
  </dynamicTypes>
  <staticTypes>
    <clear />
    <add enabled="true"  mimeType="application/json"/>
  </staticTypes>
</httpCompression>

После перезагрузки моего веб-приложения я заметил, что ответы теперь приходят в сжатом виде, но я не хочу обязательно сжимать все ответы.

Когда я настраиваю любую из моих конечных точек, я придерживаюсь следующего формата:

[HttpGet]
[Route("{customer}/items")]
[Authorize]
public Task<ItemsModel> Get()
{
    return _itemsService.GetAsync();
}

Есть ли способ включить сжатие для каждой конечной точки вместо услуги?

1 Ответ

0 голосов
/ 09 января 2019

Вот процесс;

  1. Отредактируйте файл ServiceDefinition.csdef, чтобы он содержался в теге WebRole:

<Startup> <Task commandLine="EnableCompression.cmd" executionContext="elevated" taskType="simple"></Task> </Startup>

  1. В вашей веб-роли создайте текстовый файл и сохраните его как «EnableCompression.cmd»

  2. EnableCompression.cmd должен содержать это:

    %windir%\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True /commit:apphost %windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json; charset=utf-8',enabled='True']" /commit:apphost

Этот простой процесс включает динамическое сжатие для json, возвращаемого веб-ролью в Azure.

Источник: https://cloudmonix.com/blog/how-to-enable-gzip-http-compression-on-windows-azure-endpoint/

Вы также можете увидеть это:

https://basecamp.kony.com/s/question/0D56A00000RbtbBSAR/how-to-enable-gzip-compression-in-mobile-fabric

https://code.i -harness.com / о / д / 2a58dd

Как включить сжатие HTTP gzip для динамического содержимого Windows Azure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...