次の方法で共有


ProfileManager.Providers プロパティ

定義

ASP.NET アプリケーションのプロファイル プロバイダーのコレクションを取得します。

public:
 static property System::Web::Profile::ProfileProviderCollection ^ Providers { System::Web::Profile::ProfileProviderCollection ^ get(); };
public static System.Web.Profile.ProfileProviderCollection Providers { get; }
static member Providers : System.Web.Profile.ProfileProviderCollection
Public Shared ReadOnly Property Providers As ProfileProviderCollection

プロパティ値

ASP.NET アプリケーション用に構成されたプロファイル プロバイダーの ProfileProviderCollection

例外

Providers プロパティ値を取得しようとしましたが、最低限必要な Medium アクセス許可がありません。

次のコード例では、アプリケーションに対して有効になっているプロバイダーと、それぞれの型を一覧表示します。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<%@ Import Namespace="System.Configuration.Provider" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>List Enabled Providers</title>
</head>
<body>

<%
foreach (ProviderBase p in ProfileManager.Providers)
  Response.Write(p.Name + ", " + p.GetType() + "<br />");
%>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Profile" %>
<%@ Import Namespace="System.Configuration.Provider" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>List Enabled Providers</title>
</head>
<body>

<%
For Each p As ProviderBase In ProfileManager.Providers
  Response.Write(p.Name & ", " & p.GetType().ToString() & "<br />")
Next
%>

</body>
</html>

注釈

プロパティは Providers 、コンピューター構成に追加されたプロバイダーや、すべての Web.config ファイルに追加されたプロバイダーなど、アプリケーションで有効になっているすべてのプロファイル プロバイダーを参照します。 構成ファイルの profile セクションの providers 要素を使用して、アプリケーションで使用できる プロファイル プロバイダー を制御できます。 たとえば、次の Web.config ファイルは、親構成ファイルで指定されたプロファイル プロバイダーを削除し、アプリケーションのプロファイル プロバイダーとしてインスタンスを追加 SqlProfileProvider します。

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString=
      "Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <profile enabled="true" defaultProvider="SqlProvider">
      <providers>
        <clear />
        <add name="SqlProvider"
          type="System.Web.Profile.SqlProfileProvider"
          connectionStringName="SqlServices"
          applicationName="MyApplication" />
      </providers>
    </profile>
  </system.web>
</configuration>

プロファイル セクションを指定する場合は、 属性を設定して既定のプロバイダーを指定するdefaultProvider必要があります。 Web.config ファイルでセクションを profile 指定しない場合は、マシン構成の値が使用され SqlProfileProvider 、AspNetSqlProvider という名前のインスタンスが既定のプロバイダーとして確立されます。

プロファイル プロバイダーに名前でインデックスを付け、目的の Providers 型としてキャストすることで、コレクションからプロバイダーへの厳密に型指定された参照を取得できます。

適用対象

こちらもご覧ください