-1
我是新的使用web服务,我试图实现一种方法,但我遇到了麻烦。这是我想从一个响应的方法:从webservice调用异步方法
(awaitable) Task<getIbuttonDataResponse> SpecSrvClient.getIbuttonDataAsync(GetIbuttonDataInput getIbuttonDataInput)
Usage:
getIbuttonDataResponse x = await getIbuttonDataAsync(...);
这是WSDL生成的代码为“GetIbuttonDataInput”
public partial class GetIbuttonDataInput : object, INotifyPropertyChanged {
private string ibuttonIdField;
private string testerNameField;
[SoapElementAttribute(IsNullable=true)]
public string ibuttonId {
get {
return this.ibuttonIdField;
}
set {
this.ibuttonIdField = value;
this.RaisePropertyChanged("ibuttonId");
}
}
[SoapElementAttribute(IsNullable=true)]
public string testerName {
get {
return this.testerNameField;
}
set {
this.testerNameField = value;
this.RaisePropertyChanged("testerName");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
编辑:
对不起,我不知道我无法发布图像,所以这让我感到困惑。
我的问题是,当我试图从web服务获得响应时,如何传递ibuttonIDField字符串?这是获得答复所需的价值。
编辑2:
好了,所以这是我至今写:
static class Program
{
//...
static void Main()
{
//...
getIbuttonDataResponse x = new getIbuttonDataResponse();
Response(serial, x);
//...
}
static async void Response(string[] serial, getIbuttonDataResponse x)
{
iButtonDB_Service.SpecSrvClient testrequest = new SpecSrvClient();
GetIbuttonDataInput input = new GetIbuttonDataInput { ibuttonId = serial[0], testerName = "me" };
x = await testrequest.getIbuttonDataAsync(input);
}
}
我只得到一个返回null,但可能是因为数据库值它试图访问尚未创建。
您没有附加图像。请添加它。张贴链接,我会为你添加它。 – abatishchev
问题是什么? –
你会得到一个空回报,因为你没有返回任何东西。您正将'getIbuttonDataResponse'传递给'Response'方法,而不是从那里返回。尝试'静态异步任务响应(字符串[]串行){...返回等待testrequest.getIbuttonDataAsync(输入);}' –