¿Es posible utilizar un proveedor de datos .NET personalizado sin instalarlo en el GAC?Proveedores de datos .NET personalizados
¿Puedo hacer referencia a una DLL personalizada y registrarla dentro de mi archivo de configuración?
¿Es posible utilizar un proveedor de datos .NET personalizado sin instalarlo en el GAC?Proveedores de datos .NET personalizados
¿Puedo hacer referencia a una DLL personalizada y registrarla dentro de mi archivo de configuración?
Sí, se puede registrar una implementación de la clase DbProviderFactory añadiendo el following section en su fichero de configuración:
<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>
El conjunto MyCustomDataProvider
no tiene que ser registrado en la GAC, pero puede ser desplegado junto con la aplicación como private assembly.
Puede consultar el proveedor de datos registrado mediante programación utilizando el valor especificado en el atributo invariant
. Por ejemplo, usted podría decir ADO.NET para utilizar el MyNamespace.MyCustomProviderFactory
especificando MyCustomProvider
como el providerName
en la cadena de conexión:
<connectionStrings>
<add name="ConnString"
providerName="MyCustomProvider"
connectionString="MyCustomConnectionString" />
</connectionStrings>
En el código se puede utilizar el mismo nombre del proveedor con el método DbProviderFactories.GetFactory:
DbProviderFactory factory = DbProviderFactories.GetFactory("MyCustomDataProvider");
donde factory
será una instancia de la clase MyNamespace.MyCustomProviderFactory
.
Eso es exactamente lo que estoy haciendo. No entiendo donde me estoy equivocando? – Mackolicious
¿Ha intentado especificar el [nombre completo del ensamblado] (http://msdn.microsoft.com/en-us/library/k8xx4k69.aspx) en el atributo 'type'? –
Olvidé incluir la DLL en mi proyecto de inicio. – Mackolicious