コード例 #1
0
ファイル: Games.svc.cs プロジェクト: oflores/confsamples
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(IDataServiceConfiguration config)
        {
            config.SetEntitySetAccessRule("Games", EntitySetRights.All);
            config.SetEntitySetAccessRule("Suppliers", EntitySetRights.AllRead);

            config.UseVerboseErrors = true;
        }
コード例 #2
0
 public static void InitializeService(IDataServiceConfiguration configuration)
 {
     foreach (Type type in registeredTypes)
     {
         configuration.RegisterKnownType(type);
     }
 }
コード例 #3
0
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(IDataServiceConfiguration config)
        {
            // Turn verbose logging on to get better errors returned
            config.UseVerboseErrors = true;

            // Configure the access rights for the entities exposed by ADO.NET DS
            config.SetEntitySetAccessRule("Admittance", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Allergy", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("BodyRegion", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("ClinicalNote", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("ClinicalNoteType", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Complaint", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("ComplaintTestResult", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Admittance", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Med", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Order", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Patient", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("PatientAllergy", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Staff", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("StaffType", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Test", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("TestCategory", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("TestType", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("Vital", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("VitalSignType", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("ChatResponses", EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("ChatRole", EntitySetRights.AllRead);
        }
コード例 #4
0
 // 仅调用此方法一次以初始化涉及服务范围的策略。
 public static void InitializeService(IDataServiceConfiguration config)
 {
     // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
     // 示例:
     config.SetEntitySetAccessRule("*", EntitySetRights.All);
     // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
 }
コード例 #5
0
        public static void InitializeService(IDataServiceConfiguration config)
        {
#if DEBUG
            config.UseVerboseErrors = true;
#endif
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            config.SetServiceOperationAccessRule("*", ServiceOperationRights.AllRead);
        }
コード例 #6
0
 // 本方法只被调用一次来初始化服务的全局规则。
 public static void InitializeService(IDataServiceConfiguration config)
 {
     // 设定规则,表明那些实体集合和服务操作是可见的,可以更新的,等等。
     config.UseVerboseErrors = true;
     config.SetEntitySetAccessRule("*", EntitySetRights.All);
     config.SetServiceOperationAccessRule("SearchCourses",
                                          ServiceOperationRights.All);
 }
コード例 #7
0
ファイル: TeamService.svc.cs プロジェクト: gnomix/T.A.L.K.
 // Cette méthode n'est appelée qu'une seule fois pour initialiser les stratégies au niveau des services.
 public static void InitializeService(IDataServiceConfiguration config)
 {
     // TODO : définissez des règles pour indiquer les jeux d'entités et opérations de service visibles, pouvant être mis à jour, etc.
     // Exemples :
     // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
     // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
     config.SetEntitySetAccessRule("*", EntitySetRights.All);
 }
コード例 #8
0
 public PersistenceService(Func <INcsContext> ncsContext, ILogger logger, IDateTimeProvider dateTimeProvider, IBulkInsert bulkInsert, IClearService clearService, IDataServiceConfiguration dataServiceConfiguration)
 {
     _ncsContext               = ncsContext;
     _logger                   = logger;
     _dateTimeProvider         = dateTimeProvider;
     _bulkInsert               = bulkInsert;
     _clearService             = clearService;
     _dataServiceConfiguration = dataServiceConfiguration;
 }
コード例 #9
0
        public static void InitializeService(IDataServiceConfiguration config)
        {
            GetProvider().InitializeService <TDataContext>(config);

            config.SetServiceOperationAccessRule("AttachFilesToEntity", ServiceOperationRights.All);
            config.SetServiceOperationAccessRule("DeleteEntity", ServiceOperationRights.All);
            config.SetServiceOperationAccessRule("GetEntityUrl", ServiceOperationRights.ReadSingle);
            config.SetServiceOperationAccessRule("GetSiteMapChildren", ServiceOperationRights.AllRead);
        }
コード例 #10
0
    public static void InitializeService(IDataServiceConfiguration config)
    {
        //entities
        config.SetEntitySetAccessRule("Pictures", EntitySetRights.All);
        config.SetEntitySetAccessRule("Tags", EntitySetRights.WriteAppend | EntitySetRights.AllRead);
        config.UseVerboseErrors = true;

        //operations
        config.SetServiceOperationAccessRule("*", ServiceOperationRights.ReadSingle);
    }
コード例 #11
0
    public static void InitializeService(IDataServiceConfiguration config) 
    {
        //entities
        config.SetEntitySetAccessRule("Pictures", EntitySetRights.All);
        config.SetEntitySetAccessRule("Tags", EntitySetRights.WriteAppend | EntitySetRights.AllRead);
        config.UseVerboseErrors = true;

        //operations
        config.SetServiceOperationAccessRule("*", ServiceOperationRights.ReadSingle);
    }
コード例 #12
0
 // This method is called only once to initialize service-wide policies.
 public static void InitializeService(IDataServiceConfiguration config)
 {
     // Set rules to indicate which entity sets and service operations
     // are visible, updatable, etc.
     config.UseVerboseErrors = true;
     config.SetEntitySetAccessRule("*", EntitySetRights.All);
     config.SetServiceOperationAccessRule("CoursesByPersonID",
                                          ServiceOperationRights.All);
     config.SetServiceOperationAccessRule("GetPersonUpdateException",
                                          ServiceOperationRights.All);
 }
コード例 #13
0
        public override void InitializeService <TDataContext>(IDataServiceConfiguration config)
        {
            base.InitializeService <TDataContext>(config);

            foreach (var entitySet in GetEntitySetsWithRights <TDataContext>(_entitySetRightsByLogicalName))
            {
                config.SetEntitySetAccessRule(entitySet.Key, entitySet.Value);
            }

            config.RegisterKnownType(typeof(ExtendedSiteMapChildInfo));
        }
コード例 #14
0
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(IDataServiceConfiguration config)
        {
            // Make certain entity sets writable.
            config.SetEntitySetAccessRule("Customers", EntitySetRights.All);
            config.SetEntitySetAccessRule("Employees", EntitySetRights.All);
            config.SetEntitySetAccessRule("Orders", EntitySetRights.All);
            config.SetEntitySetAccessRule("Order_Details", EntitySetRights.All);
            config.SetEntitySetAccessRule("Products", EntitySetRights.All);

            // Make the remaining entity sets read-only.
            config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
        }
コード例 #15
0
        // This method is called only once to initialize
        //service-wide policies.
        public static void InitializeService(IDataServiceConfiguration
                                             config)
        {
            config.SetEntitySetAccessRule("Orders", EntitySetRights.All);
            config.SetEntitySetAccessRule("Items", EntitySetRights.All);


            //// Grant only the rights needed to support the client application.
            //config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead
            //        | EntitySetRights.WriteMerge
            //        | EntitySetRights.WriteReplace);
            //config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
            //    | EntitySetRights.AllWrite);
            //config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);
        }
コード例 #16
0
        /// <summary>
        /// This method is called only once to initialize service-wide policies.
        /// </summary>
        public static void InitializeService(IDataServiceConfiguration config)
        {
            // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
            // Examples:
            // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);

            // For testing purposes use "*" to indicate all entity sets/service operations.
            // "*" should NOT be used in production systems.
            // This Sample only exposes the entity sets needed by the application we are building.
            // This Sample uses EntitySetRight.All which allows both Read and Write access to the Entity Set.
            config.SetEntitySetAccessRule("Products", EntitySetRights.All);
            config.SetEntitySetAccessRule("ProductCategories", EntitySetRights.All);
            config.SetEntitySetAccessRule("ProductDescriptions", EntitySetRights.All);
            config.SetEntitySetAccessRule("ProductModelProductDescriptions", EntitySetRights.All);
            config.SetEntitySetAccessRule("ProductModels", EntitySetRights.All);
        }
コード例 #17
0
 // This method is called only once to initialize service-wide policies.
 public static void InitializeService(IDataServiceConfiguration config)
 {
     try
     {
         // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
         // Examples:
         config.UseVerboseErrors = true;
         config.SetEntitySetAccessRule("*", EntitySetRights.None);
         config.SetEntitySetAccessRule("States", EntitySetRights.AllRead);
         config.SetEntitySetAccessRule("Cities", EntitySetRights.AllRead);
         config.SetEntitySetAccessRule("Neighborhoods", EntitySetRights.AllRead);
         config.SetEntitySetAccessRule("Addresses", EntitySetRights.AllRead);
         //config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
     }
     catch (Exception e)
     {
         throw new DataServiceException(e.Message + "\n" + e.StackTrace);
     }
 }
コード例 #18
0
 /// <summary>Initializes the service configuration.</summary>
 public static void InitializeService(IDataServiceConfiguration configuration)
 {
     configuration.SetEntitySetAccessRule("*", EntitySetRights.All);
     configuration.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
     configuration.UseVerboseErrors = true;
 }
コード例 #19
0
ファイル: orderitems.svc.cs プロジェクト: wzchua/docs
 // This method is called only once to initialize
 //service-wide policies.
 public static void InitializeService(IDataServiceConfiguration
                                      config)
 {
     config.SetEntitySetAccessRule("Orders", EntitySetRights.All);
     config.SetEntitySetAccessRule("Items", EntitySetRights.All);
 }
コード例 #20
0
        /// <summary>Initializes the service configuration.</summary>
        public static void InitializeService(IDataServiceConfiguration configuration)
        {
            APICallLog.Current.DataService.InitializeService("TestDataWebService");
            //Because the configuration settings can be deliberately messed up on the server-side before calling ClearAll() ,
            //we need this to be the first step in the InitializeService
            ClearAllIfRequired();
            try
            {
                foreach (string setting in configurationSettings.PropertySetList)
                {
                    if (setting == "UseVerboseErrors")
                    {
                        configuration.UseVerboseErrors = configurationSettings.UseVerboseErrors;
                    }

                    else if (setting == "MaxBatchCount")
                    {
                        configuration.MaxBatchCount = configurationSettings.MaxBatchCount;
                    }

                    else if (setting == "MaxChangesetCount")
                    {
                        configuration.MaxChangesetCount = configurationSettings.MaxChangesetCount;
                    }

                    else if (setting == "MaxExpandCount")
                    {
                        configuration.MaxExpandCount = configurationSettings.MaxExpandCount;
                    }

                    else if (setting == "MaxExpandDepth")
                    {
                        configuration.MaxExpandDepth = configurationSettings.MaxExpandDepth;
                    }

                    else if (setting == "MaxObjectCountOnInsert")
                    {
                        configuration.MaxObjectCountOnInsert = configurationSettings.MaxObjectCountOnInsert;
                    }

                    else if (setting == "MaxResultsPerCollection")
                    {
                        configuration.MaxResultsPerCollection = configurationSettings.MaxResultsPerCollection;
                    }
                }

                foreach (string entity in configurationSettings.EntitySetAccessRules.Keys)
                {
                    configuration.SetEntitySetAccessRule(entity, configurationSettings.EntitySetAccessRules[entity]);
                }

                foreach (string entity in configurationSettings.ServiceOperationAccessRules.Keys)
                {
                    configuration.SetServiceOperationAccessRule(entity, configurationSettings.ServiceOperationAccessRules[entity]);
                }

                MethodInfo mi = configuration.GetType().GetMethod("SetEntitySetPageSize", BindingFlags.Instance | BindingFlags.Public);
                if (mi != null)
                {
                    foreach (string entity in configurationSettings.EntitySetPageSizes.Keys)
                    {
                        mi.Invoke(configuration, new object[] { entity, configurationSettings.EntitySetPageSizes[entity] });
                    }
                }

                foreach (string type in configurationSettings.KnownTypesToRegister)
                {
                    Type t = Type.GetType(type);

                    if (t == null)
                    {
                        t = typeof(TestDataWebService <>).Assembly.GetType(type);
                    }

                    if (t == null)
                    {
                        throw new DataServiceException(500, "Could not resolve type with name '" + type + "'");
                    }

                    configuration.RegisterKnownType(t);
                }

                MethodInfo enableTypeAccess = configuration.GetType().GetMethod("EnableTypeAccess", BindingFlags.Instance | BindingFlags.Public);
                if (enableTypeAccess != null)
                {
                    // Note: the provider wrapper for IDSMP is strict about calls to TryResolveResourceType.
                    // However, the DataServiceConfiguration.EnableTypeAccess method does not cache resolved types,
                    // so we need to explicitly turn off the extra validation before calling it.
                    bool oldValue = MetadataProviderWrapper.ValidateTypeResolution;
                    try
                    {
                        MetadataProviderWrapper.ValidateTypeResolution = false;
                        foreach (string typeName in configurationSettings.EnableAccessToTypes)
                        {
                            enableTypeAccess.Invoke(configuration, new object[] { typeName });
                        }
                    }
                    finally
                    {
                        // make sure to turn the validation back on, if it was on
                        MetadataProviderWrapper.ValidateTypeResolution = oldValue;
                    }
                }

                if (configuration.GetType().Name == "DataServiceConfiguration")
                {
                    PropertyInfo dsb = configuration.GetType().GetProperty("DataServiceBehavior");
                    if (dsb != null)
                    {
                        object dataServiceBevhaior = dsb.GetValue(configuration, null);
                        if (dataServiceBevhaior != null)
                        {
                            Type dataServiceBehaviorType = dataServiceBevhaior.GetType();

                            if (configurationSettings.PropertySetList.Contains("AllowCountRequests"))
                            {
                                PropertyInfo propertyInfo = dataServiceBehaviorType.GetProperty("AcceptCountRequests");
                                propertyInfo.SetValue(dataServiceBevhaior, configurationSettings.AllowCountRequests, null);
                            }

                            if (configurationSettings.PropertySetList.Contains("AllowProjectionRequests"))
                            {
                                PropertyInfo propertyInfo = dataServiceBehaviorType.GetProperty("AcceptProjectionRequests");
                                propertyInfo.SetValue(dataServiceBevhaior, configurationSettings.AllowProjectionRequests, null);
                            }

                            if (configurationSettings.PropertySetList.Contains("InvokeInterceptorsOnLinkDelete"))
                            {
                                PropertyInfo propertyInfo = dataServiceBehaviorType.GetProperty("InvokeInterceptorsOnLinkDelete");
                                propertyInfo.SetValue(dataServiceBevhaior, configurationSettings.InvokeInterceptorsOnLinkDelete, null);
                            }

                            if (configurationSettings.PropertySetList.Contains("MaxProtocolVersion") && configurationSettings.MaxProtocolVersion.HasValue)
                            {
                                PropertyInfo propertyInfo = dataServiceBehaviorType.GetProperty("MaxProtocolVersion");
                                propertyInfo.SetValue(dataServiceBevhaior, configurationSettings.MaxProtocolVersion, null);
                            }
                        }
                    }
                    //
                    //object
                }
            }
            catch (Exception excpt)
            {
                if (!ClearAllIfRequired())
                {
                    throw new DataServiceException(excpt.ToString(), excpt);
                }
            }
            finally
            {
                APICallLog.Current.Pop();
            }
        }