ADO.NET Provider for Email

Build 20.0.7587

DbConnections の作成

DbProviderFactory およびDbConnection オブジェクトを使用して、汎用コードでIMAP に接続できます。このセクションでは、 プロジェクトから接続する方法について説明します。

コンフィギュレーションコンテキストへのプロバイダー情報の追加

厳密に型指定されたDbProviderFactory を作成するには、まずコンフィギュレーションコンテキスト(machine.config、app.config、またはweb.config)にCData ADO.NET Provider for Email を登録する必要があります。本製品 インストーラは、machine.config に本製品 を登録することに注意してください。

インストーラーを使用しない場合、例えば、代わりにNuGet パッケージを使用している場合などは、本製品 を手動で登録する必要があります。 コンフィギュレーションコンテキストのSystem.Data セクションにエントリを追加することで登録が可能です。machine.config またはapp.config のSystem.Data セクションを変更できます(app config のSystem.Data は、実行時にmachine.config とマージされます)。以下はコンフィギュレーションエントリの構文とフォーマットです。

<system.data>
  <DbProviderFactories>
    <add name="CData ADO.NET Provider for Email" invariant="System.Data.CData.Email" description="CData ADO.NET Provider for Email" type="System.Data.CData.Email.EmailProviderFactory, System.Data.CData.Email, Version=20.0.0.40, Culture=neutral, PublicKeyToken=f57f3fbecba6b076" />
</DbProviderFactories>
</system.data> 
  

次のコンフィギュレーションファイルの断片は、コンテキスト内の一般的なIMAP 接続文字列を定義します。

<configuration>  
  <connectionStrings>  
    <add name="IMAP"   
      providerName="System.Data.CData.Email"   
      connectionString="Port=993;Server=imap.gmail.com;Password=password;User=user;Protocol=IMAP;SMTP Port=587;SMTP Server=smtp.gmail.com;"  
    />  
  </connectionStrings>  
</configuration>    

DbProviderFactory の作成

DbProviderFactories.GetFactory を呼び出して、DbProviderFactory を作成します。

    DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.CData.Email");
  

DbProviderFactories はコンフィギュレーションコンテキスト内の不変の名前を参照して、アセンブリとEmailProviderFactory クラスを見つけます。

DbProviderFactory およびDbConnection の作成

次のコードは、厳密に型指定されたDbProviderFactory オブジェクトを作成し、それを使ってDbConnection オブジェクトをインスタンス化してIMAP に接続する方法を示します。

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.CData.Email");

using(DbConnection connection = factory.CreateConnection()) {
  connection.ConnectionString = "Port=993;Server=imap.gmail.com;Password=password;User=user;Protocol=IMAP;SMTP Port=587;SMTP Server=smtp.gmail.com;";
  connection.Open();
}

また、アプリケーションのコンフィギュレーションファイルから、接続文字列を読み取ることもできます。ConnectionStringSettingsCollection クラスには、 System.Configuration.dll への参照が必要なことに注意してください。

次のコードは、アプリケーションのコンフィギュレーションファイルで定義された最初のIMAP 接続文字列を取得します。

 
ConnectionStringSettingsCollection settings = ConfigurationManager.ConnectionStrings;

if (settings != null) {
  foreach (ConnectionStringSettings cs in settings) {
    if (cs.ProviderName == "System.Data.CData.Email")
      connection = cs.ConnectionString;
    break;
  }
}

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7587