我是Windows phone 7开发的新手。
我有正常的.NET网络服务(如http://test/TestService.asmx)。
我已经使用服务参考(右键点击解决方案,我有一个名为添加服务参考的选项,我已经提供了我的URL添加服务参考)在Windows Studio的visual studio 2010 Express中将此服务添加到我的WP7项目中。通常我们将使用“添加服务引用”选项添加WCF服务,但在此我使用“添加服务引用”选项添加了普通Web服务。
例如,我有这样的服务:
public class Service1
{
//local variable
public int aaa;
//I have two functions like below:
[WebMethod]
public int Fun1()
{
return 1;
}
[WebMethod]
public int Fun2()
{
// some calculations
return aaa;
}
}
我在WP7中调用这样的方法:
Class AModel
{
public void CreateT()
{
RS.Service1SoapClient objRS = new RS.RSService1SoapClient();
objRS.Fun1Completed += new EventHandler<RS.Fun1CompletedEventArgs>(objRS_Completed);
objRS.Fun1Async();
}
private void objRS_Completed(object sender, EventCompletedEventArgs e)
{
string str = e.Result;
responseEventArgs = new ResponseEventArgs();
responseEventArgs.response = e.Result;
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(responseEventHandler, responseEventArgs);
}
}
在这里,我可以成功获得Fun1的结果。但我在同一服务中有一个更多的功能(Fun2),它使用Service类变量(如Fun2中的变量aaa)。在这里,我得到名为的Service类 ServiceSoap1Client和我在CreateT()函数中为该类创建了对象(在wp7中),但是这个ServiceSoap1Client没有名为aaa的变量。 但ServiceSoap1Client类具有函数Fun2Async()和事件Fun2Completed。
我在visual studio 2010中使用“添加Web引用”添加了相同的服务。
这里我得到了同名的Service类,我为该类创建了对象,在这里我能得到那个变量aaa但是同样的变量我无法进入Wp7。
我的问题是:
我已经使用服务参考添加了正常的Web服务(右键单击解决方案,我有一个名为Add Service Reference的选项,我已经提供了我的URL来添加服务参考)。是对的吗?
如果上述方法是正确的方法我怎样才能获得该变量aaa?
如果上述方法不正确,我怎样才能在WP7中调用普通的Web服务?
请帮帮我。
提前致谢。