Повторите попытку входа в веб-сервис - PullRequest
0 голосов
/ 15 января 2019

У нас есть веб-сервис, который был разработан для функции журнала. Мы хотим регистрировать исключения в нашей базе данных через WS. так что если есть интернет, он работает без проблем. Но если соединения нет, мы хотели бы сохранить журнал и попытаться отправить его в определенное время. И у nlog есть обертка, называемая RetriedWrapper, но она не работает. Я пытался найти пример кода, но я не уверен, что этот код работает.

Версия NLog - 4.5.11. Я пробовал другую конфигурацию, но не работал. Вы можете найти все мои настройки ниже.

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogLevel="Trace" internalLogToConsole="True">

  <targets autoReload="true">
        <target name="logToFile" xsi:type="File"  fileName="path_is_set_in_mainActivity.cs">
         <layout xsi:type="JsonLayout" includeAllProperties="true" excludeProperties="j_mData,j_mlData">
          <attribute name="level" layout="${level:upperCase=true}"/>
          <attribute name="message" layout="${message}" />
        </layout>
       </target>
    <target name="AsyncWrapper" type="AsyncWrapper">
      <target xsi:type="RetryingWrapper" retryCount="3" retryDelayMilliseconds="20000">
        <target type='WebService'
            name='ws'
            url='http://ip_address:port/api/LogMe'
            protocol='HttpPost'
            encoding='UTF-8'>       
          <parameter name='message' type='System.String' layout='${message}'/>
        </target>
      </target>
    </target>
  </targets>

  <rules>
    <logger name="*" minlevel="Info" writeTo="logToFile" />
        <logger name='*' writeTo='ws'></logger>
  </rules>
</nlog>

Эта конфигурация работает, когда она в сети, но когда я выключил Wi-Fi, ничего не происходит .. Я думал, может быть, он отправит, когда я перезапущу приложение снова, но ничего не было отправлено. Так в чем может быть проблема?

...