在Windows Phone 7中调用普通(.asmx)Web服务

时间:2012-01-20 10:10:39

标签: .net windows-phone-7

  

可能重复:
  Callling a normal web service in WP7

我是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。

我的问题是:

  1. 我已经使用服务参考添加了正常的Web服务(右键单击解决方案,我有一个名为Add Service Reference的选项,我已经提供了我的URL来添加服务参考)。是对的吗?

  2. 如果上述方法是正确的方法我怎样才能获得该变量aaa?

  3. 如果上述方法不正确,我怎样才能在WP7中调用普通的Web服务?

  4. 请帮帮我。

    提前致谢。

0 个答案:

没有答案