翻譯|使用教程|編輯:董玉霞|2022-03-07 17:30:43.610|閱讀 222 次
概述:dotConnect for Oracle 可用于 ASP.NET 提供程序模型,它允許開發人員編寫更好的結構化應用程序,并輕松地將 ASP.NET 應用程序中的數據存儲從其他媒體(如 Microsoft SQL Server)切換。本文主要介紹如何設置 ASP.NET 應用程序以使用 dotConnect for Oracle 。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
dotConnect for Oracle 可用于 ASP.NET 提供程序模型,它允許開發人員編寫更好的結構化應用程序,并輕松地將 ASP.NET 應用程序中的數據存儲從其他媒體(如 Microsoft SQL Server)切換。本文主要介紹如何設置 ASP.NET 應用程序以使用 dotConnect for Oracle 。
所有提供程序都包含在 Devart.Data.Oracle.Web.dll 程序集中。您應該在項目中添加對此程序集的引用,以便使用 ASP.NET 提供程序模型,提供程序正常運行的另一個條件是存在某些數據庫對象。在使用 ASP.NET 提供程序之前,您應該 針對您希望使用的數據庫運行InstallWebTables.sql腳本,可以在\Program Files\Devart\dotConnect\Oracle\文件夾中找到該腳本。
在安裝過程中,dotConnect for Oracle 將新條目添加到machine.config 文件中。當設置未被本地 Web.config 文件覆蓋時,它們由網站使用。您可以選擇將設置保留在 machine.config 中,在這種情況下,它們將用于所有網站,或者保留在 Web.config 文件中,您可以在其中設置特定參數。請注意,machine.config 文件中的默認連接字符串不正確,需要調整或覆蓋它。
在 Web.config 文件中重新定義標識符時,必須在相應部分添加remove 關鍵字,如下所示:
<remove name="OracleServices" />
<add name="OracleServices" connectionString="User Id=Scott;Password=tiger;Data
Source=Ora" />
此示例演示如何調整連接字符串參數。默認情況下,dotConnect for Oracle 創建一個名為OracleServices的存根連接字符串。
您還可以使用標準控制面板小程序“ASP.NET 配置設置”來配置您的網站。要打開它,請導航到控制面板 | 管理工具 | Internet Information Services,然后選擇站點或虛擬目錄,打開其屬性,切換到ASP.NET,然后單擊Edit Configuration。此對話框提供對各種站點設置的控制,包括連接字符串。
會員提供者的基本工作是與包含有關站點注冊用戶的數據的數據源進行交互,并提供創建用戶、刪除用戶、驗證登錄憑據、更改密碼等的方法。.NET Framework 的 System.Web.Security 命名空間包括一個名為 MembershipUser 的類,它定義了成員資格用戶的基本屬性,并且成員資格提供程序使用它來表示單個用戶。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleMembershipProvider 類。它的行為類似于 System.Web.Security.RoleProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleMembershipProvider 的 ASP.NET 應用程序的 Web.config 文件。
<configuration>
<connectionStrings>
<add name="OracleServices"
connectionString="User Id=Scott;Password=tiger;Data Source=Ora" />
</connectionStrings>
<system.web>
...
<membership defaultProvider="AspNetOracleMembershipProvider"
userIsOnlineTimeWindow="15">
<providers>
<add
name="AspNetOracleMembershipProvider"
type="Devart.Data.Oracle.Web.Providers.OracleMembershipProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09af7300eec23701"
connectionStringName="OracleServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10" />
</providers>
</membership>
</system.web>
</configuration>
注意:將“7.0.6.0”替換為實際的提供程序版本。
角色提供者的基本工作是與包含角色數據的數據源接口,將用戶映射到角色,并提供創建角色、刪除角色、將用戶添加到角色等的方法。給定用戶名,角色管理器依賴角色提供者來確定用戶屬于哪個或哪些角色。角色管理器還通過調用提供程序中的底層方法來實現管理方法,例如 Roles.CreateRole 和 Roles.AddUserToRole。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleRoleProvider 類。它的行為類似于 System.Web.Security.RoleProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleRoleProvider 的 ASP.NET 應用程序的 Web.config 文件。請注意,您可以將 OracleRoleProvider 配置為使用與 OracleMembershipProvider 相同的數據庫和用戶信息,以便將單個數據庫用于身份驗證和授權信息。
<configuration>
<connectionStrings>
<add name="OracleServices"
connectionString="User Id=Scott;Password=tiger;Data Source=Ora" />
</connectionStrings>
<system.web>
...
<roleManager defaultProvider="AspNetOracleRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieProtection="All" >
<providers>
<add
name="AspNetOracleRoleProvider"
type="Devart.Data.Oracle.Web.Providers.OracleRoleProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09af7300eec23701"
connectionStringName="OracleServices" />
</providers>
</roleManager>
</system.web>
</configuration>
注意:將“7.0.6.0”替換為實際的提供程序版本。
ASP.NET 4.5 和 ASP.NET MVC 4 引入了新的成員 API - SimpleMembership,旨在改進和簡化 ASP.NET 中內置安全性的使用。這些 SimpleMembership API 被實現為 SimpleRoleProvider 和 SimpleMembershipProvider 提供程序。作為它們的前輩,它們旨在使用包含有關站點注冊用戶的數據的數據源以及包含將用戶分別映射到角色的角色數據的數據源。
為了支持此操作,dotConnect for Oracle功能可實現 OracleExtendedMembershipProvider 和 OracleExtendedRoleProvider 類,它們的行為與上述標準提供程序類相同。
配置文件提供程序的基本工作是將 ASP.NET 提供的配置文件屬性值寫入持久配置文件數據源,并在 ASP.NET 請求時從數據源讀回屬性值。
與 Session State 提供者不同,Profile 提供者是一個類型化的結構化數據存儲。它支持注冊用戶和匿名用戶,配置文件提供者還實現了允許消費者管理配置文件數據源的方法。 例如,刪除自指定日期以來未訪問過的配置文件。
使用當前 HttpContext 對象的 Profile 屬性訪問用戶配置文件,以下示例顯示了配置為使用 OracleProfileProvider 的 ASP.NET 應用程序的 Web.config 文件。
<configuration>
<connectionStrings>
<add name="OracleServices"
connectionString="User Id=Scott;Password=tiger;Data Source=Ora" />
</connectionStrings>
<system.web>
...
<profile defaultProvider="AspNetOracleProfileProvider" >
<providers>
<add
name="AspNetOracleProfileProvider"
type="Devart.Data.Oracle.Web.Providers.OracleProfileProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09af7300eec23701"
connectionStringName="OracleServices" />
</providers>
<properties>
<add name="ZipCode" />
<add name="CityAndState" />
</properties>
</profile>
</system.web>
</configuration>
注意:將“7.0.6.0”替換為實際的提供程序版本。
會話狀態存儲提供程序在處理 ASP.NET 頁面期間由 SessionStateModule 類調用,以與數據存儲進行通信,以存儲和檢索會話變量和相關的會話信息,例如超時值。每個 ASP.NET 應用程序中的會話數據為每個 SessionID 屬性單獨存儲,ASP.NET 應用程序不共享會話數據。
以下示例顯示了配置為使用 OracleSessionStateStore 的 ASP.NET 應用程序的 Web.config 文件。
<configuration>
<appSettings/>
<connectionStrings>
<add name="OracleServices"
connectionString="User Id=Scott;Password=tiger;Data Source=Ora"/>
</connectionStrings>
<system.web>
<sessionState
cookieless="true"
regenerateExpiredSessionId="true"
mode="Custom"
customProvider="OracleSessionProvider">
<providers>
<add name="OracleSessionProvider"
type="Devart.Data.Oracle.Web.Providers.OracleSessionStateStore,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09af7300eec23701"
connectionStringName="OracleSessionServices"
writeExceptionsToEventLog="false"/>
</providers>
</sessionState>
</system.web>
</configuration>
注意:將“7.0.6.0”替換為實際的提供程序版本。
ASP.NET 站點地圖提供程序提供了 ASP.NET 的數據驅動站點導航功能和站點地圖數據源之間的接口。OracleSiteMapProvider 的基本工作是從數據源讀取站點地圖數據并構建 SiteMapNode 對象的倒置樹,并提供從站點地圖中檢索節點的方法。樹中的每個節點代表站點地圖中的一個節點。Title、Url 和 ChildNodes 等節點屬性定義了每個節點的特征,并允許樹在任何方向上導航。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleSiteMapProvider 類,它的行為類似于 System.Web.SiteMapProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleSiteMaProvider 的 ASP.NET 應用程序的 Web.config 文件。
<system.web>
<siteMap defaultProvider="OracleSiteMapProvider">
<providers>
<add name="OracleSiteMapProvider"
type="Devart.Data.Oracle.Web.Providers.OracleSiteMapProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09AF7300EEC23701"
connectionStringName="ConnectionString"
securityTrimmingEnabled="true"
/>
</providers>
</siteMap>
</system.web>
注意:將“7.0.6.0”替換為實際的提供程序版本。
Web 事件提供程序在 ASP.NET 的健康監視子系統和記錄,或進一步處理由該子系統觸發的事件(“Web 事件”)的數據源之間提供接口。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleWebEventProvider 類,它的行為類似于 System.Web.Management.WebEventProvider 類(您可以在MSDN中閱讀它的描述),以下示例顯示了配置為使用 OracleWebEventProvider 的 ASP.NET 應用程序的 Web.config 文件。請注意,正確使用提供程序還需要正確配置 healthMonitoring的許多其他子部分。
<system.web>
<healthMonitoring enabled="true" heartbeatInterval="0">
...
<providers>
<clear/>
<add name="OracleWebEventProvider"
type="Devart.Data.Oracle.Web.Providers.OracleWebEventProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09AF7300EEC23701"
connectionStringName="ConnectionString"
maxEventDetailsLength="1073741823"
buffer="false"
bufferMode="Notification" />
</providers>
...
</healthMonitoring>
<system.web>
注意:將“7.0.6.0”替換為實際的提供程序版本。
個性化提供者的基本工作是為有關網頁內容和布局的個性化狀態提供持久存儲。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OraclePersonalizationProvider 類,它的行為類似于 System.Web.UI.WebControls.WebParts.PersonalizationProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OraclePersonalizationProvider 的 ASP.NET 應用程序的 Web.config 文件。
<system.web>
<webParts>
<personalization defaultProvider="WebPartProvider">
<providers >
<add name="WebPartProvider"
connectionStringName="ConnectionString"
type="Devart.Data.Oracle.Web.Providers.OraclePersonalizationProvider,
Devart.Data.Oracle.Web, Version=7.0.6.0, Culture=neutral,
PublicKeyToken=09af7300eec23701" />
</providers>
</personalization>
</webParts>
<system.web>
注意:將“7.0.6.0”替換為實際的提供程序版本。
要部署使用 dotConnect for Oracle 編寫的 ASP.NET 應用程序,您應該在全局程序集緩存 (GAC) 中注冊運行時程序集Devart.Data.dll、Devart.Data.Oracle.dll和 Devart.Data.Oracle.Web.dll,對于適當的框架或將它們放在應用程序的文件夾中(Web 項目的Bin文件夾)。
此外,將App_Licenses.dll程序集放在 Bin 文件夾中。
請記住,Web 應用程序通常在部分受信任的環境中運行。以下是 dotConnect for Oracle 所需的權限:
以上是關于數據庫控件dotConnect for Oracle高級功能使用教程里的ASP.NET 提供程序模型支持的相關內容,進入官網可下載最新版本試用。
dotConnect for Oracle建立在ADO.NET技術上,為基于Oracle數據庫的應用程序提供完整的解決方案。它為設計應用程序結構帶來了新的方法,提高工作效率,使數據庫應用程序的開發更簡便。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn