Question

Est-il possible d'utiliser un fournisseur de données .NET personnalisé sans l'installer dans le GAC?

Puis-je faire référence à une DLL personnalisée et l'enregistrer dans mon fichier de configuration?

Était-ce utile?

La solution

Oui, vous pouvez enregistrer une implémentation du Dbproviderfactory classe en ajoutant le Section suivante Dans votre fichier de configuration:

<system.data>
    <DbProviderFactories>
        <add name="My Custom Data Provider"
             invariant="MyCustomDataProvider" 
             description="Data Provider for My Custom Store" 
             type="MyNamespace.MyCustomProviderFactory, MyCustomDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=" />
    </DbProviderFactories>
</system.data>

La MyCustomDataProvider L'assemblage n'a pas à être enregistré dans le GAC mais peut être déployé avec l'application en tant que assemblée privée.

Vous pouvez vous référer au fournisseur de données enregistré par programme en utilisant la valeur spécifiée dans le invariant attribut. Par exemple, vous pouvez dire à ado.net d'utiliser le MyNamespace.MyCustomProviderFactory en spécifiant MyCustomProvider comme le providerName Dans la chaîne de connexion:

<connectionStrings>
    <add name="ConnString" 
         providerName="MyCustomProvider" 
         connectionString="MyCustomConnectionString" />
</connectionStrings>

Dans le code, vous pouvez utiliser le même nom de fournisseur avec le Dbproviderfactories.getfactory méthode:

DbProviderFactory factory = DbProviderFactories.GetFactory("MyCustomDataProvider");

factory sera une instance du MyNamespace.MyCustomProviderFactory classer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top