SilverLight?
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));
}
}
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 はRESTfulなサービスをラップして、データの送受信などの操作を簡単に行えるようにしたコンポーネントです。もちろんWebClientクラスを使用して、サービスを利用することができますが、LINQを使用するDataServiceQueryクラスを利用したほうが便利です。
サービス側はDomainServiceで構成され、クライアント側はDomainContextを利用してデータのやり取りを行います。
コメント:
0
Š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ƒ‹