WinPhone7使用调用WCF传递对象
很少做手机开发,今天没事,做了个小小的实验,一般来讲,我学东西,只要能连上后台数据,基本上就可以了,因为前台很多东西要么不难,要么需要的是创意和美工,这都是我的薄弱之处,也就没兴趣深入了.
WCF大家估计都必须交熟悉,代码如下:
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
namespace WcfService4
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO: 在此添加您的服务操作
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
namespace WcfService4
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO: 在此添加您的服务操作
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}
直接在客户端添加服务引用,是一种方法,但这种方法有个问题,就是如果有复杂对象,就会出问题,没法生成服务所需要的代理代码.解决对象穿越问题,当然可以自己利用序列化和反序列化,中间利用字符串来传递,但这种方法工作量比较大.另外一种方式就是共享service服务接口和实体,这个非常方便,但问题是winphone和一般桌面的环境还是差很远,在wp7中引用实体解决还好点,要引用服务段的wcf契约接口问题很大,而且wp7里的servicemodel的版本和服务端的版本也不一致,调用也非常麻烦,最后找到一种利用silverlight的wcf ria service生成客户端代码工具来生成客户端代理得以解决,一般命令为:SlSvcUtil.exe 服务地址.把生成的文件引入到wp7工程即可用.生成的代码如下,其实大家可以学习它生成的代码,自己整一个通用的方法也是可行的:
[csharp]
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.17379
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
//
// This code was auto-generated by SlSvcUtil, version 5.0.61118.0
//
namespace WcfService4
{
using System.Runtime.Serialization;
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="CompositeType", Namespace="http://schemas.datacontract.org/2004/07/WcfService4")]
public partial class CompositeType : object
{
private bool BoolValueField;
private string StringValueField;
[System.Runtime.Serialization.DataMemberAttribute()]
public bool BoolValue
{
get
{
return this.BoolValueField;
}
set
{
this.BoolValueField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public string StringValue
{
get
{
return this.StringValueField;
}
set
{
this.StringValueField = value;
}
}
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="IService1")]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IService1/GetData", ReplyAction="http://tempuri.org/IService1/GetDataResponse")]
System.IAsyncResult BeginGetData(int value, System.AsyncCallback callback, object asyncState);
string EndGetData(System.IAsyncResult result);
[System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IService1/GetDataUsingDataContract", ReplyAction="http://tempuri.org/IService1/GetDataUsingDataContractResponse")]
System.IAsyncResult BeginGetDataUsingDataContract(WcfService4.CompositeType composite, System.AsyncCallback callback, object asyncState);
WcfService4.CompositeType EndGetDataUsingDataContract(System.IAsyncResult result);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface IService1Channel : IService1, System.ServiceModel.IClientChannel
{
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class GetDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
{
private object[] results;
public GetDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState)
{
this.results = results;
}
public string Result
{
get
{
base.RaiseExceptionIfNecessary();
return ((string)(this.results[0]));
}
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class GetDataUsingDataContractCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
{
private object[] results;
public GetDataUsingDataContractCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState)
{
this.results = results;
}
public WcfService4.CompositeType Result
{
get
{
base.RaiseExceptionIfNecessary();
return ((WcfService4.CompositeType)(this.results[0]));
}
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class Service1Client : System.ServiceModel.ClientBase<IService1>, IService1
{
private BeginOperationDelegate onBeginGetDataDelegate;
private EndOperationDelegate onEndGetDataDelegate;
private System.Threading.SendOrPostCallback onGetDataCompletedDelegate;
private BeginOperationDelegate onBeginGetDataUsingDataContractDelegate;
private EndOperationDelegate onEndGetDataUsingDataContractDelegate;
private System.Threading.SendOrPostCallback onGetDataUsingDataContractCompletedDelegate;
private BeginOperationDelegate onBeginOpenDelegate;
private EndOperationDelegate onEndOpenDelegate;
private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
private BeginOperationDelegate onBeginCloseDelegate;
private EndOperationDelegate onEndCloseDelegate;
private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
public Service1Client()
{
}
public Service1Client(string endpointConfigurationName) :
base(endpointConfigurationName)
{
}
public Service1Client(string endpointConfigurationName, string remoteAddress) :
base(endpointConfigurationName, remoteAddress)
{
}
public Service1Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
base(endpointConfigurationName, remoteAddress)
{
}
public Service1Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
base(binding, remoteAddress)
{
}
public System.Net.CookieContainer CookieContainer
{
get
{
System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
if ((httpCookieContainerManager != null))
{
return httpCookieContainerManager.CookieContainer;
}
else
{
return null;
}
}
set
{
System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
if ((httpCookieContainerManager != null))
{
httpCookieContainerManager.CookieContainer = value;
}
else
{
throw new System.InvalidOperationException("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
"ookieContainerBindingElement.");
}
}
}
public event System.EventHandler<GetDataCompletedEventArgs> GetDataCompleted;
public event System.EventHandler<GetDataUsingDataContractCompletedEventArgs> GetDataUsingDataContractCompleted;
public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.IAsyncResult IService1.BeginGetData(int value, System.AsyncCallback callback, object asyncState)
{
return base.Channel.BeginGetData(value, callback, asyncState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
string IService1.EndGetData(System.IAsyncResult result)
{
return base.Channel.EndGetData(result);
}
private System.IAsyncResult OnBeginGetData(object[] inValues, System.AsyncCallback callback, object asyncState)
{
int value = ((int)(inValues[0]));
return ((IService1)(this)).BeginGetData(value, callback, asyncState);
}
private object[] OnEndGetData(System.IAsyncResult result)
{
string retVal = ((IService1)(this)).EndGetData(result);
return new object[] {
retVal};
}
private void OnGetDataCompleted(object state)
{
if ((this.GetDataCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.GetDataCompleted(this, new GetDataCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
}
}
public void GetDataAsync(int value)
{
this.GetDataAsync(value, null);
}
public void GetDataAsync(int value, object userState)
{
if ((this.onBeginGetDataDelegate == null))
{
this.onBeginGetDataDelegate = new BeginOperationDelegate(this.OnBeginGetData);
}
if ((this.onEndGetDataDelegate == null))
{
this.onEndGetDataDelegate = new EndOperationDelegate(this.OnEndGetData);
}
if ((this.onGetDataCompletedDelegate == null))
{
this.onGetDataCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetDataCompleted);
}
base.InvokeAsync(this.onBeginGetDataDelegate, new object[] {
value}, this.onEndGetDataDelegate, this.onGetDataCompletedDelegate, userState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.IAsyncResult IService1.BeginGetDataUsingDataContract(WcfService4.CompositeType composite, System.AsyncCallback callback, object asyncState)
{
return base.Channel.BeginGetDataUsingDataContract(composite, callback, asyncState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
WcfService4.CompositeType IService1.EndGetDataUsingDataContract(System.IAsyncResult result)
{
return base.Channel.EndGetDataUsingDataContract(result);
}
private System.IAsyncResult OnBeginGetDataUsingDataContract(object[] inValues, System.AsyncCallback callback, object asyncState)
{
WcfService4.CompositeType composite = ((WcfService4.CompositeType)(inValues[0]));
return ((IService1)(this)).BeginGetDataUsingDataContract(composite, callback, asyncState);
}
private object[] OnEndGetDataUsingDataContract(System.IAsyncResult result)
{
WcfService4.CompositeType retVal = ((IService1)(this)).EndGetDataUsingDataContract(result);
return new object[] {
retVal};
}
private void OnGetDataUsingDataContractCompleted(object state)
{
if ((this.GetDataUsingDataContractCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.GetDataUsingDataContractCompleted(this, new GetDataUsingDataContractCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
}
}
public void GetDataUsingDataContractAsync(WcfService4.CompositeType composite)
{
this.GetDataUsingDataContractAsync(composite, null);
}
public void GetDataUsingDataContractAsync(WcfService4.CompositeType composite, object userState)
{
if ((this.onBeginGetDataUsingDataContractDelegate == null))
{
this.onBeginGetDataUsingDataContractDelegate = new BeginOperationDelegate(this.OnBeginGetDataUsingDataContract);
}
if ((this.onEndGetDataUsingDataContractDelegate == null))
{
this.onEndGetDataUsingDataContractDelegate = new EndOperationDelegate(this.OnEndGetDataUsingDataContract);
}
if ((this.onGetDataUsingDataContractCompletedDelegate == null))
{
this.onGetDataUsingDataContractCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetDataUsingDataContractCompleted);
}
base.InvokeAsync(this.onBeginGetDataUsingDataContractDelegate, new object[] {
composite}, this.onEndGetDataUsingDataContractDelegate, this.onGetDataUsingDataContractCompletedDelegate, userState);
}
private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState)
{
return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
}
private object[] OnEndOpen(System.IAsyncResult result)
{
((System.ServiceModel.ICommunicationObject)(this)).EndOpen(result);
return null;
}
private void OnOpenCompleted(object state)
{
if ((this.OpenCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.OpenCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
}
}
public void OpenAsync()
{
this.OpenAsync(null);
}
public void OpenAsync(object userState)
{
if ((this.onBeginOpenDelegate == null))
{
this.onBeginOpenDelegate = new BeginOperationDelegate(this.OnBeginOpen);
}
if ((this.onEndOpenDelegate == null))
{
this.onEndOpenDelegate = new EndOperationDelegate(this.OnEndOpen);
}
if ((this.onOpenCompletedDelegate == null))
{
this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOpenCompleted);
}
base.InvokeAsync(this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
}
private System.IAsyncResult OnBeginClose(object[] inValues, System.AsyncCallback callback, object asyncState)
{
return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose(callback, asyncState);
}
private object[] OnEndClose(System.IAsyncResult result)
{
((System.ServiceModel.ICommunicationObject)(this)).EndClose(result);
return null;
}
private void OnCloseCompleted(object state)
{
if ((this.CloseCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.CloseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
}
}
public void CloseAsync()
{
this.CloseAsync(null);
}
public void CloseAsync(object userState)
{
if ((this.onBeginCloseDelegate == null))
{
this.onBeginCloseDelegate = new BeginOperationDelegate(this.OnBeginClose);
}
if ((this.onEndCloseDelegate == null))
{
this.onEndCloseDelegate = new EndOperationDelegate(this.OnEndClose);
}
if ((this.onCloseCompletedDelegate == null))
{
this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCloseCompleted);
}
base.InvokeAsync(this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
}
protected override IService1 CreateChannel()
{
return new Service1ClientChannel(this);
}
private class Service1ClientChannel : ChannelBase<IService1>, IService1
{
public Service1ClientChannel(System.ServiceModel.ClientBase<IService1> client) :
base(client)
{
}
public System.IAsyncResult BeginGetData(int value, System.AsyncCallback callback, object asyncState)
{
object[] _args = new object[1];
_args[0] = value;
System.IAsyncResult _result = base.BeginInvoke("GetData", _args, callback, asyncState);
return _result;
}
public string EndGetData(System.IAsyncResult result)
{
object[] _args = new object[0];
string _result = ((string)(base.EndInvoke("GetData", _args, result)));
return _result;
}
public System.IAsyncResult BeginGetDataUsingDataContract(WcfService4.CompositeType composite, System.AsyncCallback callback, object asyncState)
{
object[] _args = new object[1];
_args[0] = composite;
System.IAsyncResult _result = base.BeginInvoke("GetDataUsingDataContract", _args, callback, asyncState);
return _result;
}
public WcfService4.CompositeType EndGetDataUsingDataContract(System.IAsyncResult result)
{
object[] _args = new object[0];
WcfService4.CompositeType _result = ((WcfService4.CompositeType)(base.EndInvoke("GetDataUsingDataContract", _args, result)));
return _result;
}
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.17379
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
//
// This code was auto-generated by SlSvcUtil, version 5.0.61118.0
//
namespace WcfService4
{
using System.Runtime.Serialization;
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="CompositeType", Namespace="http://schemas.datacontract.org/2004/07/WcfService4")]
public partial class CompositeType : object
{
private bool BoolValueField;
private string StringValueField;
[System.Runtime.Serialization.DataMemberAttribute()]
public bool BoolValue
{
get
{
return this.BoolValueField;
}
set
{
this.BoolValueField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public string StringValue
{
get
{
return this.StringValueField;
}
set
{
this.StringValueField = value;
}
}
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="IService1")]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IService1/GetData", ReplyAction="http://tempuri.org/IService1/GetDataResponse")]
System.IAsyncResult BeginGetData(int value, System.AsyncCallback callback, object asyncState);
string EndGetData(System.IAsyncResult result);
[System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IService1/GetDataUsingDataContract", ReplyAction="http://tempuri.org/IService1/GetDataUsingDataContractResponse")]
System.IAsyncResult BeginGetDataUsingDataContract(WcfService4.CompositeType composite, System.AsyncCallback callback, object asyncState);
WcfService4.CompositeType EndGetDataUsingDataContract(System.IAsyncResult result);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface IService1Channel : IService1, System.ServiceModel.IClientChannel
{
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class GetDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
{
private object[] results;
public GetDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState)
{
this.results = results;
}
public string Result
{
get
{
base.RaiseExceptionIfNecessary();
return ((string)(this.results[0]));
}
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class GetDataUsingDataContractCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
{
private object[] results;
public GetDataUsingDataContractCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState)
{
this.results = results;
}
public WcfService4.CompositeType Result
{
get
{
base.RaiseExceptionIfNecessary();
return ((WcfService4.CompositeType)(this.results[0]));
}
}
}
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class Service1Client : System.ServiceModel.ClientBase<IService1>, IService1
{
private BeginOperationDelegate onBeginGetDataDelegate;
private EndOperationDelegate onEndGetDataDelegate;
private System.Threading.SendOrPostCallback onGetDataCompletedDelegate;
private BeginOperationDelegate onBeginGetDataUsingDataContractDelegate;
private EndOperationDelegate onEndGetDataUsingDataContractDelegate;
private System.Threading.SendOrPostCallback onGetDataUsingDataContractCompletedDelegate;
private BeginOperationDelegate onBeginOpenDelegate;
private EndOperationDelegate onEndOpenDelegate;
private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
private BeginOperationDelegate onBeginCloseDelegate;
private EndOperationDelegate onEndCloseDelegate;
private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
public Service1Client()
{
}
public Service1Client(string endpointConfigurationName) :
base(endpointConfigurationName)
{
}
public Service1Client(string endpointConfigurationName, string remoteAddress) :
base(endpointConfigurationName, remoteAddress)
{
}
public Service1Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
base(endpointConfigurationName, remoteAddress)
{
}
public Service1Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
base(binding, remoteAddress)
{
}
public System.Net.CookieContainer CookieContainer
{
get
{
System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
if ((httpCookieContainerManager != null))
{
return httpCookieContainerManager.CookieContainer;
}
else
{
return null;
}
}
set
{
System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
if ((httpCookieContainerManager != null))
{
httpCookieContainerManager.CookieContainer = value;
}
else
{
throw new System.InvalidOperationException("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
"ookieContainerBindingElement.");
}
}
}
public event System.EventHandler<GetDataCompletedEventArgs> GetDataCompleted;
public event System.EventHandler<GetDataUsingDataContractCompletedEventArgs> GetDataUsingDataContractCompleted;
public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.IAsyncResult IService1.BeginGetData(int value, System.AsyncCallback callback, object asyncState)
{
return base.Channel.BeginGetData(value, callback, asyncState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
string IService1.EndGetData(System.IAsyncResult result)
{
return base.Channel.EndGetData(result);
}
private System.IAsyncResult OnBeginGetData(object[] inValues, System.AsyncCallback callback, object asyncState)
{
int value = ((int)(inValues[0]));
return ((IService1)(this)).BeginGetData(value, callback, asyncState);
}
private object[] OnEndGetData(System.IAsyncResult result)
{
string retVal = ((IService1)(this)).EndGetData(result);
return new object[] {
retVal};
}
private void OnGetDataCompleted(object state)
{
if ((this.GetDataCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.GetDataCompleted(this, new GetDataCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
}
}
public void GetDataAsync(int value)
{
this.GetDataAsync(value, null);
}
public void GetDataAsync(int value, object userState)
{
if ((this.onBeginGetDataDelegate == null))
{
this.onBeginGetDataDelegate = new BeginOperationDelegate(this.OnBeginGetData);
}
if ((this.onEndGetDataDelegate == null))
{
this.onEndGetDataDelegate = new EndOperationDelegate(this.OnEndGetData);
}
if ((this.onGetDataCompletedDelegate == null))
{
this.onGetDataCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetDataCompleted);
}
base.InvokeAsync(this.onBeginGetDataDelegate, new object[] {
value}, this.onEndGetDataDelegate, this.onGetDataCompletedDelegate, userState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
System.IAsyncResult IService1.BeginGetDataUsingDataContract(WcfService4.CompositeType composite, System.AsyncCallback callback, object asyncState)
{
return base.Channel.BeginGetDataUsingDataContract(composite, callback, asyncState);
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
WcfService4.CompositeType IService1.EndGetDataUsingDataContract(System.IAsyncResult result)
{
return base.Channel.EndGetDataUsingDataContract(result);
}
private System.IAsyncResult OnBeginGetDataUsingDataContract(object[] inValues, System.AsyncCallback callback, object asyncState)
{
WcfService4.CompositeType composite = ((WcfService4.CompositeType)(inValues[0]));
return ((IService1)(this)).BeginGetDataUsingDataContract(composite, callback, asyncState);
}
private object[] OnEndGetDataUsingDataContract(System.IAsyncResult result)
{
WcfService4.CompositeType retVal = ((IService1)(this)).EndGetDataUsingDataContract(result);
return new object[] {
retVal};
}
private void OnGetDataUsingDataContractCompleted(object state)
{
if ((this.GetDataUsingDataContractCompleted != null))
{
InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
this.GetDataUsingDataContractCompleted(this, new GetDataUsingDataContractCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
}
}
public void GetDataUsingDataContractAsync(WcfService4.CompositeType composite)
{
this.GetDataUsingDataContractAsync(composite, null);
}
public void GetDataUsingDataContractAsync(WcfService4.CompositeType composite, object userState)
{
if ((this.onBeginGetDataUsingDataContractDelegate == null))
{
this.onBeginGetDataUsingDataContractDelegate = new BeginOperationDelegate(this.OnBeginGetDataUsingDataContract);
}
if ((this.onEndGetDataUsingDataContractDelegate == null))
{
this.onEndGetDataUsingDataContractDelegate = new EndOperationDelegate(this.OnEndGetDataUsingDataContract);
}
if ((this.onGetDataUsingDataContractCompletedDelegate == null))
{
this.onGetDataUsingDataContractCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetDataUsingDataContractCompleted);
}
base.InvokeAsync(this.onBeginGetDataUsingDataContractDelegate, new object[] {
composite}, this.onEndGetDataUsingDataContractDelegate, this.onGetDataUsingDataContractCompletedDelegate, userState);
}
private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState)
{
return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
}
private object[] OnEndOpen(System.IAsyncResult result)
{
((System.ServiceModel.ICommunication
上一篇: Bootstrap环境安装教程
下一篇: 有吃有喝就有笑,嘿嘿
推荐阅读
-
Android编程实现全局获取Context及使用Intent传递对象的方法详解
-
ajax 动态传递jsp等页面使用id辨识传递对象
-
ajax调用handler,使用HttpWebRequest访问WCF服务
-
C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
-
C#编程中使用ref和out关键字来传递数组对象的用法
-
使用Intent进行跳转时传递对象;跳转到Activity时传递对象
-
WinPhone7使用调用WCF传递对象
-
axios的使用小技巧:如何绕过字符串拼接,直接传递对象
-
Java~在使用isAlive时, 将线程对象已构造参数的形式传递给Thread对象时进行start启动时, 使用this和Thread.currentThread的差异
-
Vue + Spring Boot——axios使用GET以参数的方式传递对象到SpringMVC解决方案