Ejemplo n.º 1
0
 public wrap_provider(WrapperProviderElement p)
 {
     // TODO: Complete member initialization
     this.p                   = p;
     this.ApplicationId       = p.AppId;
     this.Name                = p.Name;
     this.WrapperProviderType = p.WrapperProviderType;
     this.SourceInfo          = p.SourceInfo;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Inicializa un wrapper deacuerdo el nombre del proveedor
        /// Carga al wrapper el nombre
        /// </summary>
        /// <param name="providerName">Proveedor del wrapper. Este valor debe coincidir con un proveedor de metadata en el dispatcher</param>
        internal static void InitWrapper(string providerName)
        {
            //Si no se espesifica npmbre de provdor se da por entendido que se trata de un proveedor por defecto
            if (String.IsNullOrEmpty(providerName))
            {
                providerName = _DefaultProviderName;
            }
            if (!_WraperPepository.ContainsKey(providerName))
            {
                try
                {
                    WrapperProviderElement provider = _ProviderSection.GetProvider(providerName);

                    if (provider == null)
                    {
                        TechnicalException te;
                        if (providerName.Equals(_DefaultProviderName))
                        {
                            te = new TechnicalException(string.Concat("El proveedor de configuración del wrapper por defecto del lado del cliente, no existe, verifique en el archivo de configuracion si existe la seccion FwkWrapper y el proveedor por defecto"));
                        }
                        else
                        {
                            te = new TechnicalException(string.Concat("El proveedor de configuración del wrapper ", providerName, " del lado del cliente, no existe, verifique en el archivo de configuracion si existe la seccion FwkWrapper y el proveedor mencionado"));
                        }

                        te.ErrorId = "6000";
                        Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(WrapperFactory));
                        throw te;
                    }
                    ///No se almacenan mas providers con String.Empty
                    //if (provider.Name.Equals(_ProviderSection.DefaultProviderName)) providerName = String.Empty;



                    IServiceWrapper w = (IServiceWrapper)ReflectionFunctions.CreateInstance(provider.WrapperProviderType);

                    w.ProviderName = provider.Name;
                    w.SourceInfo   = provider.SourceInfo;
                    w.ServiceMetadataProviderName = provider.ServiceMetadataProviderName;
                    w.AppId = provider.AppId;
                    //w.DefaultCulture = provider.DefaultCulture;

                    _WraperPepository.Add(providerName, w);
                }
                catch (Exception ex)
                {
                    ServiceError       wServiceError = ProcessConnectionsException.Process(ex);
                    TechnicalException te            = new TechnicalException(wServiceError.Assembly, wServiceError.Namespace, wServiceError.Class, wServiceError.Machine, wServiceError.UserName, wServiceError.Message, ex);

                    throw te;
                }
            }
        }