Я строю тест WCF Service (PersonService) в .NET 4.5, размещенный в экспресс-службе IIS 8. Я также установил динамическое сжатие в IIS. Насколько мне известно, включенное сжатие WCF 4.0 включено по умолчанию. Чтобы включить httpCompression на службу я обновленное Web.Config следующим образом:Как выполнить тест, чтобы проверить, сжат ли ответ WCF с помощью httpCompression на IIS7 +
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.webServer>
<httpCompression>
<dynamicTypes>
<add mimeType="application/soap+xml" enabled="true"/>
<add mimeType="application/soap+xml; charset=utf-8" enabled="true"/>
<add mimeType="application/soap+xml; charset=ISO-8895-1" enabled="true"/>
</dynamicTypes>
</httpCompression>
<urlCompression doDynamicCompression="true" doStaticCompression="true"/>
</system.webServer>
<system.serviceModel>
<services>
<service name="PersonServiceLibirary.PersonService">
<endpoint address="" binding="basicHttpBinding" contract="PersonServiceLibirary.IPersonService">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding maxBufferPoolSize="524288000" maxBufferSize="524288000" maxReceivedMessageSize="524288000">
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information,
set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Вопрос: Я хочу, чтобы проверить, является ли сжатие на самом деле происходит или нет. Как я могу проверить, что ответ сжимается на стороне сервера перед отправкой, также он распадается на стороне клиента.
Примечание: Мое клиентское приложение также является консольным приложением .NET, которое потребляет выше службы. Оба приложения Service и клиент работают на одном компьютере.
1) Используйте telnet для имитации запроса и проверьте, читаются ли ваши данные, или 2) используйте сниффер пакетов и проверьте содержимое пакета TCP. –
@norbert van noblemen, как я могу это сделать? Можете ли вы указать мне какую-то статью или ресурсы. Я еще не делал – Nps