Example #1
0
        /// <summary>
        /// Maps the service descriptor enum to the actual object.
        /// </summary>
        /// <param name="serviceDescriptorType">Service descriptor enum.</param>
        /// <returns>Corresponding service descriptor based on the provided enum.</returns>
        private static ServiceDescriptor GetServiceDescriptor(
            ServiceDescriptorType serviceDescriptorType)
        {
            switch (serviceDescriptorType)
            {
            case ServiceDescriptorType.AstoriaDefaultService:
                return(ServiceDescriptors.AstoriaDefaultService);

            case ServiceDescriptorType.PluggableFormatServiceDescriptor:
                return(ServiceDescriptors.PluggableFormatServiceDescriptor);

            case ServiceDescriptorType.TypeDefinitionServiceDescriptor:
                return(ServiceDescriptors.TypeDefinitionServiceDescriptor);

            case ServiceDescriptorType.ModelRefServiceDescriptor:
                return(ServiceDescriptors.ModelRefServiceDescriptor);

            case ServiceDescriptorType.OperationServiceDescriptor:
                return(ServiceDescriptors.OperationServiceDescriptor);

            case ServiceDescriptorType.TripPinServiceDescriptor:
                return(ServiceDescriptors.TripPinServiceDescriptor);

            case ServiceDescriptorType.ODataWCFServicePlusDescriptor:
                return(ServiceDescriptors.ODataWCFServicePlusDescriptor);

            case ServiceDescriptorType.ODataWCFServiceDescriptor:
                return(ServiceDescriptors.ODataWCFServiceDescriptor);

            case ServiceDescriptorType.AstoriaDefaultWithAccessRestrictions:
                return(ServiceDescriptors.AstoriaDefaultWithAccessRestrictions);

            case ServiceDescriptorType.PayloadValueConverterServiceDescriptor:
                return(ServiceDescriptors.PayloadValueConverterServiceDescriptor);

            case ServiceDescriptorType.PublicProviderEFService:
                return(ServiceDescriptors.PublicProviderEFService);

            case ServiceDescriptorType.PublicProviderHybridService:
                return(ServiceDescriptors.PublicProviderHybridService);

            case ServiceDescriptorType.ActionOverloadingService:
                return(ServiceDescriptors.ActionOverloadingService);

            case ServiceDescriptorType.OpenTypesService:
                return(ServiceDescriptors.OpenTypesService);

            case ServiceDescriptorType.UrlModifyingService:
                return(ServiceDescriptors.UrlModifyingService);

            case ServiceDescriptorType.ODataWriterService:
                return(ServiceDescriptors.ODataWriterService);

            case ServiceDescriptorType.PrimitiveKeysService:
                return(ServiceDescriptors.PrimitiveKeysService);

            case ServiceDescriptorType.KeyAsSegmentService:
                return(ServiceDescriptors.KeyAsSegmentService);

            case ServiceDescriptorType.AstoriaDefaultServiceModifiedClientTypes:
                return(ServiceDescriptors.AstoriaDefaultServiceModifiedClientTypes);

            case ServiceDescriptorType.PublicProviderReflectionService:
                return(ServiceDescriptors.PublicProviderReflectionService);

            case ServiceDescriptorType.ODataSimplifiedServiceDescriptor:
                return(ServiceDescriptors.ODataSimplifiedServiceDescriptor);

            default:
                throw new Exception(string.Format("Unsupported service descriptor type: {0}",
                                                  serviceDescriptorType.ToString()));
            }
        }