다음을 통해 공유


ExchangeWebServiceMailBinding 클래스

업데이트: 2007년 11월

Exchange Web Services에 대한 메일 바인딩을 나타냅니다.

네임스페이스:  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
public final class ExchangeWebServiceMailBinding extends MailBindingBase

설명

데스크톱의 Exchange Web Services 전송을 생성하는 데 사용되는 메일 바인딩을 나타내는 봉인 클래스입니다.

기본 클래스인 MailBindingBase에는 이 클래스에서 사용하는 대부분의 기능이 포함되어 있습니다.

이 클래스에는 인코딩 요소 및 전송 바인딩 요소와 같은 바인딩 요소의 컬렉션이 포함되어 있습니다. 이 클래스에 대한 미리 정의된 인코딩 요소는 TextMessageEncodingBindingElement이고 미리 정의된 전송 바인딩 요소는 ExchangeWebServiceMailTransportBindingElement입니다.

Exchange Web Services 전송을 사용하는 데스크톱 컴퓨터는 온라인 상태에 있는 것으로 간주됩니다. Windows Mobile 장치에서 사용되는 메일 전송의 경우에만 장치가 잠시 오프라인 상태에 있는 시나리오를 지원합니다.

참고

이 클래스는 .NET Compact Framework 버전 3.5에 포함되어 있지만 런타임에 .NET Framework 버전 3.0 이상이 필요합니다.

예제

다음 예제에서는 메시지를 보내고 받는 컨텍스트에서 ExchangeWebServiceMailBinding 클래스를 사용하는 방법을 보여 줍니다.

사용자 지정 serializer는 Exchange Server 메일 전송의 고유한 요소가 아니므로 이 예제에 포함되지 않았습니다.

Class Program
    Private Shared ServerAddress As New Uri("http://128.128.1.1")
    Private Shared ClientEmailAddress As String = "someone@example.com"
    Private Shared Password As String = "password"

    Private Shared ChannelName As String = "Channel1"
    Private Shared DestinationEmailAddress As String = "someone@fabrikam.com"

    Private Shared serializer As New CFMessagingSerializer(GetType(String))


    Shared Sub Main(ByVal args() As String) 
        ' 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 As String

        ' 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(Of String)(serializer)

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

        input.Close()
        listener.Close()

        binding.Close()

    End Sub
End Class
class Program
{
    private static Uri ServerAddress = new Uri("http://128.128.1.1");
    private static string ClientEmailAddress = "someone@example.com";
    private static string Password = "password";

    private static string ChannelName = "Channel1";
    private static string DestinationEmailAddress = "someone@fabrikam.com";

    private static CFMessagingSerializer serializer = new CFMessagingSerializer(typeof(string));

    static void 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 Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Compact Framework

3.5에서 지원

참고 항목

참조

ExchangeWebServiceMailBinding 멤버

Microsoft.ServiceModel.Channels.Mail.ExchangeWebService 네임스페이스