Skip to main content
All docs
V26.1
  • IJsonDataConnectionProviderService Interface

    Defines a service that resolves a JSON connection by name.

    Namespace: DevExpress.DataAccess.Json

    Assembly: DevExpress.DataAccess.v26.1.dll

    NuGet Package: DevExpress.DataAccess

    Declaration

    public interface IJsonDataConnectionProviderService

    The following members return IJsonDataConnectionProviderService objects:

    Remarks

    A JSON data source can use a custom connection service for the JSON data source to obtain a connection string by its name.

    The following code retrieves a connection string from the dictionary for the given connection name, creates and returns the JsonDataConnection object.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using DevExpress.DataAccess.Json;
    using DevExpress.DataAccess.Web;
    using ReportWizardCustomizationServiceAspNetCoreExample.Data;
    
    namespace ReportWizardCustomizationServiceAspNetCoreExample.Services
    {
        public class CustomJsonDataConnectionProviderFactory : IJsonDataConnectionProviderFactory {
            protected ReportDbContext DbContext { get; }
    
            public CustomJsonDataConnectionProviderFactory(ReportDbContext dbContext) {
                DbContext = dbContext;
            }
    
            public IJsonDataConnectionProviderService Create() {
                return new WebDocumentViewerJsonDataConnectionProvider(DbContext.JsonDataConnections.ToList());
            }
        }
    
        public class WebDocumentViewerJsonDataConnectionProvider : IJsonDataConnectionProviderService
        {
            readonly IEnumerable<DataConnection> jsonDataConnections;
            public WebDocumentViewerJsonDataConnectionProvider(IEnumerable<DataConnection> jsonDataConnections) {
                this.jsonDataConnections = jsonDataConnections;
            }
            public JsonDataConnection GetJsonDataConnection(string name) {
                var connection = jsonDataConnections.FirstOrDefault(x => x.Name == name);
                if(connection == null)
                    throw new InvalidOperationException();
                return CustomDataSourceWizardJsonDataConnectionStorage.CreateJsonDataConnectionFromString(connection);
            }
        }
    }
    

    For more information and code examples, review the following help topic: Register JSON Data Connections (ASP.NET Core).

    See Also