Silverlight ネットワーク操作 のバックアップ(No.3) - PukiWiki

SilverLight?

ネットワークの状態
[edit]

public class NetworkInformationHelper : INotifyPropertyChanged
{
	protected bool _IsNetworkAvailable = false;
	public bool IsNetworkAvailable
	{
		get { return this._IsNetworkAvailable; }
		protected set
		{
			if (this._IsNetworkAvailable != value)
			{
				this._IsNetworkAvailable = value;
				this.OnPropertyChanged("IsNetworkAvailable");
			}
		}
	}

	public NetworkInformationHelper()
	{
		this.IsNetworkAvailable = NetworkInterface.GetIsNetworkAvailable();
		NetworkChange.NetworkAddressChanged +=
			new NetworkAddressChangedEventHandler(OnNetworkAddressChanged);
	}

	protected virtual void OnNetworkAddressChanged(object sender, EventArgs e)
	{
		this.IsNetworkAvailable = NetworkInterface.GetIsNetworkAvailable();
	}

	public event PropertyChangedEventHandler PropertyChanged;
	protected virtual void OnPropertyChanged(string propertyName)
	{
		PropertyChangedEventHandler handlers = this.PropertyChanged;
		if (handlers != null)
			handlers(this, new PropertyChangedEventArgs(propertyName));
	}
}
このページのトップへ

WCF サービスを利用する
[edit]

SilverLight上WCFサービスの設定?

このページのトップへ

RESTful Webサービスを利用する
[edit]

 SOAPをしない簡易なXML+HTTPインターフェイスを採用したWEBサービスREST(Representational State Transfer)WebClientクラスを利用してHTTP通信を行う。  

WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(serviceURI, "/RESTfulService/SampleService.svc");
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
	if ((e.Error == null) && (!e.Cancelled))
	{
		XDocument xDoc = XDocument.Load(e.Result);
		Dispatcher dispatcher = e.UserState as Dispatcher;
		if (dispatcher != null)
		{
			if (dispatcher.CheckAccess())
				this.UpdateContext(xDoc);
			else
				dispatcher.BeginInvoke(this.UpdateViewModel, xDoc);
		}
	}
	else
	{
		//
		base.OnCommandComplated(false, null);
	}
}
このページのトップへ

WCF Data Serviceを利用する
[edit]

 WCF Data Service はRESTfulなサービスをラップして、データの送受信などの操作を簡単に行えるようにしたコンポーネントです。もちろんWebClientクラスを使用して、サービスを利用することができますが、LINQを使用するDataServiceQueryクラスを利用したほうが便利です。

このページのトップへ

WCF RIA Serviceを利用する
[edit]

 サービス側はDomainServiceで構成され、クライアント側はDomainContextを利用してデータのやり取りを行います。


コメント:



0


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
FC2無料カウンターFC2無料カウンターFC2無料カウンターFC2無料カウンターFC2無料カウンターFC2無料カウンターFC2無料カウンター

�y�V���o�C��[UNLIMIT�����Ȃ�1�~] EC�i�r�Ń|�C���� Yahoo �y�V LINE���f�[�^����[���Ō��z500�~�`�I


�����z�[���y�[�W �����̃N���W�b�g�J�[�h �C�O�i���q�� ���萔���O�~�y�������ł񂫁z �C�O���s�ی��������I �C�O�z�e��