// 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; }
public static void InitializeService(IDataServiceConfiguration configuration) { foreach (Type type in registeredTypes) { configuration.RegisterKnownType(type); } }
// 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); }
// 仅调用此方法一次以初始化涉及服务范围的策略。 public static void InitializeService(IDataServiceConfiguration config) { // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。 // 示例: config.SetEntitySetAccessRule("*", EntitySetRights.All); // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All); }
public static void InitializeService(IDataServiceConfiguration config) { #if DEBUG config.UseVerboseErrors = true; #endif config.SetEntitySetAccessRule("*", EntitySetRights.All); config.SetServiceOperationAccessRule("*", ServiceOperationRights.AllRead); }
// 本方法只被调用一次来初始化服务的全局规则。 public static void InitializeService(IDataServiceConfiguration config) { // 设定规则,表明那些实体集合和服务操作是可见的,可以更新的,等等。 config.UseVerboseErrors = true; config.SetEntitySetAccessRule("*", EntitySetRights.All); config.SetServiceOperationAccessRule("SearchCourses", ServiceOperationRights.All); }
// 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); }
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; }
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); }
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); }
// 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); }
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)); }
// 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); }
// 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); }
/// <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); }
// 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); } }
/// <summary>Initializes the service configuration.</summary> public static void InitializeService(IDataServiceConfiguration configuration) { configuration.SetEntitySetAccessRule("*", EntitySetRights.All); configuration.SetServiceOperationAccessRule("*", ServiceOperationRights.All); configuration.UseVerboseErrors = true; }
// 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); }
/// <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(); } }