翻譯|使用教程|編輯:董玉霞|2022-03-07 17:30:43.610|閱讀 222 次
概述:dotConnect for Oracle 可用于 ASP.NET 提供程序模型,它允許開發(fā)人員編寫更好的結(jié)構(gòu)化應(yīng)用程序,并輕松地將 ASP.NET 應(yīng)用程序中的數(shù)據(jù)存儲從其他媒體(如 Microsoft SQL Server)切換。本文主要介紹如何設(shè)置 ASP.NET 應(yīng)用程序以使用 dotConnect for Oracle 。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
dotConnect for Oracle 可用于 ASP.NET 提供程序模型,它允許開發(fā)人員編寫更好的結(jié)構(gòu)化應(yīng)用程序,并輕松地將 ASP.NET 應(yīng)用程序中的數(shù)據(jù)存儲從其他媒體(如 Microsoft SQL Server)切換。本文主要介紹如何設(shè)置 ASP.NET 應(yīng)用程序以使用 dotConnect for Oracle 。
所有提供程序都包含在 Devart.Data.Oracle.Web.dll 程序集中。您應(yīng)該在項目中添加對此程序集的引用,以便使用 ASP.NET 提供程序模型,提供程序正常運(yùn)行的另一個條件是存在某些數(shù)據(jù)庫對象。在使用 ASP.NET 提供程序之前,您應(yīng)該 針對您希望使用的數(shù)據(jù)庫運(yùn)行InstallWebTables.sql腳本,可以在\Program Files\Devart\dotConnect\Oracle\文件夾中找到該腳本。
在安裝過程中,dotConnect for Oracle 將新條目添加到machine.config 文件中。當(dāng)設(shè)置未被本地 Web.config 文件覆蓋時,它們由網(wǎng)站使用。您可以選擇將設(shè)置保留在 machine.config 中,在這種情況下,它們將用于所有網(wǎng)站,或者保留在 Web.config 文件中,您可以在其中設(shè)置特定參數(shù)。請注意,machine.config 文件中的默認(rèn)連接字符串不正確,需要調(diào)整或覆蓋它。
在 Web.config 文件中重新定義標(biāo)識符時,必須在相應(yīng)部分添加remove 關(guān)鍵字,如下所示:
<remove name="OracleServices" />
<add name="OracleServices" connectionString="User Id=Scott;Password=tiger;Data
Source=Ora" />
此示例演示如何調(diào)整連接字符串參數(shù)。默認(rèn)情況下,dotConnect for Oracle 創(chuàng)建一個名為OracleServices的存根連接字符串。
您還可以使用標(biāo)準(zhǔn)控制面板小程序“ASP.NET 配置設(shè)置”來配置您的網(wǎng)站。要打開它,請導(dǎo)航到控制面板 | 管理工具 | Internet Information Services,然后選擇站點或虛擬目錄,打開其屬性,切換到ASP.NET,然后單擊Edit Configuration。此對話框提供對各種站點設(shè)置的控制,包括連接字符串。
會員提供者的基本工作是與包含有關(guān)站點注冊用戶的數(shù)據(jù)的數(shù)據(jù)源進(jìn)行交互,并提供創(chuàng)建用戶、刪除用戶、驗證登錄憑據(jù)、更改密碼等的方法。.NET Framework 的 System.Web.Security 命名空間包括一個名為 MembershipUser 的類,它定義了成員資格用戶的基本屬性,并且成員資格提供程序使用它來表示單個用戶。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleMembershipProvider 類。它的行為類似于 System.Web.Security.RoleProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleMembershipProvider 的 ASP.NET 應(yīng)用程序的 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”替換為實際的提供程序版本。
角色提供者的基本工作是與包含角色數(shù)據(jù)的數(shù)據(jù)源接口,將用戶映射到角色,并提供創(chuàng)建角色、刪除角色、將用戶添加到角色等的方法。給定用戶名,角色管理器依賴角色提供者來確定用戶屬于哪個或哪些角色。角色管理器還通過調(diào)用提供程序中的底層方法來實現(xiàn)管理方法,例如 Roles.CreateRole 和 Roles.AddUserToRole。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleRoleProvider 類。它的行為類似于 System.Web.Security.RoleProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleRoleProvider 的 ASP.NET 應(yīng)用程序的 Web.config 文件。請注意,您可以將 OracleRoleProvider 配置為使用與 OracleMembershipProvider 相同的數(shù)據(jù)庫和用戶信息,以便將單個數(shù)據(jù)庫用于身份驗證和授權(quán)信息。
<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,旨在改進(jìn)和簡化 ASP.NET 中內(nèi)置安全性的使用。這些 SimpleMembership API 被實現(xiàn)為 SimpleRoleProvider 和 SimpleMembershipProvider 提供程序。作為它們的前輩,它們旨在使用包含有關(guān)站點注冊用戶的數(shù)據(jù)的數(shù)據(jù)源以及包含將用戶分別映射到角色的角色數(shù)據(jù)的數(shù)據(jù)源。
為了支持此操作,dotConnect for Oracle功能可實現(xiàn) OracleExtendedMembershipProvider 和 OracleExtendedRoleProvider 類,它們的行為與上述標(biāo)準(zhǔn)提供程序類相同。
配置文件提供程序的基本工作是將 ASP.NET 提供的配置文件屬性值寫入持久配置文件數(shù)據(jù)源,并在 ASP.NET 請求時從數(shù)據(jù)源讀回屬性值。
與 Session State 提供者不同,Profile 提供者是一個類型化的結(jié)構(gòu)化數(shù)據(jù)存儲。它支持注冊用戶和匿名用戶,配置文件提供者還實現(xiàn)了允許消費(fèi)者管理配置文件數(shù)據(jù)源的方法。 例如,刪除自指定日期以來未訪問過的配置文件。
使用當(dāng)前 HttpContext 對象的 Profile 屬性訪問用戶配置文件,以下示例顯示了配置為使用 OracleProfileProvider 的 ASP.NET 應(yīng)用程序的 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”替換為實際的提供程序版本。
會話狀態(tài)存儲提供程序在處理 ASP.NET 頁面期間由 SessionStateModule 類調(diào)用,以與數(shù)據(jù)存儲進(jìn)行通信,以存儲和檢索會話變量和相關(guān)的會話信息,例如超時值。每個 ASP.NET 應(yīng)用程序中的會話數(shù)據(jù)為每個 SessionID 屬性單獨(dú)存儲,ASP.NET 應(yīng)用程序不共享會話數(shù)據(jù)。
以下示例顯示了配置為使用 OracleSessionStateStore 的 ASP.NET 應(yīng)用程序的 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 的數(shù)據(jù)驅(qū)動站點導(dǎo)航功能和站點地圖數(shù)據(jù)源之間的接口。OracleSiteMapProvider 的基本工作是從數(shù)據(jù)源讀取站點地圖數(shù)據(jù)并構(gòu)建 SiteMapNode 對象的倒置樹,并提供從站點地圖中檢索節(jié)點的方法。樹中的每個節(jié)點代表站點地圖中的一個節(jié)點。Title、Url 和 ChildNodes 等節(jié)點屬性定義了每個節(jié)點的特征,并允許樹在任何方向上導(dǎo)航。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleSiteMapProvider 類,它的行為類似于 System.Web.SiteMapProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OracleSiteMaProvider 的 ASP.NET 應(yīng)用程序的 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 的健康監(jiān)視子系統(tǒng)和記錄,或進(jìn)一步處理由該子系統(tǒng)觸發(fā)的事件(“Web 事件”)的數(shù)據(jù)源之間提供接口。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OracleWebEventProvider 類,它的行為類似于 System.Web.Management.WebEventProvider 類(您可以在MSDN中閱讀它的描述),以下示例顯示了配置為使用 OracleWebEventProvider 的 ASP.NET 應(yīng)用程序的 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”替換為實際的提供程序版本。
個性化提供者的基本工作是為有關(guān)網(wǎng)頁內(nèi)容和布局的個性化狀態(tài)提供持久存儲。
要訪問此功能,請使用 Devart.Data.Oracle.Web.Providers.OraclePersonalizationProvider 類,它的行為類似于 System.Web.UI.WebControls.WebParts.PersonalizationProvider 類(您可以在MSDN中閱讀它的描述)。以下示例顯示了配置為使用 OraclePersonalizationProvider 的 ASP.NET 應(yīng)用程序的 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 應(yīng)用程序,您應(yīng)該在全局程序集緩存 (GAC) 中注冊運(yùn)行時程序集Devart.Data.dll、Devart.Data.Oracle.dll和 Devart.Data.Oracle.Web.dll,對于適當(dāng)?shù)目蚣芑驅(qū)⑺鼈兎旁趹?yīng)用程序的文件夾中(Web 項目的Bin文件夾)。
此外,將App_Licenses.dll程序集放在 Bin 文件夾中。
請記住,Web 應(yīng)用程序通常在部分受信任的環(huán)境中運(yùn)行。以下是 dotConnect for Oracle 所需的權(quán)限:
以上是關(guān)于數(shù)據(jù)庫控件dotConnect for Oracle高級功能使用教程里的ASP.NET 提供程序模型支持的相關(guān)內(nèi)容,進(jìn)入官網(wǎng)可下載最新版本試用。
dotConnect for Oracle建立在ADO.NET技術(shù)上,為基于Oracle數(shù)據(jù)庫的應(yīng)用程序提供完整的解決方案。它為設(shè)計應(yīng)用程序結(jié)構(gòu)帶來了新的方法,提高工作效率,使數(shù)據(jù)庫應(yīng)用程序的開發(fā)更簡便。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn