Как определить локаль Autofac по умолчанию, используемую при разборе конфигурации json / xml - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь настроить автофак с использованием конфигурации xml, но у меня возникают проблемы с локалью.Один из компонентов, который я пытаюсь зарегистрировать, нуждается в параметре double , который в моей локальной системе имеет формат xxx, yyy - с использованием запятая в качестве десятичного разделителя.Другая система, которую я должен использовать, использует точка в качестве десятичного разделителя.Есть ли способ заставить autoofac игнорировать настройки локали и анализировать только числа с точкой в ​​качестве десятичного разделителя?

Эта конфигурация

<?xml version="1.0" encoding="utf-8" ?>
<autofac>
  <components name="0">
    <type>Geometry.SomeRule, Geometry</type>
    <services name="0" type="Geometry.IValidationRule, Geometry" />
    <parameters>
      <min>3.048</min>
      <max>4.572</max>
    </parameters>
  </components>
</autofac>

бросает

Autofac.Core.DependencyResolutionException: 'An exception was thrown while activating IValidationRule[] -> SomeRule.'
Inner exceptions: Exception: 3,048 is not a valid value for Double.

ЕслиЯ использую регистрацию через запятую на моем устройстве, но не на другом.

Я могу решить эту проблему, установив CurrentThread.CurrentCulture во время регистрации и построения контейнера, но это не кажетсябыть правильным решением для меня.

1 Ответ

0 голосов
/ 08 апреля 2019
...