Có thể sử dụng nhà cung cấp dữ liệu .NET tùy chỉnh mà không cần cài đặt nó trong GAC không?Nhà cung cấp dữ liệu .NET tùy chỉnh
Tôi có thể tham chiếu DLL tùy chỉnh và đăng ký nó bên trong tệp cấu hình của mình không?
Có thể sử dụng nhà cung cấp dữ liệu .NET tùy chỉnh mà không cần cài đặt nó trong GAC không?Nhà cung cấp dữ liệu .NET tùy chỉnh
Tôi có thể tham chiếu DLL tùy chỉnh và đăng ký nó bên trong tệp cấu hình của mình không?
Có, bạn có thể đăng ký một thực hiện các lớp DbProviderFactory bằng cách thêm following section trong tập tin cấu hình của bạ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>
Việc lắp ráp MyCustomDataProvider
không nhất thiết phải được đăng ký trong GAC nhưng có thể được triển khai cùng với đơn đăng ký là private assembly.
Bạn có thể tham khảo nhà cung cấp dữ liệu đã đăng ký theo chương trình bằng cách sử dụng giá trị được chỉ định trong thuộc tính invariant
. Ví dụ, bạn có thể nói với ADO.NET để sử dụng MyNamespace.MyCustomProviderFactory
bằng cách xác định MyCustomProvider
như providerName
trong chuỗi kết nối:
<connectionStrings>
<add name="ConnString"
providerName="MyCustomProvider"
connectionString="MyCustomConnectionString" />
</connectionStrings>
Trong mã bạn có thể sử dụng tên nhà cung cấp cùng với DbProviderFactories.GetFactory phương pháp:
DbProviderFactory factory = DbProviderFactories.GetFactory("MyCustomDataProvider");
nơi factory
sẽ là một phiên bản của lớp MyNamespace.MyCustomProviderFactory
.
Đó chính xác là những gì tôi đang làm. Tôi không hiểu tôi đang đi đâu sai? – Mackolicious
Bạn đã cố gắng xác định [tên hội đủ điều kiện] (http://msdn.microsoft.com/en-us/library/k8xx4k69.aspx) trong thuộc tính 'type' chưa? –
Tôi quên đưa DLL vào dự án khởi động của mình. – Mackolicious