Как создаются объекты путем настройки файлов конфигурации (например, WCF) - PullRequest
0 голосов
/ 09 июля 2010

Я хочу создать фреймворк, который должен настраиваться через App.config. так же, как наш WCF Host

Чтобы было понятно

Мне нужно написать только 3 строки для размещения службы с приведенной ниже конфигурацией

Type serviceType = typeof(DerivativesCalculatorServiceType);
ServiceHost host = new ServiceHost(serviceType))
host.Open();

Конфигурация WCF

<configuration>
   <system.serviceModel>
      <services>
         <service name="DerivativesCalculator.DerivativesCalculatorServiceType" 
                  behaviorConfiguration="DerivativesCalculatorService">

            <endpoint  address="Calculator"  
                       binding="basicHttpBinding" 
                       contract="DerivativesCalculator.IDerivativesCalculator"/>
         </service>
      </services>
      <behaviors>
         <serviceBehaviors>
             <behavior name="DerivativesCalculatorService">
                 <serviceMetadata httpGetEnabled="true" />
             </behavior>
         </serviceBehaviors>
      </behaviors>
   </system.serviceModel>
</configuration>

Я хочу знать, каким образом объект привязки, объект конечной точки, Contract создается внутренне путем анализа xml, поскольку xml - это строки, как соответствующие объекты или класс создаются внутри.

Например, AddServiceEndpoint

AddServiceEndpoint(typeof(IDerivativesCalculator), basicHttpBindingObject, Address);

как DerivativesCalculator.IDerivativesCalculator преобразовано в IDerivativesCalculator

Ответы [ 2 ]

0 голосов
/ 09 июля 2010

DerivativesCalculator.IDerivativesCalculator в XML указывает имя интерфейса, который определяет контракт.IDerivativesCalculator - это фактический интерфейс, определенный в пространстве имен Derivatives.

Отражение используется для поиска типа в сборке.Метод Assembly.GetType (String) является примером метода отражения.Этот метод можно использовать для возврата типа IDerivativesCalculator, передав ему имя DerivativesCalculator.IDerivativesCalculator.

Отражение также можно использовать для создания экземпляров типа, опять же натолько на имя типа.Вот как вы можете заполнить объект на основе файла конфигурации.

0 голосов
/ 09 июля 2010

Вы можете использовать классы System.Configuration для доступа к App.config и чтения значений конфигурации. Вот неплохая статья , с которой можно начать.

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