PK -Aoa,mimetypeapplication/epub+zipPK-AiTunesMetadata.plistn artistName Oracle Corporation book-info cover-image-hash 118959559 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 746548870 publisher-unique-id E18737-02 unique-id 731699186 genre Oracle Documentation itemName Oracle® Providers for ASP.NET Developer's Guide for Microsoft Windows, 11g Release 2 (11.2.0.3) releaseDate 2011-11-30T20:05:57Z year 2011 PK+lsnPK-AMETA-INF/container.xml PKYuPK-AOEBPS/IntroInstallation.htmEv Oracle Providers for ASP.NET Installation

Oracle Providers for ASP.NET Installation

Oracle Providers for ASP.NET is part of Oracle Data Access Components (ODAC), which can be downloaded from OTN. Beginning with ODAC 11.1.0.6.20, Oracle Providers for ASP.NET can be installed through XCopy or Oracle Universal Installer.


Note:

This section describes installation using the Oracle Universal Installer. For the XCopy installation instructions and configuration, refer to the README file that is part of that installation.

When Oracle Providers for ASP.NET are installed, Oracle Universal Installer automatically registers Oracle.Web.dll with the Global Assembly Cache (GAC).

The Oracle Providers for ASP.NET installation creates entries in the machine.config file of the computer on which it is installed. These entries provide basic configuration information for the Oracle Membership, Profile, Role, Site Map, Web Parts Personalization, and Web Event Providers. The machine.config includes a blank connection string for OraAspConString, which a developer can configure to connect to an Oracle database with the Oracle Providers for ASP.NET schema.


See Also:

"ASP.NET Client Setup" for more details

Additionally, Oracle Providers for ASP.NET Dynamic Help is registered with Visual Studio, providing context-sensitive online help that is seamlessly integrated with the Visual Studio Dynamic Help. With Dynamic Help, the user can access Oracle Providers for ASP.NET documentation within Visual Studio by placing the cursor on an Oracle Providers for ASP.NET keyword and pressing the F1 function key.

Once you have installed Oracle Providers for ASP.NET, two additional setup tasks are required, as follows:


See Also:

Oracle Database Installation Guide for Windows for installation instructions

Database Server Setup

The following sections explain how to configure the providers:

Database Privileges for Setup

To set up the Oracle database, database administrators must grant the following database privileges to the Oracle Providers for ASP.NET schema. These privileges grant the schema privileges to create the tables, views, stored procedures, and other database objects the Oracle Providers for ASP.NET require. These scripts must be run against the database from which the ASP.NET providers will retrieve their stored state information. These SQL scripts can be run using SQL*Plus or within Oracle Developer Tools for Visual Studio.

Oracle Providers for ASP.NET requires the following privileges during setup:

  • Change notification

  • Create job

  • Create procedure

  • Create public synonym

  • Create role

  • Create session

  • Create table

  • Create view

  • Drop public synonym

  • Grant access to and allocate space in an Oracle tablespace

Not all database privileges are required for Oracle Providers for ASP.NET runtime operations. Database administrators may selectively grant and revoke privileges as required. For runtime operations, all providers require that the CREATE SESSION privilege be granted to the schema user. In addition, the Site Map and Cache Dependency providers require the CHANGE NOTIFICATION privilege during runtime. The remaining privileges can be granted to the schema user just for installation and deinstallation, then revoked for runtime operations.

Errors that occur during the setup script execution may indicate that the user needs to be granted the above privileges. If this is the case, the database administrator must grant these privileges. The Oracle Session State Provider for ASP.NET requires the CREATE JOB privilege when Oracle Database 10g or later is the database.

Configuring All Oracle Providers for ASP.NET

To configure all providers in the database at once, run InstallAllOracleASPNETProviders.sql. This script is found in the ORACLE_BASE\\ORACLE_HOME\ASP.NET\sql directory.

To install Oracle Session State Provider with an Oracle Database 9i Release 2, developers must modify the InstallAllOracleASPNETProviders.sql script to call the appropriate install script for the provider as listed in Table 1-2. This script calls the configuration script for each provider one by one.

Configuring Oracle Providers for ASP.NET Individually

Applications may not require all Oracle Providers for ASP.NET. Providers can be set up individually. Except for the Oracle Session State Provider and Oracle Cache Dependency Provider, the following install script must be executed before any other install scripts: InstallOracleASPNETCommon.sql. Then, for each Oracle Provider for ASP.NET, a SQL script specific for that provider must be executed (in any order).

These install scripts are found in the ORACLE_BASE\\ORACLE_HOME\ASP.NET\sql directory.

Table 1-2 ASP.NET Provider Install Scripts

ProviderRequired Installation Script

Oracle Membership Provider

InstallOracleMembership.sql

Oracle Personalization Provider

InstallOraclePersonalization.sql

Oracle Profile Provider

InstallOracleProfile.sql

Oracle Role Provider

InstallOracleRoles.sql

Oracle Session State Provider

For Oracle Database 10g Release 1 and later InstallOracleSessionState.sql

For Oracle Database 9i Release 2 InstallOracleSessionState92.sql

There are correspondingly named uninstall scripts for these install scripts.

Note: This provider only requires the execution of the appropriate provider-specific .sql script as listed. It does not require the execution of InstallOracleASPNETCommon.sql.

Oracle Site Map Provider

InstallOracleSiteMap.sql

Oracle Web Events Provider

InstallOracleWebEvents.sql

Oracle Cache Dependency Provider

No script execution needed


General Setup Information

When Oracle Providers for ASP.NET installation scripts run, they execute, in turn, corresponding .plb scripts that are located in the same directory. The .plb scripts create the stored procedures and functions that the providers use. The installation .sql scripts must execute where the .plb file can be accessed.

Each provider also provides corresponding uninstall scripts to remove database objects that were created from the install scripts. These scripts are prefixed with the word Uninstall.

The install and uninstall scripts are the same for Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4

ASP.NET Client Setup

Installation configures the machine.config file to enable Oracle Providers for ASP.NET system-wide.

If both .NET Framework 2.0 and .NET Framework 4 are present, then the installer configures the machine.config files for both in order to enable Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4 system-wide.

After installation, developers must provide the connection information to the database schema that stores and retrieves the ASP.NET state information. This step requires developers to supply the User Id, Password, Data Source, and other connection string information if necessary. In the machine.config file, developers can provide an entry similar to the example below.

<connectionStrings>
<add name="OraAspNetConString" connectionString="User Id=aspnet;Password=aspnet;Data Source=oracle; " />
</connectionStrings>
 

Optionally, developers can customize the properties of each ASP.NET provider from within the <system.web> section of the machine.config.

While Oracle Universal Installer automatically configures the machine.config, developers can apply more fine grained application-level control over the Oracle Providers for ASP.NET by using the web.config file. This file overrides entries from the machine.config file, but only for the specific web application it is a part of. Developers can set up their web.config file with the same XML syntax as the machine.config file.

Developers can use standard ASP.NET management tools to configure the Oracle Providers for ASP.NET. Specifically, developers can use the Internet Information Services management console. In the ASP.NET Configuration Settings of the console, developers can modify the Oracle provider settings. Alternatively, in a Web Site project in Visual Studio, the ASP.NET Configuration choice under the Website menu item allows developers to set these settings for their specific Web Site projects.

A standard Oracle Providers for ASP.NET installation automatically sets up machine.config with default values, but administrators can modify the setup. Users can use the OraProvCfg utility to configure the provider-specific entry in the machine.config file as follows:


Note:

To configure Oracle Providers for ASP.NET 2.0, use the OraProvCfg utility under ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\2.x.

To configure Oracle Providers for ASP.NET 4, use the OraProvCfg utility under ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\4.


  • To display the OraProvCfg utility help:

    OraProvCfg -help 
    
  • To add Oracle Providers for ASP.NET-specific entries to the machine.config file:

     OraProvCfg  /action:config  /product:aspnet  /component:all
                 /frameworkversion:v2.0.50727
                 /providerpath:c:\Oracle\odp.net\bin\2.x\Oracle.Web.dll
    

    Where Framework version and Provider path (especially) may need to change accordingly.

  • To remove the Oracle Providers for ASP.NET-specific entries from the machine.config file:

    OraProvCfg  /action:unconfig  /product:aspnet  /component:all
                /frameworkversion:v2.0.50727
    

Where Framework version may need to change accordingly.

PK6vbvEEPK-AOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPK-A#OEBPS/IntroAssemblyandClassList.htm9 Oracle Providers for ASP.NET Assembly

Oracle Providers for ASP.NET Assembly

The Oracle providers for ASP.NET reside in namespaces contained in one assembly: Oracle.Web.dll.

Table 1-1 lists the provider types, class names, and namespaces that are part of Oracle.Web.dll.

Table 1-1 Oracle Providers for ASP.NET Namespaces and Providers

Provider TypeClass NameNamespace

Membership

OracleMembershipProvider Class


Oracle.Web.Security

Role

OracleRoleProvider Class


Oracle.Web.Security

Site Map

OracleSiteMapProvider Class


Oracle.Web.SiteMap

Session State

OracleSessionStateStore Class


Oracle.Web.SessionState

Profile

OracleProfileProvider Class


Oracle.Web.Profile

Web Event

OracleWebEventProvider Class


Oracle.Web.Management

Personalization

OraclePersonalizationProvider Class


Oracle.Web.Personalization

Cache Dependency

OracleCacheDependency Class


Oracle.Web.Caching


PK>9PK-AOEBPS/whatsnew.htm^ What's New in Oracle Providers for ASP.NET?

What's New in Oracle Providers for ASP.NET?

This section describes new features in Oracle Providers for ASP.NET.

New Features in Oracle Providers for ASP.NET Release 11.2.0.2

Oracle Providers for ASP.NET release 11.2.0.1.2 includes the following:

New Features in Oracle Providers for ASP.NET Release 11.2.0.1.2

Oracle Providers for ASP.NET release 11.2.0.1.2 includes the following:

PKBĴ{c ^ PK-A,OEBPS/OraclePersonalizationProviderClass.htm OraclePersonalizationProvider Class

OraclePersonalizationProvider Class

The OraclePersonalizationProvider class enables ASP.NET developers to store Web parts personalization information in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.UI.WebControls.WebParts.PersonalizationProvider

      Oracle.Web.Personalization.OraclePersonalizationProvider

Declaration

// C#
public class OraclePersonalizationProvider: PersonalizationProvider

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store and manage personalization information in an Oracle database.

Example

The following is a web.config example for an ASP.NET application that uses an OraclePersonalizationProvider as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file.

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <webParts>
      <personalization defaultProvider="OraclePersonalizationProvider"/>
    </webParts>
  </system.web>
</configuration>

The following is a web.config example for an ASP.NET application that uses an OraclePersonalizationProvider as the default provider, with customized settings and an application-specific connection string:

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_personalization_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <webParts>
      <!-- Enable and customize OraclePersonalizationProvider -->
      <personalization defaultProvider="CustomOraclePersonalizationProvider">
        <providers>
          <add name="CustomOraclePersonalizationProvider"
               type="Oracle.Web.Personalization.OraclePersonalizationProvider,
                     Oracle.Web, Version=2.112.2.0, Culture=neutral,
                     PublicKeyToken=89b483f429c47342"
               connectionStringName="my_personalization_app_con_string"
               applicationName="my_personalization_app"/>
        </providers>
      </personalization>
    </webParts>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.Personalization

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OraclePersonalizationProvider Members

OraclePersonalizationProvider members are listed in the following tables.

OraclePersonalizationProvider Constructors

The OraclePersonalizationProvider constructor is listed in Table 8-1.

Table 8-1 OraclePersonalizationProvider Constructor

ConstructorDescription

OraclePersonalizationProvider Constructors

Instantiates a new instance of the OraclePersonalizationProvider class


OraclePersonalizationProvider Static Methods

OraclePersonalizationProvider static methods are listed in Table 8-2.

Table 8-2 OraclePersonalizationProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object

ReferenceEquals

Inherited from System.Object


OraclePersonalizationProvider Public Properties

OraclePersonalizationProvider public properties are listed in Table 8-3.

Table 8-3 OraclePersonalizationProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that is used to specify personalization information specific to an application

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


OraclePersonalizationProvider Public Methods

OraclePersonalizationProvider public methods are listed in Table 8-4.

Table 8-4 OraclePersonalizationProvider Public Methods

Public MethodsDescription

FindState


Returns a collection containing zero or more PersonalizationStateInfo-derived objects based on scope and specific query parameters

GetCountOfState


Returns the number of rows in the underlying Oracle database that are within the specified scope

Initialize


Initializes the Oracle personalization provider

Equals

Inherited from System.Object (Overloaded)

ResetPersonalizationState

Inherited from System.Web.UI.WebControls.WebParts. PersonalizationProvider

ResetState


Deletes personalization state information from the underlying data source, based on the specified parameters

ResetUserState


Deletes user personalization data from the underlying Oracle data source, based on the specified parameters

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object

SavePersonalizationState

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider

DetermineInitialScope

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider

DetermineUserCapabilities

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider



OraclePersonalizationProvider Constructors

OraclePersonalizationProvider constructors create instances of the OraclePersonalizationProvider class.

Overload List:

OraclePersonalizationProvider()

This constructor creates an instance of the OraclePersonalizationProvider class.

Declaration

// C#
public OraclePersonalizationProvider();

Remarks

ASP.NET applications call this constructor to create an instance of the OraclePersonalizationProvider class as specified in the application configuration file. Initialization values for the OraclePersonalizationProvider instance are passed through the Initialize method.


OraclePersonalizationProvider Static Methods

The OraclePersonalizationProvider static methods are listed in Table 8-5.

Table 8-5 OraclePersonalizationProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object

ReferenceEquals

Inherited from System.Object



OraclePersonalizationProvider Public Properties

The OraclePersonalizationProvider public properties are listed in Table 8-6.

Table 8-6 OraclePersonalizationProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that is used to specify personalization information specific to an application

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


ApplicationName

This property gets or sets the name of the application that the personalization information is specific to.

Declaration

// C#
public override string ApplicationName{get; set;}

Property Value

The name of the application. If the applicationName attribute is not specified in the application configuration file, or if the value is an empty string, then this property is set to the application virtual path.

Exceptions

HttpException - The caller does not have high trust for ASP.NET hosting.

ProviderException - The ApplicationName string is greater than 256 characters.

Remarks

The main purpose of the ApplicationName property is to scope the data managed by OraclePersonalizationProvider object. Applications that specify the same ApplicationName string when configuring the Web parts personalization service share personalization state, but applications that specify unique ApplicationName strings do not. The OraclePersonalizationProvider must associate the personalization state with application names so operations performed on personalization data sources can be scoped accordingly.

The following example shows typical code that the OraclePersonalizationProvider might use to retrieve the personalization state for a user named Scott and an application named App:

SELECT * FROM PersonalizationState
WHERE UserName='Scott' AND Path='~/Default.aspx'
AND ApplicationName='App'

The final AND in the WHERE clause ensures that other applications that contain personalization state keyed by the same user name and path do not conflict with the App application.

If no value is specified for the applicationName attribute in the configuration file, then the default is the ApplicationPath property value for the current request. The attribute name in the configuration file is case-sensitive.

The ApplicationName property is not thread-safe. It is recommended that application code not allow users to set the ApplicationName property in Web applications.

CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OraclePersonalizationProvider Public Methods

The OraclePersonalizationProvider public methods are listed in Table 8-7.

Table 8-7 OraclePersonalizationProvider Public Methods

Public MethodsDescription

FindState


Returns a collection containing zero or more PersonalizationStateInfo-derived objects based on scope and specific query parameters

GetCountOfState


Returns the number of rows in the underlying Oracle database that are within the specified scope

Initialize


Initializes the Oracle personalization provider

Equals

Inherited from System.Object (Overloaded)

ResetPersonalizationState

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider

ResetState


Deletes personalization state information from the underlying data source, based on the specified parameters

ResetUserState


Deletes user personalization data from the underlying Oracle data source, based on the specified parameters

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object

SavePersonalizationState

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider

DetermineInitialScope

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider

DetermineUserCapabilities

Inherited from System.Web.UI.WebControls.WebParts.PersonalizationProvider


FindState

This method returns a collection containing zero or more PersonalizationStateInfo-derived objects based on scope and specific query parameters.

Declaration

// C#
public override PersonalizationStateInfoCollection FindState(PersonalizationScope
   scope, PersonalizationStateQuery query, int pageIndex, int pageSize, 
   out int totalRecords);

Parameters

Return Value

A PersonalizationStateInfoCollection object containing zero or more PersonalizationStateInfo-derived objects.

Exceptions

ArgumentOutOfRangeException - The scope contains a value other than PersonalizationScope.User or PersonalizationScope.Shared.

OracleException - An Oracle-related error has occurred.

ArgumentException - One of the following conditions exists:

Remarks

The PersonalizationStateInfo-derived objects should be returned in alphabetic order and sorted by a combination of their Path and Username property values, both in ascending order.

This method passes the query wildcard characters to the underlying Oracle database. The database performs a wildcard search on a partial path with the wildcard character appearing at the beginning, the end, or the middle of the search string text in the PathToMatch property of the query parameter. For example, setting the PathToMatch property to ~/appdir% finds all paths that start with ~/appdir.

Likewise, in a wildcard search on a partial user name, the wildcard character can appear at any point in the text string of the UsernameToMatch property of the query parameter. For example, to find all user names that start with scott, the UsernameToMatch parameter looks like scott%.

The following query rules must be followed:

This method does not validate combinations of query parameters. For example, the application code can request a set of personalization state records associated with a specific user name in the shared scope. Because user names are not associated with shared information, the returned collection is empty.

GetCountOfState

This method returns the number of rows in the underlying Oracle database that are within the specified scope.

Declaration

// C#
public override int GetCountOfState(PersonalizationScope scope,
   PersonalizationStateQuery query);

Parameters

Return Value

The number of rows in the underlying data source that are within the specified scope parameter.

Exceptions

ArgumentException -The PathToMatch or the UsernameToMatch property of query is a non-null reference and is an empty string ("") after trimming.

ArgumentOutOfRangeException - The scope specified is not a valid value from the PersonalizationScope enumeration.

OracleException - An Oracle-related error has occurred.

Remarks

This method passes the query wildcard characters to the underlying Oracle database. The database performs a wildcard search on a partial path with the wildcard character appearing at the beginning, the end, or the middle of the search string text in the PathToMatch property of the query parameter. For example, setting the PathToMatch property to ~/appdir% finds all paths that start with ~/appdir.

Likewise, in a wildcard search on a partial user name, the wildcard character can appear at any point in the text string of the UsernameToMatch property of the query parameter. For example, to find all user names that start with scott, the UsernameToMatch parameter looks like scott%

The following query constraints must be followed:

Initialize

This method initializes the OraclePersonalizationProvider with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

Exceptions

HttpException - The current trust level is less than Low.

InvalidOperationException - An attempt is made to call the Initialize method on a provider that has already been initialized.

ArgumentNullException - The config parameter is a null reference.

System.Configuration.Provider.ProviderException - One of the following conditions exists in the application configuration file:

Remarks

The Initialize method is not intended to be called directly by the application.

ResetState

This method deletes personalization state information from the underlying data source, based on the specified parameters.

Declaration

// C#
public override int ResetState(PersonalizationScope scope, string[] paths,
   string[] usernames);

Parameters

Return Value

The number of rows deleted.

Exceptions

ArgumentOutOfRangeException - The scope parameter specified is not a member of the PersonalizationScope enumeration value.

OracleException - An Oracle-related error has occurred.

ArgumentException - Either of the following conditions exists:

Remarks

This method performs its operations as a single, atomic transaction.

Any paths and usernames elements contained within the respective arrays must meet the following validation rules. If a validation rule fails for any member of the parameter arrays, then an ArgumentException exception is thrown. The validation rules are:

ResetUserState

This method deletes user personalization data from the underlying Oracle data source, based on the specified parameters.

Declaration

// C#
public override int ResetUserState(string path, DateTime userInactiveSinceDate);

Parameters

Return Value

The count of rows deleted from the underlying Oracle data source.

Exceptions

ArgumentException - The path parameter is an empty string.

OracleException - An Oracle-related error has occurred.

Remarks

The parameters of this method have the following restrictions:

PKfMCPK-A$OEBPS/OracleCacheDependencyClass.htmvJ OracleCacheDependency Class

OracleCacheDependency Class

The OracleCacheDependency object enables ASP.NET applications to invalidate cached items based on changes made in an Oracle database.

Class Inheritance

System.Object

  System.Web.Caching.CacheDependency

    Oracle.Web.Caching.OracleCacheDependency

Declaration

// C#
public sealed class OracleCacheDependency : CacheDependency

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class invalidates data that is cached by ASP.NET applications, based on changes in the Oracle database.

This feature uses the Oracle Database Change Notification feature and requires Oracle Database release 10.2 or later.

The user must have the CHANGE NOTIFICATION privilege, which can be granted with the following SQL statement:

GRANT change notification TO username;

Requirements

Namespace: Oracle.Web.Caching

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleCacheDependency Members

OracleCacheDependency members are listed in the following tables.

OracleCacheDependency Constructors

The OracleCacheDependency constructor is listed in Table 9-1.

Table 9-1 OracleCacheDependency Constructor

ConstructorDescription

OracleCacheDependency Constructors


Instantiates a new instance of the OracleCacheDependency class


OracleCacheDependency Properties

OracleCacheDependency properties are listed in Table 9-2.

Table 9-2 OracleCacheDependency Properties

PropertiesDescription

HasChanged

Inherited from System.CacheDependency

UtcLastModified

Inherited from System.CacheDependency


OracleCacheDependency Methods

OracleCacheDependency methods are listed in Table 9-3.

Table 9-3 OracleCacheDependency Methods

MethodsDescription

Dispose

Inherited from System.Object

Equals

Inherited from System.Object (Overloaded)

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

GetUniqueID


Returns a unique identifier for the OracleCacheDependency object

ReferenceEquals

Inherited from System.Object

ToString

Inherited from System.Object



OracleCacheDependency Constructors

This constructor instantiates a new instance of the OracleCacheDependency class.

Overload List:

OracleCacheDependency(OracleCommand)

This constructor instantiates a new instance of the OracleCacheDependency class.

Declaration

// C#
public OracleCacheDependency(OracleCommand cmd);

Parameters

Remarks

When this constructor is invoked, the OracleCacheDependency object is instantiated and the OracleCommand object is configured for change notification. When the supplied OracleCommand object is executed by the application, the change notification is registered and the OracleCacheDependency instance is notified when changes are detected on the server side.


OracleCacheDependency Properties

OracleCacheDependency properties are listed in Table 9-4.

Table 9-4 OracleCacheDependency Properties

PropertiesDescription

HasChanged

Inherited from System.CacheDependency

UtcLastModified

Inherited from System.CacheDependency



OracleCacheDependency Methods

OracleCacheDependency methods are listed in Table 9-5.

Table 9-5 OracleCacheDependency Methods

MethodsDescription

Dispose

Inherited from System.Object

Equals

Inherited from System.Object (Overloaded)

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

GetUniqueID


Returns a unique identifier for the OracleCacheDependency object

ReferenceEquals

Inherited from System.Object

ToString

Inherited from System.Object


GetUniqueID

This method returns a string that uniquely identifies the OracleCacheDependency object.

Declaration

// C#
public override string GetUniqueID()
PK{JvJPK-AOEBPS/title.htm# Oracle Providers for ASP.NET Developer's Guide, 11g Release 2 (11.2.0.3) for Microsoft Windows

Oracle® Providers for ASP.NET

Developer's Guide

11g Release 2 (11.2.0.3) for Microsoft Windows

E18737-02

November 2011


Oracle Providers for ASP.NET Developer's Guide, 11g Release 2 (11.2.0.3) for Microsoft Windows

E18737-02

Copyright © 2007, 2011, Oracle and/or its affiliates. All rights reserved.

Primary Authors: Sumit Jeloka, Maitreyee Chaliha

Contributing Authors: Janis Greenberg, Sheela Vasudevan, Kimnari Akiyama, Neeraj Gupta, Sinclair Hsu, Alex Keh, Ashish Shah, Arun Singh

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PKpwsPK-A%OEBPS/OracleWebEventProviderClass.htm OracleWebEventProvider Class

OracleWebEventProvider Class

The OracleWebEventProvider class allows ASP.NET applications to store Web events in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.Management.WebEventProvider

      System.Web.Management.BufferedWebEventProvider

        Oracle.Web.Management.OracleWebEventProvider

Declaration

// C#
public class OracleWebEventProvider: BufferedWebEventProvider

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store Web event information in an Oracle database.

Example

The following is a web.config example for an ASP.NET application that uses the OracleWebEventProvider class as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file.

Applications must provide any required configuration entries for event mapping, buffer modes, and rules in the web.config file, because the machine.config file does not provide these configuration entries. The following web.config file provides an example:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <healthmonitoring enabled="true"/>
      <bufferModes>
        <add name="Notification"
             maxBufferSize="1000"
             maxFlushSize="200"
             urgentFlushThreshold="500"
             regularFlushInterval="00:00:6"
             urgentFlushInterval="00:00:03"
             maxBufferThreads="1"/>
      </bufferModes>
      <eventMappings>
        <add name="CustomEvent"
             type="CustomEventSource.CustomEvent, CustomEventSource"/>
      </eventMappings>
      <rules>
        <add name="CustomRule"
             eventName="CustomEvent"
             provider="OracleWebEventProvider"
             minInterval="00:00:00"/>
      </rules>
    </healthMonitoring>
  </system.web>
</configuration>

The following is a web.config example for an ASP.NET application that uses an OracleWebEventProvider class as the default provider, using customized settings for the connection string name and application name, and an application-specific connection string, along with other configurations as described in the previous example:

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_webevent_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleWebEventProvider -->
    <healthMonitoring enabled="true">
      <providers>
        <add name="CustomOracleWebEventProvider"
             type="Oracle.Web.Management.OracleWebEventProvider,
                   Oracle.Web, Version=2.112.2.0, Culture=neutral,
                   PublicKeyToken=89b483f429c47342"
             connectionStringName="my_webevent_app_con_string"
             bufferMode="CustomBufferMode">
      </providers>
      <bufferModes>
        <add name="CustomBufferMode"
             maxBufferSize="1000"
             maxFlushSize="200"
             urgentFlushThreshold="500"
             regularFlushInterval="00:00:06"
             urgentFlushInterval="00:00:03"
             maxBufferThreads="1"/>
      </bufferModes>
      <eventMappings>
        <add name="CustomEvent"
             type="CustomEventSource.CustomEvent, CustomEventSource"/>
      </eventMappings>
      <rules>
        <add name="CustomRule"
             eventName="CustomEvent"
             provider="CustomOracleWebEventProvider"
             minInterval="00:00:00"/>
      </rules>
    </healthMonitoring>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.Management

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleWebEventProvider Members

OracleWebEventProvider members are listed in the following tables.

OracleWebEventProvider Constructors

The OracleWebEventProvider constructor is listed in Table 7-1.

Table 7-1 OracleWebEventProvider Constructor

ConstructorDescription

OracleWebEventProvider Constructors

Instantiates a new instance of the OracleWebEventProvider class


OracleWebEventProvider Static Methods

OracleWebEventProvider static methods are listed in Table 7-2.

Table 7-2 OracleWebEventProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object


OracleWebEventProvider Public Properties

OracleWebEventProvider public properties are listed in Table 7-3.

Table 7-3 OracleWebEventProvider Public Properties

Public PropertiesDescription

BufferMode

Inherited from System.Web.Management.BufferedWebEventProvider

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.ProviderBase

Name

Inherited from System.Configuration.Provider.ProviderBase

UseBuffering

Inherited from System.Web.Management.BufferedWebEventProvider


OracleWebEventProvider Public Methods

OracleWebEventProvider public methods are listed in Table 7-4.

Table 7-4 OracleWebEventProvider Public Methods

Public MethodDescription

Initialize


Initializes the OracleWebEventProvider instance with the property values specified in the ASP.NET application configuration file

ProcessEvent


Processes the event passed to it as an argument

ProcessEventFlush


Flushes the information passed to it as an argument

Shutdown


Releases all resources

Flush

Inherited from System.BufferedWebEventProvider

Equals(Overloaded)

Inherited from System.Object

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object



OracleWebEventProvider Constructors

This constructor creates an instance of the OracleWebEventProvider class.

Overload List:

OracleWebEventProvider()

This constructor creates an instance of the OracleWebEventProvider class.

Declaration

// C#
public OracleWebEventProvider();

Remarks

This constructor creates a new instance of the OracleWebEventProvider class.


OracleWebEventProvider Static Methods

The OracleWebEventProvider static methods are listed in Table 7-5.

Table 7-5 OracleWebEventProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object



OracleWebEventProvider Public Properties

The OracleWebEventProvider public properties are listed in Table 7-6.

Table 7-6 OracleWebEventProvider Public Properties

Public PropertiesDescription

BufferMode

Inherited from System.Web.Management.BufferedWebEventProvider

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.ProviderBase

Name

Inherited from System.Configuration.Provider.ProviderBase

UseBuffering

Inherited from System.Web.Management.BufferedWebEventProvider


CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OracleWebEventProvider Public Methods

The OracleWebEventProvider public methods are listed in Table 7-7.

Table 7-7 OracleWebEventProvider Public Methods

Public MethodDescription

Initialize


Initializes the OracleWebEventProvider instance with the property values specified in the ASP.NET application configuration file

ProcessEvent


Processes the event passed to it as an argument

ProcessEventFlush


Flushes the information passed to it as an argument

Shutdown


Releases all resources

Flush

Inherited from System.BufferedWebEventProvider

Equals(Overloaded)

Inherited from System.Object

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

ToString

Inherited from System.Object


Initialize

This method initializes the OracleWebEventProvider instance with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

Exceptions

InvalidOperationException - If the OracleWebEventProvider instance is already initialized.

ProviderException - One of the following conditions exists:

Remarks

The Initialize method is not intended to be called directly by the application.

ProcessEvent

This method processes the event passed to it as an argument.

Declaration

// C#
public override void ProcessEvent(WebBaseEvent eventRaised);

Parameters

Remarks

This method is called by ASP.NET applications to start event processing. If buffering is enabled, then the event is added to the buffer of events, otherwise, the event information is directly written into Oracle Database.

ProcessEventFlush

This method flushes the information passed to it as an argument.

Declaration

// C#
public override void ProcessEventFlush(WebEventBufferFlushInfo flushEvent);

Parameters

Remarks

This method is called by ASP.NET applications to flush all events into Oracle Database.

Shutdown

This method releases all resources.

Declaration

// C#
public override void Shutdown();

Remarks

This method is called by ASP.NET applications when the provider is unloaded. All the buffered events are first flushed into Oracle Database before the provider proceeds with shutdown.

PKal#ߋՋPK-AOEBPS/intro.htmk Introduction to Oracle Providers for ASP.NET

1 Introduction to Oracle Providers for ASP.NET

This chapter introduces Oracle Providers for ASP.NET.

This chapter contains these topics:

PKO|(pkPK-A"OEBPS/OracleMembershipProvider.htm OracleMembershipProvider

2 OracleMembershipProvider

This chapter describes the OracleMemberProvider class.


See Also:

ASP.NET membership and membership providers http://msdn.microsoft.com/en-us/library/tw292whz.aspx

This chapter contains the following topic:

PK١TW PK-A'OEBPS/OraclePersonalizationProvider.htm OraclePersonalizationProvider

8 OraclePersonalizationProvider

This chapter describes the OraclePersonalizationProvider class.

This chapter contains the following topic:

PKlPK-A!OEBPS/IntroSystemRequirements.htm $ System Requirements

System Requirements

Oracle Providers for ASP.NET requires the following:

PK)Q* PK-AOEBPS/IntroUpgrading.htm  Upgrading Oracle Providers for ASP.NET

Upgrading Oracle Providers for ASP.NET

Administrators who wish to upgrade an older instance of Oracle Providers for ASP.NET to a newer version must upgrade both the Oracle Client and database schema. Oracle does not support using one Oracle Providers for ASP.NET client version, say 11.2, with another Oracle Providers for ASP.NET database schema version, say 11.1.0.6.20. Both the schema and client providers must be the same version.

The following list discusses upgrading the client and database schema:

If the database server itself is being upgraded, then administrators can use standard Oracle upgrade procedures with Oracle Providers for ASP.NET data. Data is preserved when performing the upgrade. Encrypted data remains encrypted and usable after the upgrade.

Coexistence of Multiple Oracle Providers for ASP.NET Versions

If there are multiple ASP.NET applications using a single Web server or a single Oracle Database, then it is not necessary for all of them to use the same Oracle Providers for ASP.NET version. For example, some of the applications may use Oracle Providers for ASP.NET 11.1.0.7.20, and other applications may use the 11.2 version. Individual web.config files are used to determine as to which Oracle Providers for ASP.NET version to use for each application.

Each Oracle Providers for ASP.NET version must have a database schema specific to its version. For example, all Oracle Providers for ASP.NET 11.2 applications must be able to access at least one schema built using the 11.2 SQL scripts. These 11.2 provider applications can all share one schema, but they cannot use an 11.1.0.7.20 schema. When using multiple Oracle Providers for ASP.NET versions to access the same database, administrators can create separate schemas for each Oracle Providers for ASP.NET version.

PKKϋ PK-AOEBPS/preface.htm Preface

Preface

This document is your primary source of introductory, installation, postinstallation configuration, and usage information for Oracle Providers for ASP.NET.

This Preface contains these sections:

Audience

Oracle Providers for ASP.NET Developer's Guide is intended for programmers who are developing applications using ASP.NET providers to store application state in Oracle databases.

To use this guide, you must be familiar with Microsoft .NET Framework classes, ASP.NET, and ADO.NET, and have a working knowledge of application programming using Microsoft C#, Visual Basic .NET, or another .NET language.

Although the examples in the documentation and the samples in the sample directory are written in C#, developers can use these examples as models for writing code in other .NET languages.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see these Oracle resources:

Passwords in Code Examples

For simplicity in demonstrating this product, code examples do not perform the password management techniques that a deployed system normally uses. In a production environment, follow the Oracle Database password management guidelines, and disable any sample accounts. See Oracle Database Security Guide for password management guidelines and other security recommendations.

Conventions

The following text conventions are used in this guide:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
italicItalic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
monospaceMonospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

PK%UPK-AOEBPS/index.htm-v Index

Index

A  C  D  F  I  M  O  P  R  S  T  V  X 

A

ASP.NET provider model, 1.1

C

client configuration, 1.4.2
configuration, 1.4.2
configuration file, 1.1
configuration scripts, 1.4.1

D

documentation, 1.6

F

file locations, 1.6

I

install scripts, 1.4.1
installation, 1.4
machine.config, 1.4.2
InstallOracleASPNETCommon.sql, 1.4.1
Instant Client, 1.4

M

Microsoft ASP.NET 2.0, 1.1

O

object references, 1.7
objects, 1.7
Oracle Data Provider for .NET
system requirements, 1.3
Oracle Database, 1.1
Oracle Providers for ASP.NET Assembly, 1.2
Oracle Universal Installer, 1.4
OracleCacheDependency Class
class description, 9
constructors, 9
members, 9
methods, 9
properties, 9
OracleMembershipProvider Class
class description, 2
constructors, 2
members, 2
public methods, 2, 2
public properties, 2
static methods, 2
OraclePersonalizationProvider Class
class description, 8
constructors, 8
members, 8
public methods, 8
public properties, 8
static methods, 8
OracleProfileProvider Class
class description, 6
constructors, 6
members, 6
public methods, 6
public properties, 6
static methods, 6
OracleRoleProvider Class, 3
class description, 3
constructors, 3
members, 3
public methods, 3
public properties, 3
static methods, 3
OracleRoleProvider Member
OracleRoleProvider Constructor, 7, 8
OracleRoleProvider Members, 3
OracleRoleProvider Public Properties, 7, 8
OracleRoleProvider Static Methods, 7, 8
OracleSessionStateStore Class
class description, 5
constructors, 5
members, 5
public methods, 5
public properties, 5
OracleSiteMapProvider Class
class description, 4
constructors, 4
members, 4
public methods, 4
public properties, 4
static methods, 4
Oracle.Web.dll, 1.2, 1.6
OracleWebEventProvider Class
class description, 7
constructors, 7
members, 7
public methods, 7
public properties, 7
static methods, 7
OraProvCfg, 1.4.2, 1.6

P

passwords in code examples, Preface
privileges
granting, 1.4.1

R

roles, 1.7.2

S

schema objects, 1.7
roles, 1.7.2
stored procedures, 1.7.4
synonyms, 1.7.5
tables, 1.7.1
views, 1.7.3
SQL scripts, 1.6
stored procedures, 1.7.4
synonyms, 1.7.5
system requirements
Oracle Data Provider for .NET, 1.3

T

tables, 1.7.1

V

views, 1.7.3

X

xcopy Instant Client, 1.4
PK*fo--PK-AOEBPS/IntroOverview.htm:. Overview of Oracle Providers for ASP.NET

Overview of Oracle Providers for ASP.NET

Oracle Providers for ASP.NET is a collection of ASP.NET providers that follow the ASP.NET provider model and uses Oracle Database as the data source.

Microsoft ASP.NET includes a number of services and providers that store application state in databases and other storage media. Developers can store application state, such as shopping cart or user information, in a persistent data source. By storing the application state in a database, applications ensure high availability and reliable access to the data from any Web server in the server farm. Users can retrieve their ASP.NET state data no matter which Web farm computer they access because it is located centrally on the database. If the particular Web farm computer a user is accessing fails, the information is not lost because the ASP.NET data is persisted in the database. ASP.NET developers can now be more productive as they build their Web applications through these ASP.NET services, which are classes that are part of the .NET Framework.

These ASP.NET services are data-source independent, but they can be configured to use a particular ASP.NET provider, which is implemented specifically to store and retrieve data from a specific data source. Oracle Providers for ASP.NET, like all ASP.NET providers, follow the ASP.NET provider model to provide all the functionality that the ASP.NET services need. By simply configuring the Oracle Providers for ASP.NET as default providers in a configuration file, ASP.NET applications can store various types of application states in an Oracle database. The application states that can be stored are commonly used among Web applications. ASP.NET developers can use these providers, as opposed to creating their own from scratch.

Oracle Providers for ASP.NET are available for both 32-bit and 64-bit (x64) platforms. See "System Requirements" for more details.

Oracle offers the following providers:

Descriptions of each provider that Oracle offers are as follows:

PK(A?.:.PK-A&OEBPS/OracleSessionStateStoreClass.htm OracleSessionStateStore Class

OracleSessionStateStore Class

The OracleSessionStateStore class allows ASP.NET applications to store session information in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.SessionState.SessionStateStoreProviderBase

      Oracle.Web.SessionState

Declaration

// C#
public class OracleSessionStateStore : SessionStateStoreProviderBase

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store and manage session state information in an Oracle database.Note that the session information that this provider manages is application session information, not database session information.

Expired session data is periodically deleted from the database.

Example

The following is a web.config example for an ASP.NET application that uses OracleSessionStateStore as the default provider with customized settings and an application-specific connection string:

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_sessionstate_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleSessionStateProvider -->
    <sessionState mode="Custom" customProvider="MyOracleSessionStateStore">
      <providers>
        <add name="MyOracleSessionStateStore" 
             type="Oracle.Web.SessionState.OracleSessionStateStore, 
             Oracle.Web, Version=2.112.2.0, Culture=neutral, 
             PublicKeyToken=89b483f429c47342" 
             connectionStringName="my_sessionstate_app_con_string"/>
      </providers>
    </sessionState>
  </system.web>
</configuration>

Requirements

Namespace: Oracle.Web.SessionState

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleSessionStateStore Members

OracleSessionStateStore members are listed in the following tables.

OracleSessionStateStore Constructors

The OracleSessionStateStore constructor is listed in Table 5-1.

Table 5-1 OracleSessionStateStore Constructor

ConstructorDescription

OracleSessionStateStore Constructors

Instantiates a new instance of the OracleSessionStateStore class


OracleSessionStateStore Public Properties

OracleSessionStateStore public properties are listed in Table 5-2.

Table 5-2 OracleSessionStateStore Public Properties

Public PropertiesDescription

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


OracleSessionStateStore Public Methods

The OracleSessionStateStore public methods are listed in Table 5-3.

Table 5-3 OracleSessionStateStore Public Methods

Public MethodsDescription

CreateNewStoreData


Creates a new SessionStateStoreData object for the current request

CreateUninitializedItem


Adds a new session state item to the database

Dispose


Releases all the resources for this instance

EndRequest


Allows the OracleSessionStateStore object to perform any cleanup that may be required for the current request

GetItem


Returns a read-only session item from the database

GetItemExclusive


Locks and returns a session item from the database

Initialize


Initializes the provider with the property values specified in the ASP.NET application configuration file

InitializeRequest


Performs any per-request initializations that the OracleSessionStateStore provider requires

ReleaseItemExclusive


Releases the lock on a session item in the database, if multiple attempts to retrieve the session item fail

RemoveItem


Removes the specified session item from the database

ResetItemTimeout


Resets the expiration date and timeout for a session item in the database

SetAndReleaseItemExclusive


Updates the session time information in the database with the specified session item and releases the lock

SetItemExpireCallback


Returns a false value to indicate that callbacks for expired sessions are not supported



OracleSessionStateStore Constructors

The OracleSessionStateStore constructor instantiates a new instance of the OracleSessionStateStore class.

Overload List:

OracleSessionStateStore()

This constructor instantiates a new instance of the OracleSessionStateStore class.

Declaration

// C#
public OracleSessionStateStore();

Remarks

This constructor creates a new instance of the OracleSessionStateStore class.


OracleSessionStateStore Public Properties

The OracleSessionStateStore public properties are listed in Table 5-4.

Table 5-4 OracleSessionStateStore Public Properties

Public PropertiesDescription

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OracleSessionStateStore Public Methods

The OracleSessionStateStore public methods are listed in Table 5-5.

Table 5-5 OracleSessionStateStore Public Methods

Public MethodsDescription

CreateNewStoreData


Creates a new SessionStateStoreData object for the current request

CreateUninitializedItem


Adds a new session state item to the database

Dispose


Releases all the resources for this instance

EndRequest


Allows the OracleSessionStateStore object to perform any cleanup that may be required for the current request

GetItem


Returns a read-only session item from the database

GetItemExclusive


Locks and returns a session item from the database

Initialize


Initializes the provider with the property values specified in the ASP.NET application configuration file

InitializeRequest


Performs any per-request initializations that the OracleSessionStateStore provider requires

ReleaseItemExclusive


Releases the lock on a session item in the database, if multiple attempts to retrieve the session item fail

RemoveItem


Removes the specified session item from the database

ResetItemTimeout


Resets the expiration date and timeout for a session item in the database

SetAndReleaseItemExclusive


Updates the session time information in the database with the specified session item and releases the lock

SetItemExpireCallback


Returns a false value to indicate that callbacks for expired sessions are not supported


CreateNewStoreData

This method creates a new SessionStateStoreData object for the current request.

Declaration

// C#
public override SessionStateStoreData CreateNewStoreData(HttpContext context, 
   int timeout);

Parameters

Return Value

A new SessionStateStoreData object for the current request.

Remarks

This method creates a new SessionStateStoreData object for the current request based on the HttpContext and timeout values. The SessionStateModule calls this method at the beginning of a request for an ASP.NET page, if the request does not contain a session ID or if the request contains a session ID for a session that is not found in the database. This method creates a new SessionStateStoreData object with an empty ISessionStateItemCollection object, an HttpStaticObjectsCollection collection, and the specified timeout value.

CreateUninitializedItem

This method adds a new session state item to the database.

Declaration

// C#
public override void CreateUninitializedItem(HttpContext context, string id,
  int timeout);

Parameters

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

Remarks

This method adds an uninitialized session state entry into the database and is called when the cookieless and regenerateExpiredId attributes are both set to true.

After a new session ID is created, this method is called to store an uninitialized entry with this new session ID in the database. The browser is redirected to the URL containing the new session ID. The new session ID exists in the database, so there is no conflict with an expired session ID.

Dispose

This method releases all the resources for this instance.

Declaration

// C#
public override void Dispose();

Remarks

This method releases all the resources for this instance when the application domain is closed.

EndRequest

This method allows the OracleSessionStateStore object to perform any cleanup that may be required for the current request.

Declaration

// C#
public override void EndRequest(HttpContext context);

Parameters

Remarks

This method is called by the SessionStateModule object at the end of a request.

GetItem

This method returns a read-only session item from the database.

Declaration

// C#
public override SessionStateStoreData GetItem(HttpContext context, string id, 
   out bHVool locked, out TimeSpan lockAge, out Object lockId, 
   out SessionStateActions actions);

Parameters

Return Value

A SessionStateStoreData object that contains session information from the database.

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

System.Configuration.Provider.ProviderException - The session state information is invalid and might be corrupted.

Remarks

This method returns a read-only SessionStateStoreData object from the database and updates the expiration date of the session item. This method is called by the session state service at the beginning of a request. It is called only if the EnableSessionState attribute in the page is set to ReadOnly.

If no session data is found, then the locked out parameter is set to false and a null reference is returned. The session state service then calls the CreateNewStoreData method to create a new session item in the database.

If the session data is locked in the database, then the locked out parameter is set to true, the lockAge parameter is set to the amount of time the session item has been locked in the database, the lockId parameter is set to the lock identifier and a null reference is returned. The session state service then keeps calling this method at half-second intervals. If the lockAge value exceeds the HttpRuntimeSection.ExecutionTimeout value, then the session state service calls the ReleaseItemExclusive method to release the lock. It then calls the GetItem method again.

GetItemExclusive

This method locks a session item and returns it from the database.

Declaration

// C#
public override SessionStateStoreData GetItemExclusive(HttpContext context, 
   string id, out bool locked, out TimeSpan lockAge, out Object lockId, 
   out SessionStateActions actions);

Parameters

Return Value

A SessionStateStoreData object that contains session information from the database.

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

System.Configuration.Provider.ProviderException - The session state information is invalid and might be corrupted.

Remarks

This method returns a SessionStateStoreData object from the database and updates the expiration date of the session item. This method is called only if the attribute in the page is set to the default value of true. The session item is retrieved only if no other requests are currently using it. The session item in the database is locked for the duration of the request.

If no session data is found, the locked out parameter is set to false and a null reference is returned. The session state service then calls the CreateNewStoreData method to create a newsession item in the database.

If the session data is locked in the database, then the locked parameter is set to true, the lockAge parameter is set to the amount of time the session item has been locked in the database, the lockId parameter is set to the lock identifier and a null reference is returned. The session state service then keeps calling this method at half-second intervals. If the lockAge value exceeds the ExecutionTimeout value, then the session state service calls the ReleaseItemExclusive method to release the lock. It then calls the GetItemExclusive method again.

Initialize

This method initializes the provider with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

Exceptions

ArgumentNullException - The config parameter is null.

System.Configuration.Provider.ProviderException - The connectionStringName attribute is empty or does not exist in the configuration file, or an invalid attribute is found in the configuration file.

Remarks

The Initialize method is not intended to be called directly by the application.

InitializeRequest

This method performs any per-request initializations that the OracleSessionStateStore provider requires.

Declaration

// C#
public override void InitializeRequest(HttpContext context);

Parameters

Exceptions

ArgumentNullException - The context parameter is null.

Remarks

This method is called by the session state service before calling any other methods.

ReleaseItemExclusive

This method forcibly releases the lock on a session item in the database, if multiple attempts to retrieve the session item fail.

Declaration

// C#
public override void ReleaseItemExclusive(HttpContext context, string id,
    Object lockId);

Parameters

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

Remarks

This method is called by the session state service to release the lock on a session item in the database and update the expiration date. The SessionStateModule calls this method at the end of a request if the session values are unchanged or when the lock has exceeded the HttpRuntimeSection.ExecutionTimeout property value.

RemoveItem

This method removes the specified session item from the database.

Declaration

// C#
public override void RemoveItem(HttpContext context, string id, Object lockId,
   SessionStateStoreData item);

Parameters

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

Remarks

The session state service calls this method to remove the specified session item from the database. An application can call the Session.Abandon method to cancel a session.

ResetItemTimeout

This method resets the expiration date and timeout for a session item in the database.

Declaration

// C#
public override void ResetItemTimeout(HttpContext context, string id);

Parameters

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

Remarks

The session state service calls this method to reset the expiration date and timeout for a session item in the database, to the current date and time.

SetAndReleaseItemExclusive

This method updates the session time information in the database with the specified session item, and releases the lock.

Declaration

// C#
public override void SetAndReleaseItemExclusive(HttpContext context, string id,
   SessionStateStoreDataItem item, Object lockId, bool newItem);

Parameters

Exceptions

ArgumentNullException - The input parameter is null.

OracleException - An Oracle-related error has occurred.

Remarks

If the session items have been modified, the session state service calls this method at the end of a request, to either create a new item or update an existing session item in the database with the provided session values. This method also updates the expiration time for the session item and releases the lock on the session data.

SetItemExpireCallback

This method returns a false value to indicate that callbacks for expired sessions are not supported.

Declaration

// C#
public override bool SetItemExpireCallback(SessionStateItemExpireCallback 
  expireCallback);

Parameters

Return Value

A false value.

Remarks

This method always returns a false value to indicate that callbacks for expired sessions are not supported.

PKRHPK-A!OEBPS/OracleSessionStateStore.htm OracleSessionStateStore

5 OracleSessionStateStore

This chapter describes the OracleSessionStateStore class.


See Also:

ASP.NET session state and session state providers http://msdn.microsoft.com/en-us/library/ms178581.aspx

This chapter contains the following topic:

PKDPK-AOEBPS/IntroObjectreferences.htm Oracle Providers for ASP.NET Object References

Oracle Providers for ASP.NET Object References

The schema in which the user runs the SQL installation script owns the tables, views, roles, stored procedures, and synonyms that the SQL script creates.

The following schema objects and their tabled information provide descriptions of what privileges each role provides, as well as the relationship between the ASP.NET service methods and the Oracle stored procedure or function.

This section lists the following objects:

Tables

Table 1-3 lists the tables that are used by each provider.

Table 1-3 Provider Tables

Oracle ProviderTable

Membership

ora_aspnet_Membership

ora_aspnet_Applications

ora_aspnet_Users

Role

ora_aspnet_Roles

ora_aspnet_UsersInRoles

ora_aspnet_Applications

ora_aspnet_Users

Profile

ora_aspnet_Profile

ora_aspnet_Applications

ora_aspnet_Users

Personalization

ora_aspnet_Paths

ora_aspnet_PersonaliznAllUsers

ora_aspnet_PersonaliznPerUser

ora_aspnet_Applications

ora_aspnet_Users

Web Events

ora_aspnet_WebEvents

Site Map

ora_aspnet_SiteMap

ora_aspnet_Applications

Session State

ora_aspnet_SessionApplications

ora_aspnet_Sessions


Roles

There are, at most, three types of database roles created for each provider:

  • BasicAccess - Provides a database user with access to the provider's basic functionality.

  • ReportAccess - Provides a database user with report-oriented data gathering capabilities for a provider.

  • FullAccess - Provides a database user with access to all the database objects associated with a provider.

Table 1-4 lists the roles created for each provider.

Table 1-4 Roles and Privileges

Oracle ProviderOracle Database Role

Membership

ora_aspnet_Mem_BasicAccess

ora_aspnet_Mem_ReportAccess

ora_aspnet_Mem_FullAccess

Role

ora_aspnet_Roles_BasicAccess

ora_aspnet_Roles_ReportAccess

ora_aspnet_Roles_FullAccess

Profile

ora_aspnet_Prof_BasicAccess

ora_aspnet_Prof_ReportAccess

ora_aspnet_Prof_FullAccess

Personalization

ora_aspnet_Pers_BasicAccess

ora_aspnet_Pers_ReportAccess

ora_aspnet_Pers_FullAccess

Web Events

ora_aspnet_Wevnt_FullAccess

Site Map

ora_aspnet_Smap_FullAccess

Session

ora_aspnet_Sessn_FullAccess


Views

The following tables show the views that are created for each provider. The tables also list the provider-specific database roles that provide access to these views.

OracleMembershipProvider Views

Table 1-5 lists the roles and the view access that the roles provide.

Table 1-5 OracleMembershipProvider

RoleView

ora_aspnet_Mem_BasicAccess

(none)

ora_aspnet_Mem_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_MemUsers

ora_aspnet_Mem_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_MemUsers


OracleRoleProvider Views

Table 1-6 lists the roles and the view access that the roles provide.

Table 1-6 OracleRoleProvider

RoleView

ora_aspnet_Roles_BasicAccess

(none)

ora_aspnet_Roles_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Roles

ora_vw_aspnet_UIR

ora_aspnet_Roles_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Roles

ora_vw_aspnet_UIR


OracleProfileProvider Views

Table 1-7 lists the roles and the view access that the roles provide.

Table 1-7 OracleProfileProvider

RoleView

ora_aspnet_Prof_BasicAccess

(none)

ora_aspnet_Prof_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users


ora_vw_aspnet_Profiles

ora_aspnet_Prof_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users


ora_vw_aspnet_Profiles


OraclePersonalizationProvider Views

Table 1-8 lists the roles and the view access that the roles provide.

Table 1-8 OraclePersonalizationProvider

RoleView

ora_aspnet_Pers_BasicAccess

(none)

ora_aspnet_Pers_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_aspnet_Pers_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users


OracleSessionStateStore Views

Table 1-9 lists the roles and the view access that the roles provide.

Table 1-9 OracleSessionStateStore

RoleView

ora_aspnet_Sessn_FullAccess

ora_vew_aspnet_sessions


Stored Procedures

The following tables list provider-specific database roles and the stored procedures for which the roles provide execution privilege. The tables also list the corresponding ASP.NET service methods that invoke the stored procedures.

OracleMembershipProvider Stored Procedures

Table 1-10 lists the service methods and stored procedures that a user with the ora_aspnet_Mem_BasicAccess role can execute.

Table 1-10 ora_aspnet_Mem_BasicAccess Role

Service MethodStored Procedure

GetNumberOfUsersOnline

ora_aspnet_Mem_GetNumOfUsersOn

GetPassword

ora_aspnet_Mem_GetPassword

GetUser

ora_aspnet_Mem_GetUserByUid

ora_aspnet_Mem_GetUserByName

GetUserNameByEmail

ora_aspnet_Mem_GetUserByEml

UpdateUser

ora_aspnet_Mem_UpdateUser

ValidateUser

ora_aspnet_Mem_GetPwdWithFmt

ora_aspnet_Mem_UpdateUserInfo


Table 1-11 lists the service methods and stored procedures that a user with the ora_aspnet_Mem_ReportAccess role can execute.

Table 1-11 ora_aspnet_Mem_ReportAccess Role

Service MethodStored Procedure

FindUsersByEmail

ora_aspnet_Mem_FindUsersByEml

FindUsersByName

ora_aspnet_Mem_FindUsersByName

GetAllUsers

ora_aspnet_Mem_GetAllUsers

GetNumberOfUsersOnline

ora_aspnet_Mem_GetNumOfUsersOn

GetUser

ora_aspnet_Mem_GetUserByUid

ora_aspnet_Mem_GetUserByName

GetUserNameByEmail

ora_aspnet_Mem_GetUserByEml


Table 1-12 lists the service methods and stored procedures that a user with the ora_aspnet_Mem_FullAccess role can execute.

Table 1-12 ora_aspnet_Mem_FullAccess Role

Service MethodStored Procedure

All Membership methods

ora_aspnet_Mem_ChangePwdQAndA


ora_aspnet_Mem_CreateUser


ora_aspnet_Mem_FindUsersByEml


ora_aspnet_Mem_FindUsersByName


ora_aspnet_Mem_GetAllUsers


ora_aspnet_Mem_GetNumOfUsersOn


ora_aspnet_Mem_GetPassword


ora_aspnet_Mem_GetPwdWithFmt


ora_aspnet_Mem_GetUserByEml


ora_aspnet_Mem_GetUserByName


ora_aspnet_Mem_GetUserByUid


ora_aspnet_Mem_ResetPassword


ora_aspnet_Mem_SetPassword


ora_aspnet_Mem_UnlockUser


ora_aspnet_Mem_UpdateUser


ora_aspnet_Mem_UpdateUserInfo


ora_aspnet_Users_DeleteUser


OracleRoleProvider Stored Procedures

Table 1-13 lists the service methods and stored procedures that a user with the ora_aspnet_Roles_BasicAccess role can execute.

Table 1-13 ora_aspnet_Roles_BasicAccess Role

Service MethodStored Procedure

GetRolesForUser

ora_aspnet_UIR_GetRolesForUser

IsUserInRole

ora_aspnet_UIR_IsUserInRole


Table 1-14 lists the service methods and stored procedures that a user with the ora_aspnet_Roles_ReportAccess role can execute.

Table 1-14 ora_aspnet_Roles_ReportAccess Role

Service MethodStored Procedure

FindUsersInRole

ora_aspnet_UIR_FindUsersInRole

GetAllRoles

ora_aspnet_Roles_GetAllRoles

GetRolesForUser

ora_aspnet_UIR_GetRolesForUser

GetUsersInRole

ora_aspnet_UIR_GetUsersInRoles

IsUserInRole

ora_aspnet_UIR_IsUserInRole

RoleExists

ora_aspnet_Roles_RoleExists


Table 1-15 lists the service methods and stored procedures that a user with the ora_aspnet_Roles_FullAccess role can execute.

Table 1-15 ora_aspnet_Roles_FullAccess Role

Service MethodStored Procedure

All Role Manager methods

ora_aspnet_Roles_CreateRole


ora_aspnet_Roles_DeleteRole


ora_aspnet_Roles_GetAllRoles


ora_aspnet_Roles_RoleExists


ora_aspnet_UIR_AddUsersToRoles


ora_aspnet_UIR_FindUsersInRole


ora_aspnet_UIR_GetRolesForUser


ora_aspnet_UIR_GetUsersInRoles


ora_aspnet_UIR_IsUserInRole


ora_aspnet_UIR_RemUsersFmRoles


OracleProfileProvider Stored Procedures

Table 1-16 lists the service methods and stored procedures that a user with the ora_aspnet_Prof_BasicAccess role can execute.

Table 1-16 ora_aspnet_Prof_BasicAccess Role

Service MethodStored Procedure

GetPropertyValues

ora_aspnet_Prof_GetProperties

SetPropertyValues

ora_aspnet_Prof_SetProperties


Table 1-17 lists the service methods and stored procedures that a user with the ora_aspnet_Prof_ReportAccess role can execute.

Table 1-17 ora_aspnet_Prof_ReportAccess Role

Service MethodStored Procedure

GetAllProfiles

ora_aspnet_Prof_GetProfiles

GetAllInactiveProfiles

ora_aspnet_Prof_GetProfiles

GetNumberOfInactiveProfiles

ora_aspnet_Prof_GetNumOfInactPf

FindProfilesByUserName

ora_aspnet_Prof_GetProfiles

FindInactiveProfilesByUserName

ora_aspnet_Prof_GetProfiles


Table 1-18 lists the service methods and stored procedures that a user with the ora_aspnet_Prof_FullAccess role can execute.

Table 1-18 ora_aspnet_Prof_FullAccess Role

Service MethodStored Procedure

All Profile methods

ora_aspnet_Prof_DeleteInactPf


ora_aspnet_Prof_DeleteProfiles


ora_aspnet_Prof_GetNumOfInactPf


ora_aspnet_Prof_GetProfiles


ora_aspnet_Prof_GetProperties


ora_aspnet_Prof_SetProperties


OraclePersonalizationProvider Stored Procedures

Table 1-19 lists the service methods and stored procedures that a user with the ora_aspnet_Pers_BasicAccess role can execute.

Table 1-19 ora_aspnet_Pers_BasicAccess Role

Service MethodStored Procedure

LoadPersonalizationState

ora_aspnet_PPU_GetPgSettings

ora_aspnet_PAU_GetPgSettings

ResetPersonalizationState

ora_aspnet_PPU_ResetPgSettings

ora_aspnet_PAU_ResetPgSettings

SavePersonalizationState

ora_aspnet_PPU_SetPgSettings

ora_aspnet_PAU_SetPgSettings


Table 1-20 lists the service methods and stored procedures that a user with the ora_aspnet_Pers_ReportAccess role can execute.

Table 1-20 ora_aspnet_Pers_ReportAccess Role

Service MethodStored Procedure

FindState

ora_aspnet_PA_FindState

GetCountOfState

ora_aspnet_PA_GetCountOfState


Table 1-21 lists the service methods and stored procedures that a user with the ora_aspnet_Pers_FullAccess role can execute.

Table 1-21 ora_aspnet_Pers_FullAccess Role

Service MethodStored Procedure

All Personalization methods

ora_aspnet_PA_FindState


ora_aspnet_PA_GetCountOfState


ora_aspnet_PA_ResetSharedState


ora_aspnet_PA_ResetUserState


ora_aspnet_PAU_GetPgSettings


ora_aspnet_PAU_ResetPgSettings


ora_aspnet_PAU_SetPgSettings


ora_aspnet_PPU_GetPgSettings


ora_aspnet_PPU_ResetPgSettings


ora_aspnet_PPU_SetPgSettings


OracleWebEventProvider Stored Procedures

Table 1-22 lists the service methods and stored procedures that a user with the ora_aspnet_Wevnt_FullAccess role can execute.

Table 1-22 ora_aspnet_Wevnt_FullAccess Role

Service MethodStored Procedure

All Web Event methods

ora_aspnet_LogWebEvents


OracleSiteMapProvider Stored Procedures

Table 1-23 lists the service methods and stored procedures that a user with the ora_aspnet_Smap_FullAccess role can execute.

Table 1-23 ora_aspnet_Smap_FullAccess Role

Service MethodStored Procedure

All Site Map methods

ora_aspnet_GetSiteMapData


OracleSessionStateStore Provider Stored Procedures

Table 1-24 lists the service methods and stored procedures that a user with the ora_aspnet_Sessn_FullAccess role can execute.

Table 1-24 ora_aspnet_Sessn_FullAccess Role

Service MethodStored Procedure

All Session State methods

ora_aspnet_SessnApp_SetAppID


ora_aspnet_Sessn_InsUninitItem


ora_aspnet_Sessn_RelStateItmEx


ora_aspnet_Sessn_RmStateItem


ora_aspnet_Sessn_ResetTimeout


ora_aspnet_Sessn_UpdStateItem


ora_aspnet_Sessn_InsStateItem


ora_aspnet_Sessn_GetStateItem


ora_aspnet_Sessn_GetStateItmEx


Synonyms

Public synonyms are created for all stored procedures so that they can be executed by any user in the database who is granted proper provider-specific roles by the user that owns the stored procedures.

PKPK-AOEBPS/OracleRoleProvider.htm OracleRoleProvider

3 OracleRoleProvider

This chapter describes the OracleRoleProvider class.


See Also:

ASP.NET role management and role providers http://msdn.microsoft.com/en-us/library/9ab2fxh0.aspx

This chapter contains the following topic:

PKnPK-AOEBPS/IntroFileLocations.htm l File Locations After Installation

File Locations After Installation

Oracle Providers for ASP.NET files are installed as follows:

PKw PK-A$OEBPS/OracleProfileProviderClass.htm OracleProfileProvider Class

OracleProfileProvider Class

OracleProfileProvider enables ASP.NET developers to easily store Web site user profile information in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Configuration.SettingsProvider

      System.Web.Profile.ProfileProvider

       Oracle.Web.Profile.OracleProfileProvider

Declaration

// C#
public class OracleProfileProvider: ProfileProvider

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store and manage profile information in an Oracle database.

Example

The following is a web.config file example for an ASP.NET application that uses OracleProfileProvider as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file. Profile properties are specified in the properties section. This example also enables anonymous identification and allows anonymous users to set properties.

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <anonymousIdentification enabled="true"/>
    <profile enabled="true" defaultProvider="OracleProfileProvider">
      <!-- Profile properties -->
      <properties>
        <add name="hire_date" allowAnonymous="true" type="DateTime"/>
        <add name="location" allowAnonymous="true" 
                            defaultValue="Redwood Shores"/>
        <add name="experience" allowAnonymous="true" type="int"/>
      </properties>
    </profile>
  </system.web>
</configuration>

The following is a web.config file example for an ASP.NET application that uses an OracleProfileProvider with customized settings and an application-specific connection string. Profile properties are specified in the properties section. This example also enables anonymous identification and allows anonymous users to set properties.

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_profile_app_con_string" connectionString=
       "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleProfileProvider settings -->
    <anonymousIdentification enabled="true"/>
    <profile enabled="true" defaultProvider="MyOracleProfileProvider">
      <providers>
        <add name="MyOracleProfileProvider"
             type="Oracle.Web.Profile.OracleProfileProvider, 
             Oracle.Web, Version=2.112.2.0, Culture=neutral, 
             PublicKeyToken=89b483f429c47342" 
             connectionStringName="my_profile_app_con_string"
             applicationName="my_profile_app"/>
      </providers>
      <!-- Profile properties -->
      <properties>
        <add name="hire_date" allowAnonymous="true" type="DateTime"/>
        <add name="location" allowAnonymous="true" 
                  defaultValue="Redwood Shores"/>
        <add name="experience" allowAnonymous="true" type="int"/>
      </properties>
    </profile>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.Profile

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleProfileProvider Members

OracleProfileProvider members are listed in the following tables.

OracleProfileProvider Constructors

The OracleProfileProvider constructor is listed in Table 6-1.

Table 6-1 OracleProfileProvider Constructor

ConstructorDescription

OracleProfileProvider Constructors


Instantiates a new instance of the OracleProfileProvider class


OracleProfileProvider Static Methods

OracleProfileProvider static methods are listed in Table 6-2.

Table 6-2 OracleProfileProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object


OracleProfileProvider Public Properties

OracleProfileProvider public properties are listed in Table 6-3.

Table 6-3 OracleProfileProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that groups the profile information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


OracleProfileProvider Public Methods

OracleProfileProvider public methods are listed in Table 6-4.

Table 6-4 OracleProfileProvider Public Methods

Public MethodsDescription

DeleteInactiveProfiles


Deletes user profile data that has its last activity date on or before the specified date and time

DeleteProfiles


Deletes profile properties and information from the data source for the supplied profile collection or list of user names (Overloaded)

Equals

Inherited from System.Object (Overloaded)

FindInactiveProfilesByUserName


Retrieves inactive profile information for the specified user name

FindProfilesByUserName


Retrieves profile information for the specified user name

GetAllInactiveProfiles


Retrieves all profile information for profiles with the last activity date on or before the specified date and time

GetAllProfiles


Retrieves all profile information from the data source

GetHashCode

Inherited from System.Object

GetNumberOfInactiveProfiles


Returns the count of profiles where the last activity date is on or before the specified date and time

GetPropertyValues


Retrieves profile properties and values from the Oracle profile database

GetType

Inherited from System.Object

Initialize


Initializes the OracleProfileProvider instance with the property values specified in the ASP.NET application configuration file (web.config)

SetPropertyValues


Updates the Oracle profile database with the specified profile property values

ToString

Inherited from System.Object



OracleProfileProvider Constructors

This constructor instantiates a new instance of the OracleProfileProvider class.

Overload List:

OracleProfileProvider()

This constructor instantiates a new instance of the OracleProfileProvider class.

Declaration

// C#
public OracleProfileProvider();

Remarks

This constructor is called by ASP.NET to create an instance of the OracleProfileProvider class as specified in the configuration file for the application. Initialization values for an OracleProfileProvider instance are passed through the Initialize method.

This constructor is not intended to be used directly by the application.


OracleProfileProvider Static Methods

OracleProfileProvider static methods are listed in Table 6-5.

Table 6-5 OracleProfileProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object



OracleProfileProvider Public Properties

OracleProfileProvider public properties are listed in Table 6-6.

Table 6-6 OracleProfileProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that groups the profile information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


ApplicationName

This property gets or sets the name of the application that groups the profile information.

Declaration

// C#
public override string ApplicationName{get; set;}

Property Value

The name of the application. If the applicationName attribute is not specified in the application configuration file, or if the value is an empty string, then this property is set to the application virtual path.

Exceptions

HttpException - The ApplicationName property was set by a caller that does not have high ASP.NET hosting permission.

System.Configuration.Provider.ProviderException - The application name supplied exceeds 256 characters.

ArgumentException - The application name supplied is an empty string or a null reference.

Remarks

The string value of the ApplicationName property is used for organizing user information.

Multiple ASP.NET applications can use the same data source and create duplicate user names because user information is stored uniquely for each application name. This property can be set programmatically, or it can be set declaratively in the configuration file for the Web application using the applicationName attribute. The attribute name in the configuration file is case-sensitive.

The ApplicationName property is not thread-safe. It is recommended that application code not allow users to set the ApplicationName property in Web applications.

CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OracleProfileProvider Public Methods

OracleProfileProvider public methods are listed in Table 6-7.

Table 6-7 OracleProfileProvider Public Methods

Public MethodsDescription

DeleteInactiveProfiles


Deletes user profile data that has its last activity date on or before the specified date and time

DeleteProfiles


Deletes profile properties and information from the data source for the supplied profile collection or list of user names (Overloaded)

Equals

Inherited from System.Object (Overloaded)

FindInactiveProfilesByUserName


Retrieves inactive profile information for the specified user name

FindProfilesByUserName


Retrieves profile information for the specified user name

GetAllInactiveProfiles


Retrieves all profile information for profiles with the last activity date on or before the specified date and time

GetAllProfiles


Retrieves all profile information from the data source

GetHashCode

Inherited from System.Object

GetNumberOfInactiveProfiles


Returns the count of profiles where the last activity date is on or before the specified date and time

GetPropertyValues


Retrieves profile properties and values from the Oracle profile database

GetType

Inherited from System.Object

Initialize


Initializes the OracleProfileProvider instance with the property values specified in the ASP.NET application configuration file (web.config)

SetPropertyValues


Updates the Oracle profile database with the specified profile property values

ToString

Inherited from System.Object


DeleteInactiveProfiles

This method deletes user profile data that has its last activity date on or before the specified date and time.

Declaration

// C#
public override int DeleteInactiveProfiles(ProfileAuthenticationOption 
   profileAuthenticationOption, DateTime inactiveSinceDateTime);

Parameters

Return Value

An integer value that indicates the number of inactive profiles deleted from the data source.

Remarks

This method deletes inactive profile data from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles. This method deletes any profile with a last activity date and time occurring on or before the specified inactiveSinceDateTime parameter value.

The delete profiles operation is a transactional operation. If an error is encountered, the transaction is rolled back and no changes are made.

DeleteProfiles

This method deletes profile properties and information from the data source for the supplied profile collection or list of user names.

Overload List

DeleteProfiles(ProfileInfoCollection)

This method deletes profile properties and information from the data source for the supplied profile collection.

Declaration

// C#
public override int DeleteProfiles(ProfileInfoCollection profileInfoCollection);

Parameters

Return Value

An integer value indicating the number of profiles that were deleted from the data source.

Exceptions

ArgumentException - One of the following conditions exists:

ArgumentNullException - One of the following conditions exists:

Remarks

This method deletes all profile properties and information for the supplied profile collection from the data source for the application specified by the applicationName attribute in the configuration file. A ProfileInfoCollection object can be obtained from the GetAllProfiles, GetAllInactiveProfiles, FindProfilesByUserName, and FindInactiveProfilesByUserName methods.

The value returned may be different from the Count value of the supplied collection, because some of the profiles in the supplied collection are no longer found in the data source.

The delete profiles operation is a transactional operation. If an error is encountered, the transaction is rolled back and no changes are made.

DeleteProfiles(string[])

This method deletes profile properties and information from the data source for the supplied list of user names.

Declaration

// C#
public override int DeleteProfiles(string[] userNames);

Parameters

Return Value

An integer value indicating the number of profiles that were deleted from the data source.

Exceptions

ArgumentNullException - The userNames parameter is a null reference or one of the items in userNames array has a null reference.

ArgumentException - One of the following conditions exists:

Remarks

This method deletes all profile properties and information from the data source for the supplied list of user names for the application specified by the applicationName attribute in the configuration file.

The value returned may be different from the length of the supplied string array of user names because some of the profiles are no longer found in the data source.

The delete profiles operation is a transactional operation. If an error is encountered, then the transaction is rolled back and no changes are made.

FindInactiveProfilesByUserName

This method retrieves inactive profile information for the specified user name.

Declaration

// C#
public override ProfileInfoCollection FindInactiveProfilesByUserName
   (ProfileAuthenticationOption profileAuthenticationOption, string userName,
   DateTime inactiveSinceDateTime,int pageIndex, int pageSize, 
   out int totalRecords);

Parameters

Return Value

A ProfileInfoCollection object that contains inactive user profiles where the user name matches the supplied user name.

Exceptions

ArgumentException - One of the following conditions exists:

ArgumentNullException - The userName parameter is a null reference.

Remarks

This method retrieves inactive profiles from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles. The OracleProfileProvider object searches for a match of the supplied userName parameter using the LIKE keyword and supports wildcard characters using the percent sign (%). This method retrieves profiles with a last activity date and time on or before the specified inactiveSinceDateTime parameter value.

The results returned by this method are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the number of ProfileInfo objects to return in the ProfileInfoCollection object. The pageIndex parameter identifies which page of results to return. The totalRecords parameter is an out parameter for the total number of inactive user profiles that match the userName and inactiveSinceDateTime parameters.

FindProfilesByUserName

This method retrieves profile information for the specified user name.

Declaration

// C#
public override ProfileInfoCollection FindProfilesByUserName
  (ProfileAuthenticationOption profileAuthenticationOption, string userName, 
   int pageIndex, int pageSize, out int totalRecords);

Parameters

Return Value

A ProfileInfoCollection object that contains user profiles where the user name matches the supplied user name.

Exceptions

ArgumentException - One of the following conditions exists:

ArgumentNullException - The userName parameter is a null reference.

Remarks

This method retrieves profiles from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles. The OracleProfileProvider object searches for a match of the userName parameter supplied using the LIKE keyword and supports wildcard characters using the percent sign(% ).

The results returned by this method are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the number of ProfileInfo objects to return in the ProfileInfoCollection object. The pageIndex parameter identifies which results page to return. The totalRecords parameter is an out parameter for the total number of inactive user profiles that matched the userName parameter.

GetAllInactiveProfiles

This method retrieves all profile information for profiles with the last activity date on or before the specified date and time.

Declaration

// C#
public override ProfileInfoCollection GetAllInactiveProfiles
   (ProfileAuthenticationOption profileAuthenticationOption, DateTime
   inactiveSinceDateTime, int pageIndex, int pageSize, out int totalRecords);

Parameters

Return Value

A ProfileInfoCollection object that contains inactive user profiles that matches the supplied inactive date and time.

Exceptions

ArgumentException - One of the following conditions exists:

Remarks

This method retrieves inactive profiles from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles. This method retrieves profiles with a last activity date and time on or before the specified inactiveSinceDateTime parameter value.

The returned results are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the number of ProfileInfo objects to return in the ProfileInfoCollection object. The pageIndex parameter identifies which page of results to return. Zero identifies the first page, as the value is zero-based. The totalRecords parameter is an out parameter for the total number of inactive user profiles that match the inactiveSinceDateTime parameter.

GetAllProfiles

This method retrieves all profile information from the data source.

Declaration

// C#
public override ProfileInfoCollection GetAllProfiles(ProfileAuthenticationOption
   profileAuthenticationOption, int pageIndex, int pageSize,     out int totalRecords);

Parameters

Return Value

A ProfileInfoCollection object that contains all user profiles from the data source.

Exceptions

ArgumentException - One of the following conditions exists:

Remarks

This method retrieves all profiles from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles.

The returned results are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the number of ProfileInfo objects to return in the ProfileInfoCollection object. The pageIndex parameter identifies which page of results to return. The totalRecords parameter is an out parameter for the total number of user profiles retrieved.

GetNumberOfInactiveProfiles

This method returns the count of profiles where the last activity date is on or before the specified date and time.

Declaration

// C#
public override int GetNumberOfInactiveProfiles
  (ProfileAuthenticationOption profileAuthenticationOption, 
   DateTime inactiveSinceDateTime);

Parameters

Return Value

An integer value indicating the number of user profiles that match the inactive date and time supplied.

Remarks

This method returns a count of inactive profiles from the data source for the application specified by the applicationName attribute in the configuration file. The profileAuthenticationOption parameter specifies whether to search only anonymous profiles, only authenticated profiles, or all profiles. Of the searched user profiles, any profiles with a last activity date and time on or before the specified inactiveSinceDateTime parameter value are counted.

GetPropertyValues

This method retrieves profile properties and values from the Oracle profile database.

Declaration

// C#
public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext   
  settingsContext, SettingsPropertyCollection settingsPropertyCollection);

Parameters

Return Value

A SettingsPropertyValueCollection object that contains profile property information and values.

Remarks

This method retrieves profile properties and values from the Oracle database for the user profile specified by the context. Profile properties and values are returned as a collection of SettingsPropertyValue objects.

Initialize

This method initializes the OracleProfileProvider instance with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

Exceptions

ArgumentNullException - The config parameter is a null reference.

HttpException - The current trust level is less than Low.

InvalidOperationException - An attempt is made to call the Initialize method on a provider that has already been initialized.

ArgumentNullException - The config parameter is a null.

System.Configuration.Provider.ProviderException - One of the following conditions is true in the application configuration file:

Remarks

The Initialize method sets options and property values for the provider instance, including provider-specific values and options specified in the machine configuration file (machine.config) or the ASP.NET application configuration file (web.config).

The Initialize method is not intended to be called directly by the application.

SetPropertyValues

This method updates the Oracle profile database with the specified profile property values.

Declaration

// C#
public override void SetPropertyValues(SettingsContext settingsContext,
   SettingsPropertyValueCollection settingsPropertyValueCollection);

Parameters

Remarks

ASP.NET profile services use this method to update profile properties and values in the Oracle database for the user profile specified by the context.Property values are set at the data source for the application specified by the applicationName attribute in the configuration file. Profile properties and values to be updated are specified as a collection of SettingsPropertyValue objects.

PKMPK-A OEBPS/toc.ncx Oracle® Providers for ASP.NET Developer's Guide for Microsoft Windows, 11g Release 2 (11.2.0.3) Cover Table of Contents Oracle Providers for ASP.NET Developer's Guide, 11g Release 2 (11.2.0.3) for Microsoft Windows Preface What's New in Oracle Providers for ASP.NET? Introduction to Oracle Providers for ASP.NET Overview of Oracle Providers for ASP.NET Oracle Providers for ASP.NET Assembly System Requirements Oracle Providers for ASP.NET Installation Upgrading Oracle Providers for ASP.NET File Locations After Installation Oracle Providers for ASP.NET Object References OracleMembershipProvider OracleMembershipProvider Class OracleRoleProvider OracleRoleProvider Class OracleSiteMapProvider OracleSiteMapProvider Class OracleSessionStateStore OracleSessionStateStore Class OracleProfileProvider OracleProfileProvider Class OracleWebEventProvider OracleWebEventProvider Class OraclePersonalizationProvider OraclePersonalizationProvider Class OracleCacheDependency Provider OracleCacheDependency Class Index Copyright PK?PK-AOEBPS/content.opf$ Oracle® Providers for ASP.NET Developer's Guide for Microsoft Windows, 11g Release 2 (11.2.0.3) en-US E18737-02 Oracle Corporation Oracle Corporation Oracle® Providers for ASP.NET Developer's Guide for Microsoft Windows, 11g Release 2 (11.2.0.3) 2011-11-30T20:05:57Z Provides introductory, installation, postinstallation configuration, and usage information for using these providers with ASP.NET services and controls. PK?-$$PK-A OEBPS/OracleWebEventProvider.htm OracleWebEventProvider

7 OracleWebEventProvider

This chapter describes the OracleWebEventProvider class.


See Also:

ASP.NET health monitoring and web event provider http://msdn.microsoft.com/en-us/library/ms178701(VS.80).aspx

This chapter contains the following topic:

PKPK-AOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_ğ<+F; sU%ԑ >,BH(uSVUxhzHxH;N2qy95 aK$m8l;70߁3@75Y#t9? /q'#  خ/Z=/a/o!Gjp=ƻ&|HNic\_Pԧנ佻f:o_t&uE߼NWi;ǺWD_4G%?1XyUqUkv=e>.?s9@z_u.Zգkf瑹J u|0wܗ ɤghJ%,N|xmO]ceVkhI ઼ 'QgW&#?guXEHz')tp*qۼ4~]o1;;[aʌ3*>bHc)ѵGT/<._&<_)`zU?:M"XXBFn Ns<oZπ/ITJT)A31' U?6@=3>*м)f.N ($ 2͍8k} y#1mdPH#8Q\5}]m|7&a,dKRٌ2;\lzEc5Nm5k3 XNARS9>Y8 o◃|9OEYn 9T AAk_t/ཱུl vêʜEy|6/xPڿ&7Sn^?~#gѵimZI~Ӷ6*kw@5oN>\} d`H Jlu.S.cMJ0A  6!J#! 7 ̋!4C,GI1|T1$I C$=ձ^G Dק--,,6sxJ]f(䶓#g 3;ʮ?((((((((((((5\gg#bo۷;9=밢蚏>i:No{<2-wL9RA_M}%%RG9d*zܗ*C<ݰ0p3pOiڞx{_oƻF\y`y1X*`Jo/.lỂK]h$2rDo#/VcrQN w?xĺcI|u,Ft$`t/7zwp]ɝA GV(%˩?#'CuȌ#n]ʣzN=5 ǤÞ,Xr"#kkgxBVDɐA# >kj6v|$[qGOQ@>gP"B6.c]G-2Ey+~t24}vgday7? 2qzeW$R@^-+G+Z@%wh]25j^j "(|Qm^+zF-IoNn!$i8pN9P8?_:^pGGot.wɸf#ˎt&ARbByT X;O`GQ@tMF?5k}:~.>g W@j(<:g]VJ?lgmR0 G\$kj6v|$[qGOQZOϯv߹_n[W½+[j>q:ȷ3I (L >~j=ۤg׵zōgvgdH$F U)JTG?(`OPéEy_<3\x[zot>T{k)bcbػUag9_T((((((((((((Q&ߏ5? K{wkm0KAn-cC6sW LHp;XtKy/&ΞP< dHUQGxA|ܟuA/lln'Ɍ?ݜǽr.|_^[6-WḥH9$w3O5[-d)IT.b>l ÜE},c,P蕝|e%["2:5.-?jW~wVTH0]- Sw 8*TWf|kwKh{+;xBB{GPN85_4 RI[!E%FGU+O`  I_~i:?oWwcHm\K[x"En^(ۢ@0 fCĜc&;T?gO IE<nT4-G/wL#$4BPŴpހ> Ѧ-B_&6Ie;]{0jO+}k~_h/roၿzL (۠(+%AodgOwK[8)@ 09GBT4w?sR𧃧-~uvhqѮm$zRz>'Ú_KM+SV5G(2GPY'vF~+>X뚴ͭ:ؖC}km;3|\cp$폆5eiv JmV y@9WK-˻Ξv\pSz`sn_R]_Dhtڵ $KB`3ƫ{O%$Jյ EvQ>6/ M@ﰆxo`i1-Gw%j)`RWjqPGc@^O|Pso}6P}ˉ7rFd 6?@5LJ 7$LKaT @ Ѿ!>+j/vcz?wCYOvl#8Ad!/.|)w۳^QX'fw?61z[Եyep>kīpO/z3O4TK dIce"8 pkcx7]om$I,lf$tJǿ}񕧋3K FX^8٠!a$!P $cHQDoh>#Liog7!GC-&CT.Iu=% 4ylx(v60 sW>xz_RK+MWSVG)BDžRU,M;#>U. |`Z֥Ki-k'k(U\oӂ-~&k:ǟ;Q[I>[@?1H5]kz\Kk6Ϻ/X$_Y!t)UMϊBѼ;/-$MCU+P\ʼ ǧZ+6?Nk&?9Xg#>s{xxw wŸ;GEd@^?? |^$^_^h}妚}&xCm3 xþ1Wϲs${wgoQn" խ:o۾/f_TNHzljOGCWUyy\DD$yYֆ<}a}Ye``*I z'|':n(h .s9'(+gwek?74YDF˴H?7<EPEPEPEPEPEPEPEPEPEPEPEPEPEy.USZmWD~g2ۧ5cڷt^?Zt ۸M3Foܓ(Q\߉|}\Ao:1AHE$ qt5_Z%^. uhg m$"r8:(\C%`oUFT*!Ɲ>P\]yQCogƚ{QkXӉ6N7O$D㏇:f)#-eVhأsRFj}VKt=bKSBY[1LS$N@Q@Q@Q@Q@Q@SJ,9$Ki[n!@\dt'7((( nR}tnԆׁ#*p9$rdrpw񷌮-lkh~'gZekIO}2(((((((((((((hu_UxhKi>D6zRx+E_MմVy5 Z\fh{vv8.#a*76U_Dӿ!?L/?{߿nP4R}֟)dvGT @/Jex |ϴ컇cC״|K׮a>=شˉU1LA-]<yg\ <- w 'nqf|} F47I =E.HҩR,['2H&<^" ?ھo<"/+xwWYhuMgׄl58fEU#BH.7hz_:$MCBA h랙oJM}TԬ4<nkArrуcׄuq5SDvfFgW>`r5m:$:D j26vJڸۍcǮPgM?Mm>&&UvLmp28<+_OG?%?>_'1sᧃ/.xQei=vbКOkY4.fG 8]Cmۜd ?zkZ0Qx.ťH\MV2;7vcwsoWNH$x>x46;4C02I8>'oikkQ2 ΀9/Cfi},K`&imRx_$w| &_^]լ4/R w4[%n7)?y@zr.ykDE~l&v!%٢$۹qmb13w?e]O羅nn3Ҁ9_Ht/x҉($](4O gw/ڦ}ᜃ#F#'յm%Tɻj+8p(ii[&hY;ԋ2eÜJH8zǂ|;`icV;Inv8D Əi2u[ΐyV-^QNϥ,]GS+ID} \H+ ؝_;)/9//വA.H,x$ƸR_?^ۏ9]i#ukXϷ̋{&r@^<:GǍ6P;{}OBm>G` pv8Okê|kqƬ3o"!or|Hv4mV1R:e 2К M'p p9O Ohg}y^ټyyۿo]=3\<g.mr{A_wCn #bio&d߷nvs'?7<]w3"NxUp{@>kxjkIF{&6Dd*RG`?;ȿyj'(d$@7) g!JͮciD`@!qʧh,y!ORpk0^Gu^\I{ axQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEPK8Qc^^PK-AOEBPS/dcommon/contbig.gif`GIF87a!!!111999BBBJJJRRRccckkksss{{{skk{{ZRRRJJƽ{sZRJRJB91)kcZB9)sskZRJ1޽ƽ{{ssskkkcƵZZRccZRRJJJB{BB9991ssckkZccR))!RRB!!JJ1))99!11ƌ)1R)k֔)s1RZJR{BJs9R1J!11J1J9k{csZk!1J!)cBR9J1B)91B!cRs{!)s!){1B!k!s!{ksksckckZc9B)1!)!)BJ9B1919έƌ!!)JJcZZ{!!!1RR{JJsBBkJJ{!!9BB{1!!J9)!!Z!!c1!!kR!!s9Z!BckJs)19!!c!!ZRZ,H rrxB(Kh" DժuICiи@S z$G3TTʖ&7!f b`D 0!A  k,>SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPK-AOEBPS/dcommon/darbbook.cssPKPK-A!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PK-AOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PK-AOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PK-AOEBPS/dcommon/cpyr.htm1 Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2012, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in prerelease status:

This documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKN61PK-AOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PK-AOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPK-AOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PK-AOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PK-AOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PK-AOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPK-AOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK-AOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PK-AOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPK-AOEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PK-AOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PK-AOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PK-AOEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPK-AOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PK-AOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PK-A'OEBPS/OracleMembershipProviderClass.htm OracleMembershipProvider Class

OracleMembershipProvider Class

The OracleMembershipProvider class enables ASP.NET developers to store Web site user account information in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.Security.MembershipProvider

      Oracle.Web.Security.OracleMembershipProvider

Declaration

// C#
public class OracleMembershipProvider: MembershipProvider

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store and manage user information in an Oracle database. Note that the term user in this chapter refers to an application or user, not a database user. Thus, the user information that this provider manages is application or user information, not database user information.

Example

The following code example shows a web.config file for an ASP.NET application configured to use OracleMembershipProvider as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file.

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <membership defaultProvider="OracleMembershipProvider"/>
  </system.web>
</configuration>

The following is a web.config example for an ASP.NET application that uses an OracleMembershipProvider with customized settings and an application-specific connection string:

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_membership_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleMembershipProvider settings -->
    <membership defaultProvider="MyOracleMembershipProvider">
      <providers>
        <add name="MyOracleMembershipProvider"
             type="Oracle.Web.Security.OracleMembershipProvider, 
             Oracle.Web, Version=2.112.2.0, Culture=neutral, 
             PublicKeyToken=89b483f429c47342"
             connectionStringName="my_membership_app_con_string"
             applicationName="my_membership_app"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="true"
             requiresUniqueEmail="true"
             passwordFormat="Hashed"
             maxInvalidPasswordAttempts="4"
             minRequiredPasswordLength="9"
             passwordAttemptWindow="8"/>
      </providers>
    </membership>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.Security

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleMembershipProvider Members

OracleMembershipProvider members are listed in the following tables.

OracleMembershipProvider Constructors

The OracleMembershipProvider constructor is listed in Table 2-1.

Table 2-1 OracleMembershipProvider Constructor

ConstructorDescription

OracleMembershipProvider Constructors


Instantiates a new instance of the OracleMembershipProvider class


OracleMembershipProvider Static Methods

OracleMembershipProvider static methods are listed in Table 2-2.

Table 2-2 OracleMembershipProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object


OracleMembershipProvider Public Properties

OracleMembershipProvider public properties are listed in Table 2-3.

Table 2-3 OracleMembershipProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that is used to group user information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

EnablePasswordReset


Indicates whether or not the membership provider is configured to allow users to reset their passwords

EnablePasswordRetrieval


Indicates whether or not the membership provider is configured to allow users to retrieve their passwords

MaxInvalidPasswordAttempts


Gets the number of invalid password or password-answer attempts allowed before the user is locked out

MinRequiredNonAlphanumericCharacters


Gets the minimum number of special characters that must be present in a valid password

MinRequiredPasswordLength


Gets the minimum length required for a password

Name

Inherited from System.Configuration.Provider.Providerbase

PasswordAttemptWindow


Gets the number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the user is locked out

PasswordCompatMode


Gets the password compatibility mode.

PasswordFormat


Gets a value indicating the format for storing passwords in the membership data source

PasswordStrengthRegularExpression


Gets the regular expression used to evaluate a password

RequiresQuestionAndAnswer


Gets a value indicating whether or not the membership provider is configured in such a way that it requires the user to answer a password question for password reset and retrieval

RequiresUniqueEmail


Gets a value indicating whether or not the membership provider is configured to require a unique e-mail address for each user name


OracleMembershipProvider Public Methods

OracleMembershipProvider public methods are listed in Table 2-4.

Table 2-4 OracleMembershipProvider Public Methods

Public MethodsDescription

ChangePassword


Updates the password for a user

ChangePasswordQuestionAndAnswer


Updates the password question and answer for a user

CreateUser


Adds a new user to the database

DeleteUser


Removes a user from the database

Equals

Inherited from System.Object (Overloaded)

FindUsersByEmail


Returns a collection of users whose e-mail addresses match the specified e-mail address

FindUsersByName


Returns a collection of users that match the specified user name

GeneratePassword


Generates a random password that is at least 14 characters in length

GetAllUsers


Returns a collection of all the users in the database

GetHashCode

Inherited from System.Object

GetNumberOfUsersOnline


Returns the number of users that are currently accessing the application

GetPassword


Returns the password for the specified user name from the database

GetType

Inherited from System.Object

GetUser


Returns user information from the database based on the unique identifier for the user (Overloaded)

GetUserNameByEmail


Returns the user name associated with the specified e-mail address

Initialize


Initializes the OracleMembership provider with the property values specified in the ASP.NET application configuration file (web.config)

ResetPassword


Resets a user's password and returns a new automatically generated password

ToString

Inherited from System.Object

UnlockUser


Unlocks a user so that the user can be validated

UpdateUser


Updates information about a user in the database

ValidateUser


Validates the user


OracleMembershipProvider Public Events

OracleMembershipProvider public event is listed in Table 2-5.

Table 2-5 OracleMembershipProvider Public Event

Public EventDescription

ValidatingPassword

Inherited from System.Web.Security.MembershipProvider



OracleMembershipProvider Constructors

This constructor instantiates a new instance of the OracleMembershipProvider class.

Overload List:

OracleMembershipProvider()

This constructor instantiates a new instance of the OracleMembershipProvider class.

Declaration

// C#
public OracleMembershipProvider();

Remarks

ASP.NET calls the OracleMembershipProvider constructor to create an instance of the OracleMembershipProvider class, as specified in the configuration for the application. Initialization values for the OracleMembershipProvider object are passed through the Initialize method.

This constructor is not intended to be used directly by the application.


OracleMembershipProvider Static Methods

OracleMembershipProvider static methods are listed in Table 2-6.

Table 2-6 OracleMembershipProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object



OracleMembershipProvider Public Properties

OracleMembershipProvider public properties are listed in Table 2-7.

Table 2-7 OracleMembershipProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that is used to group user information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

EnablePasswordReset


Indicates whether or not the membership provider is configured to allow users to reset their passwords

EnablePasswordRetrieval


Indicates whether or not the membership provider is configured to allow users to retrieve their passwords

MaxInvalidPasswordAttempts


Gets the number of invalid password or password-answer attempts allowed before the user is locked out

MinRequiredNonAlphanumericCharacters


Gets the minimum number of special characters that must be present in a valid password

MinRequiredPasswordLength


Gets the minimum length required for a password

Name

Inherited from System.Configuration.Provider.Providerbase

PasswordAttemptWindow


Gets the number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the user is locked out

PasswordCompatMode


Gets the password compatibility mode.

PasswordFormat


Gets a value indicating the format for storing passwords in the membership data source

PasswordStrengthRegularExpression


Gets the regular expression used to evaluate a password

RequiresQuestionAndAnswer


Gets a value indicating whether or not the membership provider is configured in such a way that it requires the user to answer a password question for password reset and retrieval

RequiresUniqueEmail


Gets a value indicating whether or not the membership provider is configured to require a unique e-mail address for each user name


ApplicationName

This property gets or sets the name of the application that is used to group user information.

Declaration

// C#
public override string ApplicationName{get; set;}

Property Value

The name of the application. If the applicationName attribute is not specified in the application configuration file, or if the value is an empty string, then this property is set to the application virtual path.

Exceptions

ArgumentException - The application name supplied is an empty string or a null reference.

ProviderException - The application name supplied exceeds 256 characters.

Remarks

The string value of the ApplicationName property is used for organizing user information. Multiple ASP.NET applications can use the same database and create duplicate user names because user information is stored uniquely for each application name. This property can be set programmatically, or it can be set declaratively in the Web application configuration file using the applicationName attribute. The attribute name in the configuration file is case-sensitive.

The ApplicationName property is not thread-safe. It is recommended that the programming code not allow users to set the ApplicationName property in Web applications.

CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.

EnablePasswordReset

This property indicates whether or not the membership provider is configured to allow users to reset their passwords.

Declaration

// C#
public override bool EnablePasswordReset{get;}

Property Value

Returns true, if the membership provider supports password reset; otherwise, it returns false. The default is true.

Remarks

To customize the membership provider, ASP.NET developers can specify a Boolean value for this property through the web.config file using the enablePasswordReset attribute. The value indicates whether or not users can use the ResetPassword method to overwrite their current password with a new, randomly generated password. The attribute name in the configuration file is case-sensitive.

EnablePasswordRetrieval

This property indicates whether or not the membership provider is configured to allow users to retrieve their passwords.

Declaration

// C#
public override bool EnablePasswordRetrieval{get;}

Property Value

Returns true, if the membership provider is configured to support password retrieval; otherwise, returns false. The default is false.

Remarks

To customize a membership provider, ASP.NET developers can set a Boolean value for this property through the web.config file using the enablePasswordRetrieval attribute. The value indicates whether or not users can use the GetPassword method to retrieve their current password from the database. The attribute name in the configuration file is case-sensitive.

If the custom membership provider supports hashed passwords, then the GetPassword method returns an exception if the EnablePasswordRetrieval property is set to true and the password format is set to Hashed. In other words, hashed passwords cannot be retrieved.

MaxInvalidPasswordAttempts

This property gets the number of invalid password or password-answer attempts allowed before the user is locked out.

Declaration

// C#
public override int MaxInvalidPasswordAttempts{get;}

Property Value

The number of invalid password or password-answer attempts allowed before the user is locked out. The default number of attempts is 5.

Remarks

To customize a membership provider, ASP.NET developers can set an integer value for this property through the web.config file using the maxInvalidPasswordAttempts attribute. The attribute name in the configuration file is case-sensitive.

The MaxInvalidPasswordAttempts property works in conjunction with the PasswordAttemptWindow property. If the number of invalid passwords or password question entries is greater than or equal to the MaxInvalidPasswordAttempts property value within the PasswordAttemptWindow property value (in minutes), then the user is locked out until the user is unlocked by the UnlockUser method. If a valid password or password answer is supplied before the MaxInvalidPasswordAttempts value is reached, then the counter that tracks the number of invalid attempts is reset to zero.

Invalid passwords and password-answer attempts accumulate independently. For example, if the MaxInvalidPasswordAttempts property is set to 10, and 6 invalid password attempts are made followed by 3 invalid password-answer attempts, 4 more invalid password attempts or 7 more invalid password-answer attempts must be made within the PasswordAttemptWindow for the user to be locked out.

If the RequiresQuestionAndAnswer property is set to false, invalid password-answer attempts are not tracked.

Invalid password and password-answer attempts are tracked in the ValidateUser, ChangePassword, ChangePasswordQuestionAndAnswer, GetPassword, and ResetPassword methods.

MinRequiredNonAlphanumericCharacters

This property gets the minimum number of special characters that must be present in a valid password.

Declaration

// C#
public override int MinRequiredNonAlphanumericCharacters(get;}

Property Value

The minimum number of special characters that must be present in a valid password. The default value is 1.

Remarks

To customize a membership provider, ASP.NET developers can set an integer value for this property through the web.config file using the minRequiredNonalphanumericCharacters attribute. The attribute name in the configuration file is case-sensitive.

The MinRequiredNonAlphanumericCharacters property returns the minimum number of special, nonalphabetic characters that must be entered to create a valid password for the OracleMembershipProvider object.

MinRequiredPasswordLength

This property gets the minimum length required for a password.

Declaration

// C#
public override int MinRequiredPasswordLength{get;}

Property Value

The minimum length required for a password. The default value is 7.

Remarks

To customize a membership provider, ASP.NET developers can set an integer value for this property through the web.config file using the minRequiredPasswordLength attribute. The attribute name in the configuration file is case-sensitive.

The minRequiredPasswordLength property gets the minimum number of characters that must be entered to create a valid password for the OracleMembershipProvider object.

PasswordAttemptWindow

This property gets the number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the user is locked out.

Declaration

// C#
public override int PasswordAttemptWindow{get;}

Property Value

The number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the user is locked out. The default value is 10.

Remarks

To customize a membership provider, ASP.NET developers can set an integer value for this property through the web.config file using the passwordAttemptWindow attribute. The attribute name in the configuration file is case-sensitive.

The PasswordAttemptWindow property works in conjunction with the MaxInvalidPasswordAttempts property. If the number of invalid passwords or password question entries is greater than or equal to the MaxInvalidPasswordAttempts property value within the PasswordAttemptWindow property value (in minutes), then the user is locked out until the user is unlocked by the UnlockUser method. If a valid password or password answer is supplied before the MaxInvalidPasswordAttempts value is reached, then the counter that tracks the number of invalid attempts is reset to zero.

Invalid password and password-answer attempts accumulate independently. For example, if the MaxInvalidPasswordAttempts property is set to 10, and 6 invalid password attempts are made followed by 3 invalid password-answer attempts, 4 more invalid password attempts or 7 more invalid password-answer attempts must be made within the PasswordAttemptWindow value for the user to be locked out.

If the RequiresQuestionAndAnswer property is set to false, then invalid password-answer attempts are not tracked.

Invalid password and password-answer attempts are tracked in the ValidateUser, ChangePassword, ChangePasswordQuestionAndAnswer, GetPassword, and ResetPassword methods.

PasswordCompatMode

This property gets the password compatibility mode.

Declaration

// C#
public string PasswordCompatMode {get;}

Property Value

A string.

Remarks

The default value is Framework20. The other acceptable value is Framework40. The string value is case-sensitive.

To customize a provider, ASP.NET developers can set a string value for this property through the web.config file using the case-sensitive passwordCompatMode attribute.

When passwordFormat attribute is set to Hashed, the value of System.Web.Security.Membership.HashAlgorithmType property is used to hash password for a Membership user during the creation and validation of the user.

The value for HashAlgorithmType property can be set in the web.config file through the case-sensitive attribute hashAlgorithmType, as in the following example:

<membership defaultProvider="OracleMembershipProvider" hashAlgorithmType="SHA1"/>

If hashAlgorithmType attribute is not specified in the web.config file, SHA1 will be used. With .NET Framework 2.0, the other valid value for hashAlgorithmType is MD5.

With .NET Framework 4, if a new application that does not have existing Membership users and would like to use one of the other variants of SHA and HMACSHA hash algorithm types, the passwordCompatMode attribute must be set to Framework40 and the hashAlgorithmType attribute must be set to the desired type, such as SHA256, HMACSHA256, HMACSHA384, or HMACSHA512. Nevertheless, SHA1 and MD5 are still supported when passwordCompatMode is set to Framework40.

Example

The following is a web.config example that sets hashAlgorithmType to HMACSHA25 and passwordCompatMode to Framework40.

<!-- Enable and customize OracleMembershipProvider settings -->
<membership defaultProvider="MyOracleMembershipProvider" hashAlgorithmType="HMACSHA256">
             <providers>
    <add name="MyOracleMembershipProvider"
    type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web,
    Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
    ConnectionStringName="my_membership_app_con_string"
    applicationName="my_membership_app"
    enablePasswordRetrieval="false"
    enablePasswordReset="true"
    requiresQuestionAndAnswer="true"
    requiresUniqueEmail="true"
    passwordFormat="Hashed"
    maxInvalidPasswordAttempts="4"
    minRequiredPasswordLength="9"
                passwordCompatMode="Framework40"
    passwordAttemptWindow="8"/>
          </providers>
</membership>

Once one hashAlgorithmType is used to create a Membership user, the same hashAlgorithmType must be used to validate the user. If hashAlgorithmType is changed, the user will not be validated successfully. Thus, the same hashAlgorithmType must be used for a given application during its lifetime.

PasswordFormat

This property gets a value indicating the format for storing passwords in the membership data source.

Declaration

// C#
public override MembershipPasswordFormat PasswordFormat{get;}

Property Value

The format for storing passwords in the data source. The format can be any one of the MembershipPasswordFormat values, such as Clear, Hashed, or Encrypted. The default value is Hashed.

Remarks

To customize a membership provider, ASP.NET developers can specify a MembershipPasswordFormat enumerated value for this property through the web.config file using the passwordFormat attribute. The attribute name in the configuration file is case-sensitive.

The PasswordFormat property indicates that passwords are stored in any one of the following formats: Clear, Encrypted, or Hashed. The format name is case-sensitive. For example, Clear is valid, but clear is invalid.

PasswordStrengthRegularExpression

This property gets the regular expression used to evaluate a password.

Declaration

// C#
public override string PasswordStrengthRegularExpression{get;}

Property Value

The regular expression that is used to evaluate a password. The default is an empty string.

Remarks

To customize a membership provider, ASP.NET developers can set a string value for this property through the web.config file using the passwordStrengthRegularExpression attribute. The attribute name in the configuration file is case-sensitive.

The PasswordStrengthRegularExpression property gets the regular expression as criteria to evaluate the password. If the password does not meet the criteria, it is not accepted by the membership provider.

Consider the following example:

passwordStrengthRegularExpression="(?=.{7,})(?=(.*\d){1,})(?=(.*\W){1,})"

The code in the preceding example validates passwords against the following criteria:

  • Has at least 7 characters.

  • Contains at least 1 digit.

  • Contains at least 1 special (nonalphanumeric) character.

The minimum password length defined in passwordStrengthRegularExpression must be equal to or greater than the value of the minRequiredPasswordLength attribute.

The minimum number of special (nonalphanumeric) characters defined in the passwordStrengthRegularExpression attribute must be equal to or greater than the value of the minRequiredNonalphanumericCharacters attribute.

The passwordStrengthRegularExpression attribute is not used in automatically generated passwords from the ResetPassword method.

RequiresQuestionAndAnswer

This property gets a value indicating whether or not the membership provider is configured in such a way that it requires the user to answer a password question for password reset and retrieval.

Declaration

// C#
public override bool RequiresQuestionAndAnswer{get;}

Property Value

Returns true, if a password answer is required for password reset and retrieval; otherwise, returns false. The default value is true.

Remarks

To customize a membership provider, ASP.NET developers can set a Boolean value for this property through the web.config file by using the requiresQuestionAndAnswer attribute. The value indicates whether users must supply a password answer in order to retrieve their password using the GetPassword method, or reset their password using the ResetPassword method. The attribute name in the configuration file is case-sensitive.

RequiresUniqueEmail

This property gets a value indicating whether or not the membership provider is configured to require a unique e-mail address for each user name.

Declaration

// C#
public override bool RequiresUniqueEmail{get;}

Property Value

Returns true, if the membership provider requires a unique e-mail address; otherwise, returns false. The default value is false.

Remarks

To customize a membership provider, ASP.NET developers can specify a Boolean value for the RequiresUniqueEmail property through the web.config file using the requiresUniqueEmail attribute. The attribute name in the configuration file is case-sensitive.


OracleMembershipProvider Public Methods

OracleMembershipProvider public methods are listed in Table 2-8.

Table 2-8 OracleMembershipProvider Public Methods

Public MethodsDescription

ChangePassword


Updates the password for a user

ChangePasswordQuestionAndAnswer


Updates the password question and answer for a user

CreateUser



Adds a new user to the database

DeleteUser


Removes a user from the database

Equals

Inherited from System.Object (Overloaded)

FindUsersByEmail


Returns a collection of users whose e-mail addresses match the specified e-mail address

FindUsersByName


Returns a collection of users that match the specified user name

GeneratePassword


Generates a random password that is at least 14 characters in length

GetAllUsers


Returns a collection of all the users in the database

GetHashCode

Inherited from System.Object

GetNumberOfUsersOnline


Returns the number of users that are currently accessing the application

GetPassword


Returns the password for the specified user name from the database

GetType

Inherited from System.Object

GetUser


Returns user information from the database based on the unique identifier for the user (Overloaded)

GetUserNameByEmail


Returns the user name associated with the specified e-mail address

Initialize


Initializes the OracleMembership provider with the property values specified in the ASP.NET application configuration file (web.config)

ResetPassword


Resets a user's password and returns a new automatically generated password

ToString

Inherited from System.Object

UnlockUser


Unlocks a user so that the user can be validated

UpdateUser


Updates information about a user in the database

ValidateUser


Validates the user


ChangePassword

This method updates the password for a user.

Declaration

// C#
public override bool ChangePassword(string userName, string oldPassword, 
  string newPassword);

Parameters

  • userName

    The user to update the password for.

  • oldPassword

    The current password for the specified user.

  • newPassword

    The new password for the specified user.

Return Value

Returns true if the password was updated successfully; otherwise, returns false.

Exceptions

ArgumentNullException - The userName, oldPassword, or newPassword parameter is null.

System.Web.Security.MembershipPasswordException - userName was not found in the membership database.

System.Configuration.Provider.ProviderException - An error occurred when setting the new password in the database.

Exception - An unhandled exception has occurred.

ArgumentException - One of the following conditions exists:

  • The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The oldPassword parameter is an empty string or is longer than 128 characters.

  • The newPassword parameter is an empty string, is longer than 128 characters (including the encoded version), is less than the value of the MinRequiredPasswordLength property, has a number of nonalphanumeric characters less than the value of MinRequiredNonAlphanumericCharacters property, or does not match the regular expression defined in the PasswordStrengthRegularExpression property.

  • The change-password operation was canceled by a subscriber to the ValidatingPassword event, and the FailureInformation property was a null reference.

Remarks

The ChangePassword method returns true if the supplied user name and password are valid and the password was updated successfully; otherwise, it returns false.

ChangePasswordQuestionAndAnswer

This method updates the password question and answer for a user.

Declaration

// C#
public override bool ChangePasswordQuestionAndAnswer(string userName, string
   password, string newPasswordQuestion, string newPasswordAnswer);

Parameters

  • userName

    The user that the password question and answer change for.

  • password

    The password for the specified user.

  • newPasswordQuestion

    The new password question for the specified user.

  • newPasswordAnswer

    The new password answer for the specified user.

Return Value

Returns true, if the password question and answer were updated successfully; false, if otherwise.

Exceptions

ArgumentException - One of the following conditions exists:

  • The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The password parameter is an empty string or is longer than 128 characters.

  • The newPasswordQuestion parameter is an empty string or is longer than 256 characters.

  • The newPasswordAnswer parameter is an empty string or is longer than 128 characters (including the encoded version).

Remarks

If the user name and password supplied are valid and the password question and answer were updated successfully, then this method returns true. Otherwise, it returns false.

CreateUser

This method adds a new user to the database.

Declaration

// C#
public override MembershipUser CreateUser(string userName, string password,
   string emailAddress, string passwordQuestion, string passwordAnswer, bool
   isApproved, Object providerUserKey, out MembershipCreateStatus status);

Parameters

  • userName

    The user name for the new user.

  • password

    The password for the new user.

  • emailAddress

    The email address for the new user.

  • passwordQuestion

    The password question for the new user.

  • passwordAnswer

    The password answer for the new user.

  • isApproved

    A Boolean value that indicates whether or not the new user is approved to be validated.

  • providerUserKey

    The unique identifier from the database for the new user.

  • status

    A MembershipCreateStatus enumeration value indicating whether or not the user was created successfully.

Return Value

A MembershipUser object populated with the information for the newly created user.

Remarks

This method returns a MembershipUser object populated with the information for the newly created user. The status parameter returns a MembershipCreateStatus value that indicates whether or not the user was successfully created. If the CreateUser method failed, a MembershipCreateStatus member indicates the cause of the failure.

MembershipCreateStatus Enumeration

The MembershipCreateStatus enumeration values are listed in Table 2-9.

Table 2-9 MembershipCreateStatus Enumeration Values

Member NameDescription

DuplicateEmail

The e-mail address for the application already exists in the database.

DuplicateProviderUserKey

The provider user key for the application already exists in the database.

DuplicateUserName

The user name for the application already exists in the database.

InvalidAnswer

The password answer is not formatted correctly.

InvalidEmail

The e-mail address is not formatted correctly.

InvalidPassword

The password is not formatted correctly.

InvalidProviderUserKey

The provider user key is of an invalid type or format.

InvalidQuestion

The password question is not formatted correctly.

InvalidUserName

The user name was not found in the database.

ProviderError

The provider returned an error that is not described by other MembershipCreateStatus enumeration values.

Success

The user was successfully created.

UserRejected

The user was not created, for a reason defined by the provider.


DeleteUser

This method removes a user from the database.

Declaration

// C#
public override bool DeleteUser(string userName, bool deleteAllRelatedData);

Parameters

  • userName

    The name of the user to delete.

  • deleteAllRelatedData

    A Boolean value that indicates whether or not all the data related to the user is to be removed from the database.

Return Value

Returns true, if the user was successfully deleted; false, if otherwise or if the user does not exist in the database.

Exceptions

ArgumentException - The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

ArgumentNullException - The userName parameter is a null reference.

Remarks

Leading and trailing spaces are trimmed from the userName parameter value. If deleteAllRelatedData is true, then all data related to the user in the database such as, data for roles, profiles, and personalization, are also deleted, even if the user does not exist in the Oracle membership database.

FindUsersByEmail

This method returns a collection of users whose e-mail addresses match the specified e-mail address.

Declaration

// C#
public override MembershipUserCollection FindUsersByEmail(string emailToMatch,
   int pageIndex, int pageSize, out int totalRecords);

Parameters

  • emailToMatch

    The email address to search for.

  • pageIndex

    The index of the page of results to return. The PageIndex is zero-based.

  • pageSize

    The size of the page of results to return.

  • totalRecords

    The total number of matched users.

Return Value

Returns a MembershipUserCollection object that contains MembershipUser objects.

Exceptions

ArgumentException - One of the following conditions exists:

  • The emailToMatch parameter is an empty string or is longer than 256 characters.

  • The pageIndex parameter is less than 0.

  • The pageSize parameter is less than 1 or the page upper bound is larger than Int32.MaxValue.

ArgumentNullException - The emailToMatch, pageIndex, pageSize, or totalRecords parameter is null.

Remarks

Leading and trailing spaces are trimmed from the emailToMatch parameter value. The results returned by the FindUsersByEmail method are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the maximum number of MembershipUser objects to return in the MembershipUserCollection object. The pageIndex parameter identifies which page of results to return. Zero identifies the first page, as the value is zero-based. The totalRecords parameter is an out parameter for the total number of users that matched the emailToMatch value.

The OracleMembershipProvider class supports extensive searching by accepting the percent character (%) as a wildcard.

FindUsersByName

This method returns a collection of users that match the specified user name.

Declaration

// C#
public override MembershipUserCollection FindUsersByEmail(string userNameToMatch,
  int pageIndex, int pageSize, out int totalRecords);

Parameters

  • userNameToMatch

    The user name to search for.

  • pageIndex

    The zero-based index of the returned results page.

  • pageSize

    The size of the returned results page.

  • totalRecords

    The total number of matched users.

Return Value

Returns a MembershipUserCollection object that contains MembershipUser objects.

Exceptions

ArgumentException - One of the following conditions exists:

  • The userNameToMatch parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The pageIndex parameter is less than 0.

  • The pageSize parameter is less than 1 or the page upper bound is larger than Int32.MaxValue.


Note:

The page lower bound is (pageIndex * pageSize) and the page upper bound is (pageIndex *pageSize) + (pageSize - 1).

ArgumentNullException - The userNameToMatch, pageIndex, pageSize, or totalRecords parameter is null.

Remarks

Leading and trailing spaces are trimmed from the userNameToMatch parameter value.

The results returned by the FindUsersByName method are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the maximum number of MembershipUser objects to return in the MembershipUserCollection object. The pageIndex parameter identifies which page of results to return. Zero identifies the first page, as the value is zero-based. The totalRecords parameter is an out parameter for the total number of users that matched the userNameToMatch value.

The OracleMembershipProvider class supports extensive search by accepting the percent character (%) as a wildcard.

GeneratePassword

This method generates a random password that is at least 14 characters in length.

Declaration

// C#
public virtual string GeneratePassword( );

Return Value

A random string for a password that is at least 14 characters in length.

Remarks

The OracleMembershipProvider object calls the GeneratePassword method to get a randomly generated password that is at least 14 characters but less than 128 characters in length.

The generated password contains only alphanumeric characters and the following punctuation marks: !@#$%^&*()_-+=[{]};:<>|./?. No hidden or non-printable control characters are included in the generated password.

If the value specified for MinRequiredPasswordLength property is greater than 14, then the length of the password returned by the GeneratePassword property is the value of the MinRequiredPasswordLength property. Otherwise, the length is 14 characters.

The random password generated by the GeneratePassword method is not guaranteed to pass the regular expression in the PasswordStrengthRegularExpression property. However, the random password meets the criteria established by the MinRequiredPasswordLength and MinRequiredNonAlphanumericCharacters properties.

GetAllUsers

This method returns a collection of all the users in the database.

Declaration

// C#
public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize,
   out int totalRecords);

Parameters

  • pageIndex

    The zero-based index of the page of results to return.

  • pageSize

    The size of the page of results to return.

  • totalRecords

    The total number of users.

Return Value

A MembershipUserCollection object that contains MembershipUser objects.

Exceptions

ArgumentException - The pageIndex parameter is less than 0, or the pageSize parameter is less than 1 or the page upper bound is larger than Int32.MaxValue.


Note:

The page lower bound is (pageIndex * pageSize) and the page upper bound is (pageIndex *pageSize) + (pageSize - 1).

ArgumentNullException - The pageIndex, pageSize, or totalRecords parameter is null.

Remarks

The results returned by the GetAllUsers method are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the maximum number of MembershipUser objects to return in the MembershipUserCollection object. The pageIndex parameter identifies which page of results to return. Zero identifies the first page, as the value is zero-based. The totalRecords parameter is an out parameter for the total number of users for the configured applicationName.

GetNumberOfUsersOnline

This method returns the number of users that are currently accessing the application.

Declaration

// C#
public override int GeNumberOfUsersOnline();

Return Value

An integer value indicating the total number of users currently accessing the application.

Remarks

The GetNumberOfUsersOnline method returns the number of users of the current application whose last activity date and time is greater than the current date and time less the value (in minutes) of the Membership.UserIsOnlineTimeWindow property.

The count includes only users that are associated with the configured applicationName.

GetPassword

This method returns the password for the specified user name from the database.

Declaration

// C#
public override string GetPassword(string userName, string passwordAnswer);

Parameters

  • userName

    The user to retrieve the password for.

  • passwordAnswer

    The password answer for the user.

Return Value

A password string for the specified user name.

Exceptions

ArgumentNullException - The userName parameter is null or the passwordAnswer parameter is null when the RequiresQuestionAndAnswer property is true.

System.Web.Security.MembershipPasswordException - The passwordAnswer parameter is invalid or the user identified by userName is being locked.

System.Configuration.Provider.ProviderException - The userName parameter is not found in the membership database, or an error occurred when retrieving the password from the membership database.

NotSupportedException - EnablePasswordRetrieval property is set to false.

ArgumentException - One of the following conditions exists:

  • The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The passwordAnswer parameter is an empty string and the RequiresQuestionAndAnswer property is true, or the passwordAnswer parameter is longer than 128 characters (including the encoded version).

Remarks

Leading and trailing spaces are trimmed from the userName and passwordAnswer parameter values.

The GetPassword method requires that the EnablePasswordRetrieval property be set to true. However, if the PasswordFormat property is set to Hashed, then a ProviderException is thrown when the provider is initialized. In other words, the GetPassword method cannot retrieve Hashed passwords. By default, the EnablePasswordRetrieval property is set to false.

If the RequiresQuestionAndAnswer property is set to true and an incorrect password answer is supplied to the GetPassword method, then the internal counter that tracks invalid password-answer attempts is incremented by one. This can result in the user being locked out and unable to log on until the lock status is cleared by a call to the UnlockUser method. If the correct password answer is supplied and the user is not currently locked out, then the internal counter that tracks invalid password-answer attempts is reset to zero.

GetUser

This method returns user information from the database based on the unique identifier for the user.

Overload List:

  • GetUser(Object, bool)

    This method returns user information from the database based on the supplied unique identifier.

  • GetUser(string, bool)

    This method returns user information from the database based on the supplied the user name.

GetUser(Object, bool)

This method returns user information from the database based on the supplied unique identifier.

Declaration

// C#
public override MembershipUser GetUser(Object providerUserKey, 
   bool userIsOnline);

Parameters

  • providerUserKey

    The unique identifier of the user for whom information is being retrieved.

  • userIsOnline

    A Boolean value that indicates whether or not the method updates the last-activity date/time stamp for the user. If the value is set to true, it is updated; otherwise, the method returns user information without updating the last-activity date/time stamp.

Return Value

A MembershipUser object populated with the specified user's information from the database.

Exceptions

ArgumentException - The providerUserKey parameter is not of type GUID.

ArgumentNullException - The providerUserKey parameter is null.

Remarks

The GetUser method provides an option to update the last-activity date/time stamp for the user.

The GetUser method returns a MembershipUser object populated with information about the specified user. If the user name is not found in the database, then the GetUser method returns a null reference.

GetUser(string, bool)

This method returns user information from the database based on the supplied user name.

Declaration

// C#
public override MembershipUser GetUser(string userName, bool userIsOnline);

Parameters

  • userName

    The name of the user to get information for.

  • userIsOnline

    A Boolean value that indicates whether or not the method updates the last-activity date/time stamp for the user. If the value is set to true, it is updated; otherwise, the method returns user information without updating the last-activity date/time stamp.

Return Value

A MembershipUser object populated with the specified user's information from the database.

Exceptions

ArgumentException - The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

ArgumentNullException - The userName parameter is null.

Remarks

The GetUser method provides an option to update the last-activity date/time stamp for the user.

The GetUser method returns a MembershipUser object populated with information about the specified user. If the user name is not found in the database, then the GetUser method returns a null reference.

GetUserNameByEmail

This method returns the user name associated with the specified e-mail address.

Declaration

// C#
public override string GetUserNameByEmail(string emailAddress);

Parameters

  • emailAddress

    The email address to search for.

Return Value

The user name associated with the specified e-mail address. If no match is found, then it returns a null reference.

Exceptions

ArgumentException - E-mail address exceeds 256 characters.

System.Configuration.Provider.ProviderException - More than one user with the same e-mail address exists in the database and the RequiresUniqueEmail property is true.

Remarks

If the value of the RequiresUniqueEmail property is true, then a unique e-mail address must be associated with each user name.

Initialize

This method initializes the OracleMembership provider with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

  • name

    The name of the OracleMembership provider instance to initialize.

  • config

    A collection of name/value pairs representing the provider-specific attributes specified in the configuration for this provider.

Exceptions

ArgumentNullException - The config parameter is a null value.

InvalidOperationException - An attempt is made to call the Initialize method on a provider after the provider has already been initialized.

HttpException - The current trust level is less than Low.

System.Configuration.Provider.ProviderException - One of the following is true in the application configuration file:

  • The enablePasswordRetrieval, enablePasswordReset, requiresQuestionAndAnswer, or requiresUniqueEmail attribute is set to a value other than a Boolean value.

  • The maxInvalidPasswordAttempts or passwordAttemptWindow attribute is set to a value that is not a positive integer.

  • The minRequiredPasswordLength attribute is set to a value that is not a positive integer, or the value is greater than 128.

  • The minRequiredNonalphanumericCharacters attribute is set to a negative integer, or the value is greater than 128.

  • The value for the passwordStrengthRegularExpression attribute is not a valid regular expression.

  • The value for the applicationName attribute is greater than 256 characters.

  • The value for passwordFormat attribute is an invalid MembershipPasswordFormat enumeration value.

  • The passwordFormat attribute is set to Hashed, and the enablePasswordRetrieval attribute is set to true.

  • The passwordFormat attribute is set to Encrypted, and the machineKey configuration element specifies AutoGenerate for the decryptionKey attribute.

  • The connectionStringName attribute is empty or does not exist in the application configuration file.

  • The value of the connection string for the connectionStringName attribute value is empty, or the specified connectionStringName does not exist in the application configuration file.

  • The value for the commandTimeout attribute is set to a negative integer.

  • The application configuration file for this OracleMembershipProvider instance contains an unrecognized attribute.

Remarks

The Initialize method is not intended to be called directly by the application.

ResetPassword

This method resets a user's password and returns a new automatically generated password.

Declaration

// C#
public override string ResetPassword(string userName, string passwordAnswer);

Parameters

  • userName

    The user to reset the password for.

  • passwordAnswer

    The password answer for the specified user.

Return Value

The new password for the specified user.

Exceptions

ArgumentNullException - The userName parameter is a null reference, or the passwordAnswer parameter is null when the RequiresQuestionAndAnswer property is true.

System.Web.Security.MembershipPasswordException - The passwordAnswer parameter is invalid or the user identified by the userName parameter is locked out.

ArgumentException - One of the following conditions exists:

  • The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The passwordAnswer parameter is an empty string and RequiresQuestionAndAnswer property is true, or the passwordAnswer parameter is longer than 128 characters (including the encoded version).

System.Configuration.Provider.ProviderException - One of the following conditions exists:

  • userName was not found in the membership database.

  • The reset-password operation was canceled by a subscriber to the ValidatingPassword event and the FailureInformation property was a null reference.

  • An error occurred when resetting the password in the membership database.

NotSupportedException - The EnablePasswordReset property is set to false.

Exception - An unhandled exception occurred.

Remarks

Leading and trailing spaces are trimmed from the userName and passwordAnswer parameter values.

The ResetPassword method is most commonly used when the PasswordFormat property is set to Hashed. If a user forgets a password that is in hashed format, the password cannot be retrieved. However, the provider can reset the password to a new, automatically generated password if the user supplies the correct password answer. The ResetPassword method requires that the EnablePasswordReset property is set to true. If an incorrect password answer is supplied to the ResetPassword method, then the internal counter that tracks invalid password attempts is incremented by one. This can result in the user being locked out and unable to log on until the lock status is cleared by a call to the UnlockUser method. If the correct password answer is supplied and the user is not currently locked out, then the internal counter that tracks invalid password-answer attempts is reset to zero.

The random password generated by the ResetPassword method is not guaranteed to pass the regular expression in the PasswordStrengthRegularExpression property. However, the random password will meet the criteria established by the MinRequiredPasswordLength and MinRequiredNonAlphanumericCharacters properties.

UnlockUser

This method unlocks a user so that the user can be validated.

Declaration

// C#
public override bool UnLockUser(string userName);

Parameters

  • userName

    The name of the user to be unlocked.

Return Value

Returns true, if the user was successfully unlocked; false, if otherwise.

Exceptions

ArgumentException - The userName parameter is an empty string, contains a comma, or is longer than 256 characters.

ArgumentNullException - The userName parameter is null.

Remarks

Leading and trailing spaces are trimmed from the userName parameter value.

UpdateUser

This method updates information about a user in the database.

Declaration

// C#
public override void UpdateUser(MembershipUser membershipUser);

Parameters

  • membershipUser

    A MembershipUser object populated with user information.

Exceptions

ArgumentException - One of the following conditions exists:

  • The userName property of membershipUser is an empty string, contains a comma, or is longer than 256 characters.

  • The email property of membership User is an empty string and the Requires Unique Em ail property is set to true, or the mail property is longer than 256 characters.

Argument Null Exception - The membership User parameter is null, or the surname or mail property of the membership User parameter is null.

System.Configuration.Provider.ProviderException - One of the following conditions exists:

  • The surname property of the membership User parameter is not found in the membership database.

  • The mail property of the membership User parameter is equal to an existing e-mail address in the membership database, and the Requires Unique Em ail property is set to true.

  • An error occurred when updating the user in the membership database.

Remarks

The specified user's Mail, Comment, IsApproved, Last Login Date, and LastActivityDate property values can be modified, and then updated by the UpdateUser method. However, the password for a user cannot. To update the password for a user, use the ChangePassword method of the MembershipUser class.

ValidateUser

This method validates the user.

Declaration

// C#
public override bool ValidateUser(string userName, string password);

Parameters

  • userName

    The name of the user to be validated.

  • password

    The password for the specified user.

Return Value

Returns true if the specified user name and password are valid; returns false if they are not valid or the user does not exist in the database.

Remarks

Leading and trailing spaces are trimmed from the userName and password parameter values.

When a user is successfully validated, the last activity date and last sign-in date values are updated to the current date and time in the database.

The ValidateUser method returns false on any user who was created with the isApproved parameter set to false.

If an incorrect password is supplied to the ValidateUser method, then the internal counter that tracks invalid password attempts is incremented by one. This can result in the user being locked out and unable to log on until the lock status is cleared by a call to the UnlockUser method. If the correct password is supplied and the user is not currently locked out, then the internal counters that track invalid password and password-answer attempts are reset to zero.


OracleMembershipProvider Public Events

OracleMembershipProvider public event is listed in Table 2-10.

Table 2-10 OracleMembershipProvider Public Events

Public EventDescription

ValidatingPassword

Inherited from System.Web.Security.MembershipProvider


PK PK-A OEBPS/toc.htmP Table of Contents

Contents

Title and Copyright Information

Preface

What's New in Oracle Providers for ASP.NET?

1 Introduction to Oracle Providers for ASP.NET

2 OracleMembershipProvider

3 OracleRoleProvider

4 OracleSiteMapProvider

5 OracleSessionStateStore

6 OracleProfileProvider

7 OracleWebEventProvider

8 OraclePersonalizationProvider

9 OracleCacheDependency Provider

Index

PKF瞓PPPK-AOEBPS/OracleCacheDependency.htmE OracleCacheDependency Provider

9 OracleCacheDependency Provider

This chapter describes the OracleCacheDependency class.

This chapter contains the following topic:

PKJEPK-A!OEBPS/OracleRoleProviderClass.htm OracleRoleProvider Class

OracleRoleProvider Class

The OracleRoleProvider class allows ASP.NET applications to store role and user information in an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.Security.RoleProvider

      Oracle.Web.Security

Declaration

// C#
public class OracleRoleProvider : RoleProvider

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to store and manage role information in an Oracle database.Note that the role information that this provider manages are application roles and not database roles.

Example

The following is a web.config example for an ASP.NET application that uses the OracleRoleProvider class as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <roleManager enabled="true" defaultProvider="OracleRoleProvider"/>
  </system.web>
</configuration>

The following is a web.config example for an ASP.NET application that uses an OracleRoleProvider as the default provider with customized settings and an application-specific connection string.

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_role_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleRoleProvider -->
    <roleManager enabled="true" defaultProvider="MyOracleRoleProvider">
      <providers>
        <add name="MyOracleRoleProvider"
             type="Oracle.Web.Security.OracleRoleProvider,
             Oracle.Web, Version=2.112.2.0, Culture=neutral,
             PublicKeyToken=89b483f429c47342"
             connectionStringName="my_role_app_con_string" 
             applicationName="my_role_app"/>
      </providers>
    </roleManager>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.Security

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4


OracleRoleProvider Members

OracleRoleProvider members are listed in the following tables.

OracleRoleProvider Constructors

The OracleRoleProvider constructor is listed in Table 3-1.

Table 3-1 OracleRoleProvider Constructor

ConstructorDescription

OracleRoleProvider Constructors

Instantiates a new instance of the OracleRoleProvider class


OracleRoleProvider Static Methods

OracleRoleProvider static methods are listed in Table 3-2.

Table 3-2 OracleRoleProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object


OracleRoleProvider Public Properties

OracleRoleProvider public properties are listed in Table 3-3.

Table 3-3 OracleRoleProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that stores the role provider information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


OracleRoleProvider Public Methods

OracleRoleProvider public methods are listed in Table 3-4.

Table 3-4 OracleRoleProvider Public Methods

Public MethodsDescription

AddUsersToRoles


Adds the specified users to the specified roles

CreateRole


Adds a new role to the database

DeleteRole


Deletes a role in the database

Equals

Inherited from System.Object (Overloaded)

FindUsersInRole


Returns an array of user names that match the specified user name

GetAllRoles


Returns an array of all the roles for an application

GetHashCode

Inherited from System.Object

GetRolesForUser


Returns an array of role names for the specified user

GetType

Inherited from System.Object

GetUsersInRole


Returns an array of users in the specified role name

Initialize


Initializes OracleRoleProvider with the property values specified in the ASP.NET application configuration file

IsUserInRole


Indicates whether or not the specified user is in the specified role

RemoveUsersFromRoles


Removes the specified array of users from the specified array of role names

RoleExists


Indicates whether or not the specified role name exists in the database

ToString

Inherited from System.Object



OracleRoleProvider Constructors

OracleRoleProvider constructors create instances of the OracleRoleProvider class.

Overload List:

OracleRoleProvider()

This constructor creates an instance of the OracleRoleProvider class.

Declaration

// C#
public OracleRoleProvider();

Remarks

This constructor creates a new instance of the OracleRoleProvider class.


OracleRoleProvider Static Methods

The OracleRoleProvider static methods are listed in Table 3-5.

Table 3-5 OracleRoleProvider Static Methods

Static MethodsDescription

Equals(Overloaded)

Inherited from System.Object

ReferenceEquals

Inherited from System.Object



OracleRoleProvider Public Properties

The OracleRoleProvider public properties are listed in Table 3-6.

Table 3-6 OracleRoleProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that stores the role provider information

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

Description

Inherited from System.Configuration.Provider.Providerbase

Name

Inherited from System.Configuration.Provider.Providerbase


ApplicationName

This property gets or sets the name of the application that stores the role provider information.

Declaration

// C#
public override string ApplicationName{get; set;};

Property Value

The name of the application. If the applicationName attribute is not specified in the application configuration file, or if the value is an empty string, then this property is set to the application virtual path.

Exceptions

HttpException - The user setting the ApplicationName property does not have high ASP.NET hosting permission.

System.Configuration.Provider.ProviderException - The ApplicationName property is set to a string greater than 256 characters.

Remarks

The string value of the ApplicationName property is used to associate user names and role names with different applications. Multiple applications can use the same database to store user names and role names without running into any conflict between duplicate names. This property can be set programmatically, or it can be set declaratively in the Web application configuration file using the applicationName attribute. The attribute name in the configuration file is case-sensitive.

The ApplicationName property is not thread-safe. It is recommended that the programming code not allow users to set the ApplicationName property in Web applications.

CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OracleRoleProvider Public Methods

The OracleRoleProvider public methods are listed in Table 3-7.

Table 3-7 OracleRoleProvider Public Methods

Public MethodDescription

AddUsersToRoles


Adds the specified users to the specified roles

CreateRole


Adds a new role to the database

DeleteRole


Deletes a role in the database

Equals

Inherited from System.Object (Overloaded)

FindUsersInRole


Returns an array of user names that match the specified user name

GetAllRoles


Returns an array of all the roles for an application

Get Hash Code

Inherited from System.Object

GetRolesForUser


Returns an array of role names for the specified user

Getup

Inherited from System.Object

GetUsersInRole


Returns an array of users in the specified role name

Initialize


Initializes OracleRoleProvider with the property values specified in the ASP.NET application configuration file

IsUserInRole


Indicates whether or not the specified user is in the specified role

RemoveUsersFromRoles


Removes the specified array of users from the specified array of role names

RoleExists


Indicates whether or not the specified role name exists in the database

ToString

Inherited from System.Object


AddUsersToRoles

This method adds the specified users to the specified roles.

Declaration

// C#
public override void AddUsersToRoles(string[] userNames, string[] roleNames);

Parameters

  • userNames

    An array of user names to be added to roles.

  • roleNames

    An array of role names to add the user names to.

Exceptions

ArgumentNullException - One of the users in userNames or one of the roles in roleNames is null.

ArgumentException - Either the roleNames or userNames parameter is an empty string, contains a comma, is longer than 256 characters, or contains a duplicate element.

System.Configuration.Provider.ProviderException - One or more role names were not found, or one or more user names are already associated with one or more role names.

OracleException - An Oracle-related error has occurred.

Remarks

This method adds one or more user names to one or more of the specified roles. The updates are performed in a transaction. If an error occurs, then the transaction is rolled back and no updates are made.

If one of the user names does not exist in the database, then the user name will be created and added to the database.

CreateRole

This method adds a new role to the database.

Declaration

// C#
public override void CreateRole(string roleName);

Parameters

  • roleName

    The role name to be created in the database.

Exceptions

ArgumentNullException - The roleName parameter is null.

ArgumentException - The roleName parameter is an empty string, contains a comma, or is longer than 256 characters.

System.Configuration.Provider.ProviderException - The role name already exists in the database.

OracleException - An Oracle-related error has occurred.

Remarks

This method creates a new role in the database.

DeleteRole

This method deletes a role in the database.

Declaration

// C#
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole);

Parameters

  • roleName

    The role name to be deleted from the database.

  • throwOnPopulatedRole

    A Boolean value that, if set to true, causes an exception if the role contains any user names. If the value is set to false, deletes the role from the database.

Return Value

Returns true if the specified role was successfully deleted; otherwise, returns false.

Exceptions

ArgumentNullException - The roleName parameter is null.

System.Configuration.Provider.ProviderException - The role name contains at least one user name and the throwOnPopulatedRole parameter is set to true.

OracleException - An Oracle-related error has occurred.

ArgumentException - The roleName parameter is an empty string, contains a comma, or is longer than 256 characters:

Remarks

If the throwOnPopulatedRole parameter is set to false, then it deletes the specified role from the database regardless of whether or not it contains any users. If the throwOnPopulatedRole parameter is set to true, then an exception is thrown if the specified role in the database contains any users, but the role is not deleted.

FindUsersInRole

This method returns an array of user names that match the specified user name, for the specified role name.

Declaration

// C#
public override string[ ] FindUsersInRole(string roleName, string
   userNameToMatch);

Parameters

  • roleName

    The role name being searched for in the database.

  • userNameToMatch

    The user name being searched for.

Return Value

A string array that contains user names in the specified role that match the specified userNameToMatch parameter.

Exceptions

ArgumentNullException - The roleName or userNameToMatch parameter is null.

OracleException - An Oracle-related error has occurred.

System.Configuration.Provider.ProviderException - The role name does not exist in the database.

ArgumentException - One of the following conditions exists:

  • The roleName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The userNameToMatch parameter is an empty string or is longer than 256 characters.

Remarks

This method returns an array of user names that match the specified user name, for the specified role name. This method supports Oracle wildcard characters. If the userNameToMatch parameter is set to "oraUser%", then an array is returned for users such as "oraUser1", "oraUser2", and so on. However, if the userNameToMatch parameter is set to "oraUser", then the array is returned with just the username "oraUser", if there is an "oraUser".

GetAllRoles

This method returns an array of all the roles for an application.

Declaration

// C#
public override string[ ] GetAllRoles();

Return Value

A string array containing all the role names in a database for the application.

Exceptions

OracleException - An Oracle related error has occurred.

GetRolesForUser

This method returns an array of role names for the specified user.

Declaration

// C#
public override string[] GetRolesForUser(string userName);

Parameters

  • userName

    The user name for which an array of role names is returned.

Return Value

An array of role names for the specified user name.

Exceptions

ArgumentNullException - The userName parameter is null.

ArgumentException - The userName parameter contains a comma or is longer than 256 characters.

OracleException - An Oracle-related error has occurred.

GetUsersInRole

This method returns an array of users in the specified role name.

Declaration

// C#
public override string[ ] GetUsersInRole(string roleName);

Parameters

  • roleName

    The role name for which an array of users is returned.

Return Value

An array of user names in the specified role name.

Exceptions

ArgumentNullException - The roleName parameter is null.

OracleException - An Oracle-related error has occurred.

System.Configuration.Provider.ProviderException - The role name does not exist in the database.

ArgumentException - The roleName parameter is an empty string, contains a comma, or is longer than 256 characters:

Initialize

This method initializes the OracleRoleProvider instance with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
public override void Initialize(string name, NameValueCollection config);

Parameters

  • name

    The name of the OracleRoleProvider instance to initialize.

  • config

    A Systems.Collections.Specialized.NameValueCollection object that contains the names and values of configuration options for the role provider.

Exceptions

System.Web.HttpException - ASP.NET is not running at medium trust or higher.

ArgumentNullException - The config parameter is null.

System.Configuration.Provider.ProviderException - The connectionStringName attribute is empty or does not exist in the configuration file, the applicationName attribute exceeds 256 characters, or the configuration file contains an invalid attribute.

Remarks

The Initialize method is not intended to be called directly by the application.

IsUserInRole

This method indicates whether or not the specified user is in the specified role.

Declaration

// C#
public override bool IsUserInRole(string userName, string roleName);

Parameters

  • userName

    The user name being searched for.

  • roleName

    The role name being searched in.

Return Value

Returns true if the specified user name is in the specified role name; otherwise, returns false.

Exceptions

ArgumentNullException - The userName or roleName parameter is null.

OracleException - An Oracle-related error has occurred.

ArgumentException - One of the following conditions exists:

  • The roleName parameter is an empty string, contains a comma, or is longer than 256 characters.

  • The userName parameter contains a comma or is longer than 256 characters.

Remarks

This method determines if the specified user name exists in the specified role name in the database.

RemoveUsersFromRoles

This method removes the specified array of users from the specified array of role names.

Declaration

// C#
public override void RemoveUsersFromRoles(string[] userNames, string[] roleNames);

Parameters

  • userNames

    An array of user names to remove from the role names.

  • roleNames

    An array of role names to remove the user names from.

Exceptions

ArgumentNullException - One of the users in the userNames parameter or one of the roles in the roleNames parameter is null.

OracleException - An Oracle-related error has occurred.

System.Configuration.Provider.ProviderException - One or more of the role names or user names does not exist in the database, or one or more of the user names is not associated a role name.

ArgumentException - The roleNames or userNames parameter is an empty string, contains a comma, is longer than 256 characters, or contains a duplicate element.

Remarks

This method removes the specified array of user names from the specified array of role names. The updates are made within a transaction. If an error occurs, the transaction is rolled back.

RoleExists

This method indicates whether or not the specified role name exists in the database.

Declaration

// C#
public override bool RoleExists(string roleName);

Parameters

  • roleName

    The role name being searched for in the database.

Return Value

Returns true if the role name exists; otherwise, returns false.

Exceptions

ArgumentNullException - The roleName parameter is null

OracleException - An Oracle-related error has occurred.

ArgumentException - The roleName parameter is an empty string, contains a comma, or is longer than 256 characters.

PKwrPK-AOEBPS/OracleProfileProvider.htm OracleProfileProvider

6 OracleProfileProvider

This chapter describes OracleProfileProvider class.


See Also:

 ASP.NET profile properties and profile providers http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

This chapter contains the following topic:

PKPK-A$OEBPS/OracleSiteMapProviderClass.htm OracleSiteMapProvider Class

OracleSiteMapProvider Class

This class allows ASP.NET applications to retrieve site map information from an Oracle database.

Class Inheritance

System.Object

  System.Configuration.Provider.ProviderBase

    System.Web.SiteMapProvider

      System.Web.StaticSiteMapProvider

        Oracle.Web.SiteMap.OracleSiteMapProvider

Declaration

// C#
Public class OracleSiteMapProvider: StaticSiteMapProvider, IDisposable

Thread Safety

All public static methods are thread-safe, although instance members are not guaranteed to be thread-safe.

Remarks

This class allows ASP.NET applications to read and load site map information from an Oracle database.

Examples

The following is a web.config example for an ASP.NET application that uses OracleSiteMapProvider as the default provider. This configuration uses the connection string and default attribute values specified in the machine.config file.

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <siteMap defaultProvider="OracleSiteMapProvider"/>
  </system.web>
</configuration>

The following is a web.config example for an ASP.NET application that uses OracleSiteMapProvider as the default provider, with customized settings and an application-specific connection string:

<?xml version="1.0"?>
<configuration xmlns=
  "http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="my_sitemap_app_con_string" connectionString=
      "User Id=scott;Password=tiger;Data Source=Oracle"/>
  </connectionStrings>
  <system.web>
    <!-- Enable and customize OracleSiteMapProvider -->
    <siteMap defaultProvider="CustomOracleSiteMapProvider">
      <providers>
        <add name="CustomOracleSiteMapProvider"
             type="Oracle.Web.SiteMap.OracleSiteMapProvider,
                   Oracle.Web, Version=2.112.2.0, Culture=neutral,
                   PublicKeyToken=89b483f429c47342"
             connectionStringName="my_sitemap_app_con_string"
             applicationName="my_sitemap_app"
             securityTrimmingEnabled="false"/>
      </providers>
    </siteMap>
  </system.web>
</configuration>

Note that the applicationName attribute should be set to a unique value for each ASP.NET application.

Requirements

Namespace: Oracle.Web.SiteMap

Assembly: Oracle.Web.dll

Oracle Providers for ASP.NET Version: Oracle Providers for ASP.NET 2.0 and Oracle Providers for ASP.NET 4

OracleSiteMapProvider requires the Change Notification privilege with Oracle Database 10g release 2 (10.2)and later.


OracleSiteMapProvider Members

OracleSiteMapProvider members are listed in the following tables.

OracleSiteMapProvider Constructors

The OracleSiteMapProvider constructor is listed in Table 4-1.

Table 4-1 OracleSiteMapProvider Constructor

ConstructorDescription

OracleSiteMapProvider Constructors


Instantiates a new instance of the OracleSiteMapProvider class


OracleSiteMapProvider Static Methods

OracleSiteMapProvider static methods are listed in Table 4-2.

Table 4-2 OracleSiteMapProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object


OracleSiteMapProvider Public Properties

OracleSiteMapProvider public properties are listed in Table 4-3.

Table 4-3 OracleSiteMapProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that differentiates site map data for different applications

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

CurrentNode

Inherited from System.Web.SiteMapProvider (Read-Only)

Description

Inherited from System.Configuration.Provider.Providerbase

EnableLocalization

Inherited from System.Web.SiteMapProvider

Name

Inherited from System.Configuration.Provider.Providerbase

ParentProvider

Inherited from System.Web.SiteMapProvider

ResourceKey

Inherited from System.Web.SiteMapProvider

RootNode

Inherited from System.Web.SiteMapProvider (Read-Only)

RootProvider

Inherited from System.Web.SiteMapProvider

SecurityTrimmingEnabled

Inherited from System.Web.SiteMapProvider


OracleSiteMapProvider Public Methods

OracleSiteMapProvider public methods are listed in Table 4-4.

Table 4-4 OracleSiteMapProvider Public Methods

Public MethodsDescription

BuildSiteMap


Builds a SiteMap tree of the SiteMapNode objects by loading site map data from an Oracle database

Dispose


Releases all the resources for this instance

FindSiteMapNode

Inherited from System.Web.StaticSiteMapProvider

FindSiteMapNodeFromKey

Inherited from System.Web.StaticSiteMapProvider

GetChildNodes

Inherited from System.Web.StaticSiteMapProvider

GetCurrentNodeAndHintAncestorNodes

Inherited from System.Web.SiteMapProvider

GetCurrentNodeAndHintNeighborhoodNodes

Inherited from System.Web.SiteMapProvider

GetParentNode

Inherited from System.Web.StaticSiteMapProvider

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent

Inherited from System.Web.SiteMapProvider

GetParentNodeRelativeToNodeAndHintDownFromParent

Inherited from System.Web.SiteMapProvider

HintAncestorNodes

Inherited from System.Web.SiteMapProvider

IsAccessibleToUser

Inherited from System.Web.SiteMapProvider

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

Initialize


Initializes the OracleSiteMapProvider instance with the property values specified in the ASP.NET application configuration file

ToString

Inherited from System.Object



OracleSiteMapProvider Constructors

This constructor instantiates a new instance of the OracleSiteMapProvider class.

Overload List:

OracleSiteMapProvider()

This constructor instantiates a new instance of the OracleSiteMapProvider class.

Declaration

// C#
public OracleSiteMapProvider();

Remarks

The OracleSiteMapProvider constructor is called by ASP.NET to create an instance of the OracleSiteMapProvider class as specified in the configuration file for the application. Initialization values for the OracleSiteMapProvider object are passed through the Initialize method.

This constructor is not intended to be used directly by the application.


OracleSiteMapProvider Static Methods

OracleSiteMapProvider static methods are listed in Table 4-5.

Table 4-5 OracleSiteMapProvider Static Methods

Static MethodsDescription

Equals

Inherited from System.Object (Overloaded)

ReferenceEquals

Inherited from System.Object



OracleSiteMapProvider Public Properties

OracleSiteMapProvider public properties are listed in Table 4-6.

Table 4-6 OracleSiteMapProvider Public Properties

Public PropertiesDescription

ApplicationName


Gets or sets the name of the application that differentiates site map data for different applications

CommandTimeout


Gets the number of seconds that the command is allowed to execute before it is terminated with an exception

CurrentNode

Inherited from System.Web.SiteMapProvider

Description

Inherited from System.Configuration.Provider.Providerbase

EnableLocalization

Inherited from System.Web.SiteMapProvider

Name

Inherited from System.Configuration.Provider.Providerbase

ParentProvider

Inherited from System.Web.SiteMapProvider

ResourceKey

Inherited from System.Web.SiteMapProvider

RootNode

Inherited from System.Web.SiteMapProvider

RootProvider

Inherited from System.Web.SiteMapProvider

SecurityTrimmingEnabled

Inherited from System.Web.SiteMapProvider


ApplicationName

This property gets or sets the name of the application that differentiates site map data for different applications.

Declaration

// C#
public string ApplicationName{get; set;}

Property Value

The name of the application. If the applicationName attribute is not specified in the application configuration file, or if the value is an empty string, then this property is set to the application virtual path.

Exceptions

HttpException - The ApplicationName property was set by a user that does not have high ASP.NET hosting permission.

System.Configuration.Provider.ProviderException - The application name supplied exceeds 256 characters.

ArgumentException - The application name supplied is an empty string or a null reference.

Remarks

The string value of the ApplicationName property is used for organizing user information.

Multiple ASP.NET applications can use the same data source and create duplicate user names because user information is stored uniquely for each application name. This property can be set programmatically, or it can be set declaratively in the configuration file for the Web application using the applicationName attribute. The attribute name in the configuration file is case-sensitive.

The ApplicationName property is not thread-safe. It is recommended that program code not allow users to set the ApplicationName property in Web applications.

CommandTimeout

This property gets the number of seconds that the command is allowed to execute before it is terminated with an exception.

Declaration

// C#
public int CommandTimeout {get;}
 

Property Value

An int.

Remarks

To customize a provider, ASP.NET developers can set an integer value for this property through the web.config file using the commandTimeout attribute.

The default value is 30 seconds. The attribute name in the configuration file is case-sensitive.


OracleSiteMapProvider Public Methods

OracleSiteMapProvider public methods are listed in Table 4-7.

Table 4-7 OracleSiteMapProvider Public Methods

Public MethodsDescription

BuildSiteMap


Builds a SiteMap tree of the SiteMapNode objects by loading site map data from an Oracle database

Dispose


Releases all the resources for this instance

FindSiteMapNode

Inherited from System.Web.StaticSiteMapProvider

FindSiteMapNodeFromKey

Inherited from System.Web.StaticSiteMapProvider

GetChildNodes

Inherited from System.Web.StaticSiteMapProvider

GetCurrentNodeAndHintAncestorNodes

Inherited from System.Web.SiteMapProvider

GetCurrentNodeAndHintNeighborhoodNodes

Inherited from System.Web.SiteMapProvider

GetParentNode

Inherited from System.Web.StaticSiteMapProvider

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent

Inherited from System.Web.SiteMapProvider

GetParentNodeRelativeToNodeAndHintDownFromParent

Inherited from System.Web.SiteMapProvider

HintAncestorNodes

Inherited from System.Web.SiteMapProvider

IsAccessibleToUser

Inherited from System.Web.SiteMapProvider

GetHashCode

Inherited from System.Object

GetType

Inherited from System.Object

Initialize


Initializes the OracleSiteMapProvider instance with the property values specified in the ASP.NET application's configuration file

ToString

Inherited from System.Object


BuildSiteMap

This method builds a SiteMap tree of the SiteMapNode objects by loading site map data from the Oracle database.

Declaration

// C#
Public override SiteMapNode BuildSiteMap();

Return Value

The root SiteMapNode of the site map navigation structure.

Exceptions

InvalidOperationException - The OracleSiteMapProvider instance is not initialized.

ProviderException - One of the following conditions exists:

  • Root node is not found.

  • Multiple root nodes are found.

  • Parent node is not found for any node.

ConfigurationErrorsException - One of the following conditions exists:

  • The roles of the SiteMapNode contain characters that are not valid.

  • A URL is parsed for a SiteMapNode that is not unique.

  • A SiteMapNode object was encountered with a duplicate value for Key.

  • An error occurred while parsing the URL of a SiteMapNode.

Remarks

This method fetches site map data from the database and builds a tree of site map nodes in memory. The OracleSiteMapProvider object could choose to subscribe to database change notifications to get notified about the changes in the site map data in the database. This method is thread-safe.

Dispose

This method releases all the resources for this instance.

Declaration

// C#
public override void Dispose();

Remarks

This method releases all the resources for this instance when the application domain is closed.

Initialize

This method initializes the OracleSiteMapProvider instance with the property values specified in the ASP.NET application configuration file (web.config).

Declaration

// C#
Public override void Initialize(string name, NameValueCollection config);

Parameters

  • name

    The name of the OracleSiteMapProvider instance to initialize.

  • config

    A Systems.Collections.Specialized.NameValueCollection object that contains the names and values of configuration options for the site map provider.

Exceptions

ArgumentNullException - The config parameter is null.

InvalidOperationException - A SiteMapProvider is already initialized.

ProviderException - One of the following exists:

  • The connectionStringName attribute is null or empty in the configuration file.

  • The connection string corresponding to the value of the connectionStringName attribute is null or empty.

  • The configuration file contains an unrecognized attribute.

  • An error occurred during initialization of the provider.

Remarks

The Initialize method is not intended to be called directly by the application.

PKcqJ@PK-AOEBPS/OracleSiteMapProvider.htm OracleSiteMapProvider

4 OracleSiteMapProvider

This chapter describes the OracleSiteMapProvider class.


See Also:

ASP.NET site navigation and site map provider http://msdn.microsoft.com/en-us/library/ms227558.aspx

This chapter contains the following topic:

PKPK -Aoa,mimetypePK-A+lsn:iTunesMetadata.plistPK-AYuMETA-INF/container.xmlPK-A6vbvEEOEBPS/IntroInstallation.htmPK-A[pTOKOEBPS/cover.htmPK-A>9#NOEBPS/IntroAssemblyandClassList.htmPK-ABĴ{c ^ fOEBPS/whatsnew.htmPK-AfMC,pOEBPS/OraclePersonalizationProviderClass.htmPK-A{JvJ$[FOEBPS/OracleCacheDependencyClass.htmPK-Apws(OEBPS/title.htmPK-Aal#ߋՋ%FOEBPS/OracleWebEventProviderClass.htmPK-AO|(pkx2OEBPS/intro.htmPK-A١TW "%;OEBPS/OracleMembershipProvider.htmPK-Al'COEBPS/OraclePersonalizationProvider.htmPK-A)Q* !LOEBPS/IntroSystemRequirements.htmPK-AKϋ ZOEBPS/IntroUpgrading.htmPK-A%UTkOEBPS/preface.htmPK-A*fo--OEBPS/index.htmPK-A(A?.:.dOEBPS/IntroOverview.htmPK-ARH&OEBPS/OracleSessionStateStoreClass.htmPK-AD!OEBPS/OracleSessionStateStore.htmPK-AOEBPS/IntroObjectreferences.htmPK-AnҟOEBPS/OracleRoleProvider.htmPK-Aw  OEBPS/IntroFileLocations.htmPK-AM$OEBPS/OracleProfileProviderClass.htmPK-A? OEBPS/toc.ncxPK-A?-$$"OEBPS/content.opfPK-A UOEBPS/OracleWebEventProvider.htmPK-A_ OEBPS/dcommon/prodbig.gifPK-AY@ OEBPS/dcommon/doclib.gifPK-A8Qc^^hOEBPS/dcommon/oracle-logo.jpgPK-AwOEBPS/dcommon/contbig.gifPK-A}OEBPS/dcommon/darbbook.cssPK-AMά""!}OEBPS/dcommon/O_signature_clr.JPGPK-APz OEBPS/dcommon/feedbck2.gifPK-A-ROEBPS/dcommon/feedback.gifPK-Aː5gOEBPS/dcommon/booklist.gifPK-AN61ʪOEBPS/dcommon/cpyr.htmPK-A!:3.DOEBPS/dcommon/masterix.gifPK-AeӺ1,OEBPS/dcommon/doccd.cssPK-A7 5OEBPS/dcommon/larrow.gifPK-A#\OEBPS/dcommon/indxicon.gifPK-AS'"OEBPS/dcommon/leftnav.gifPK-Ahu,5OEBPS/dcommon/uarrow.gifPK-Al-OJPOEBPS/dcommon/oracle.gifPK-A(OEBPS/dcommon/index.gifPK-AGC +OEBPS/dcommon/bookbig.gifPK-AJV^KOEBPS/dcommon/rarrow.gifPK-A枰pkfOEBPS/dcommon/mix.gifPK-Ao"nR M OEBPS/dcommon/doccd_epub.jsPK-Av I OEBPS/dcommon/toc.gifPK-A r~$OEBPS/dcommon/topnav.gifPK-A1FAkOEBPS/dcommon/prodicon.gifPK-A3( # OEBPS/dcommon/bp_layout.cssPK-Ax[?:jOEBPS/dcommon/bookicon.gifPK-Ap*c^OEBPS/dcommon/conticon.gifPK-Aʍ OEBPS/dcommon/blafdoc.cssPK-A+&!OEBPS/dcommon/rightnav.gifPK-Aje88#OEBPS/dcommon/oracle-small.JPGPK-Aއ{&!O\OEBPS/dcommon/help.gifPK-A ']OEBPS/OracleMembershipProviderClass.htmPK-AF瞓PP p OEBPS/toc.htmPK-AJE OEBPS/OracleCacheDependency.htmPK-Awr! OEBPS/OracleRoleProviderClass.htmPK-A OEBPS/OracleProfileProvider.htmPK-AcqJ@$ OEBPS/OracleSiteMapProviderClass.htmPK-A[ OEBPS/OracleSiteMapProvider.htmPKCCc