Ejemplo n.º 1
0
 /// <summary>
 /// Evaluates the contracts.
 /// </summary>
 /// <param name="configurationManager">The configuration manager.</param>
 /// <param name="module">The module.</param>
 /// <param name="contract">The contract.</param>
 public static void EvaluateContracts(ServiceModelConfigurationManager configurationManager, ModuleNode module, Contract contract)
 {
     if (configurationManager != null)
     {
         foreach (ServiceElement service in configurationManager.GetServices())
         {
             foreach (ServiceEndpointElement endpoint in service.Endpoints)
             {
                 TypeNode typeNode = LoadTypeNode(endpoint.Contract, module);
                 if (typeNode != null)
                 {
                     contract(typeNode, endpoint);
                     if (typeNode.DeclaringModule != module)
                     {
                         // unload external module, loaded in FileGetType()
                         typeNode.DeclaringModule.Dispose();
                     }
                 }
             }
         }
     }
 }