次の方法で共有


ExchangeWebServiceMailBinding クラス

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

Exchange Web サービスのメール バインディングを表します。

名前空間:  Microsoft.ServiceModel.Channels.Mail.ExchangeWebService
アセンブリ:  Microsoft.ServiceModel.Channels.Mail.ExchangeWebService (Microsoft.ServiceModel.Channels.Mail.ExchangeWebService.dll 内)

構文

'宣言
Public NotInheritable Class ExchangeWebServiceMailBinding _
    Inherits MailBindingBase
'使用
Dim instance As ExchangeWebServiceMailBinding
public sealed class ExchangeWebServiceMailBinding : MailBindingBase
public ref class ExchangeWebServiceMailBinding sealed : public MailBindingBase
[<SealedAttribute>]
type ExchangeWebServiceMailBinding =  
    class
        inherit MailBindingBase
    end

解説

これは、デスクトップのための Exchange Web サービス トランスポートを作成するために使用されるメール バインディングを表すシール クラスです。

MailBindingBase 基本クラスには、このクラスで使用されるほとんどの機能が含まれます。

このクラスには、エンコーディング要素およびトランスポート バインディング要素などのバインディング要素のコレクションが含まれます。このクラスの定義済みのエンコーディング要素は TextMessageEncodingBindingElement で、定義済みのトランスポート バインディング要素は ExchangeWebServiceMailTransportBindingElement です。

Exchange Web サービス トランスポートを使用しているデスクトップ コンピューターはオンラインであることが前提です。Windows Mobile デバイスで使用されるメール トランスポートのみが、デバイスがしばらくの間オフラインに置かれる状況をサポートしています。

注意

このクラスは .NET Compact Framework Version 3.5 に含まれていますが、実行時には .NET Framework Version 3.0 またはそれ以降が必要です。

メッセージ送受信時のコンテキストで ExchangeWebServiceMailBinding クラスを使用する方法を次の例に示します。

カスタム シリアライザーは Exchange Server のメール トランスポートに固有ではないため、この例に含まれていません。

Class Program
    PrivateShared ServerAddress AsNew Uri("http://128.128.1.1")
    PrivateShared ClientEmailAddress AsString = "someone@example.com"PrivateShared Password AsString = "password"PrivateShared ChannelName AsString = "Channel1"PrivateShared DestinationEmailAddress AsString = "someone@fabrikam.com"PrivateShared serializer AsNew CFMessagingSerializer(GetType(String))


    SharedSub Main(ByVal args() AsString) 
        ' For applications on the device, use WindowsMobileMailBinding        ' instead of ExchangeWebServiceMailBinding.Dim binding As ExchangeWebServiceMailBinding
        Dim factory As IChannelFactory(Of IOutputChannel)
        Dim listener As IChannelListener(Of IInputChannel)
        Dim output As IOutputChannel
        Dim input As IInputChannel
        Dim bpc As BindingParameterCollection
        Dim message As Message
        Dim str AsString
        ' For applications on the device, use WindowsMobileMailBinding.
        binding = New ExchangeWebServiceMailBinding(ServerAddress, New NetworkCredential(ClientEmailAddress, Password))
        bpc = New BindingParameterCollection()

        factory = binding.BuildChannelFactory(Of IOutputChannel)(bpc)
        factory.Open()
        output = factory.CreateChannel(New EndpointAddress(MailUriHelper.Create(ChannelName, DestinationEmailAddress)))
        output.Open()

        message = System.ServiceModel.Channels.Message.CreateMessage(MessageVersion.Default, "urn:Test", "Hello, World!", serializer)
        output.Send(message)

        output.Close()
        factory.Close()

        listener = binding.BuildChannelListener(Of IInputChannel)(MailUriHelper.CreateUri(ChannelName, ""), bpc)
        listener.Open()
        input = listener.AcceptChannel()
        input.Open()

        message = input.Receive()
        str = message.GetBody(OfString)(serializer)

        Console.WriteLine("Received message: {0}", str)

        input.Close()
        listener.Close()

        binding.Close()

    EndSubEndClass
class Program
{
    privatestatic Uri ServerAddress = new Uri("http://128.128.1.1");
    privatestaticstring ClientEmailAddress = "someone@example.com";
    privatestaticstring Password = "password";

    privatestaticstring ChannelName = "Channel1";
    privatestaticstring DestinationEmailAddress = "someone@fabrikam.com";

    privatestatic CFMessagingSerializer serializer = new CFMessagingSerializer(typeof(string));

    staticvoid Main(string[] args)
    {
        // For applications on the device, use WindowsMobileMailBinding// instead of ExchangeWebServiceMailBinding.
        ExchangeWebServiceMailBinding binding;
        IChannelFactory<IOutputChannel> factory;
        IChannelListener<IInputChannel> listener;
        IOutputChannel output;
        IInputChannel input;
        BindingParameterCollection bpc;
        Message message;
        string str;

        // For applications on the device, use WindowsMobileMailBinding.
        binding = new ExchangeWebServiceMailBinding(ServerAddress, new NetworkCredential(ClientEmailAddress, Password));
        bpc = new BindingParameterCollection();

        factory = binding.BuildChannelFactory<IOutputChannel>(bpc);
        factory.Open();
        output = factory.CreateChannel(new EndpointAddress(MailUriHelper.Create(ChannelName, DestinationEmailAddress)));
        output.Open();

        message = Message.CreateMessage(MessageVersion.Default, "urn:Test", "Hello, World!", serializer);
        output.Send(message);

        output.Close();
        factory.Close();

        listener = binding.BuildChannelListener<IInputChannel>(MailUriHelper.CreateUri(ChannelName, ""), bpc);
        listener.Open();
        input = listener.AcceptChannel();
        input.Open();

        message = input.Receive();
        str = message.GetBody<string>(serializer);

        Console.WriteLine("Received message: {0}", str);

        input.Close();
        listener.Close();

        binding.Close();
    }
}

継承階層

System.Object
  System.ServiceModel.Channels.Binding
    Microsoft.ServiceModel.Channels.Mail.MailBindingBase
      Microsoft.ServiceModel.Channels.Mail.ExchangeWebService.ExchangeWebServiceMailBinding

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET フレームワークのシステム要件」を参照してください。

バージョン情報

.NET Compact Framework

サポート対象 : 3.5

参照

参照

ExchangeWebServiceMailBinding メンバー

Microsoft.ServiceModel.Channels.Mail.ExchangeWebService 名前空間