2013-07-31 62 views
0

我目前是開發中的新手。我正在嘗試在我的Windows Store項目中連接Web服務。如何連接到vs2012中的ASMX Web服務

在此代碼中沒有錯誤,但它沒有響應任何事情。是它我想要使用另一個代碼或將一些消息框從Web服務調用結果?

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 

namespace Windows8App 
{ 

public sealed partial class Login : Page 
{ 
    public Login() 
    { 
     this.InitializeComponent(); 
    } 

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
    } 

    private async void loginAsync(string username, string password) 
    { 
      ServiceReference1.Service1SoapClient service = new ServiceReference1.Service1SoapClient(); 
      var response = service.loginwebAsync(username, password); 
    } 

    private void btnLogin_Click(object sender, RoutedEventArgs e) 
    { 
      string user = txtUsername.Text; 
      string pass = txtPassword.Text; 

      System.Threading.Tasks.Task.Run(() => 
      { 
       loginAsync(user, pass); 
      }); 
    } 
} 
} 
+0

請在這裏發佈代碼,而不是在外部網站。並請更詳細地描述您的問題;你有什麼試圖解決它?你嘗試過哪些診斷? –

+0

請提供有關情況的更多信息。你到目前爲止嘗試過什麼?什麼不工作?等 –

+0

請參閱http://johnwsaunders3.wordpress.com/2009/05/17/how-to-consume-a-web-service/ –

回答

0

您的服務電話缺少await關鍵字。像這樣重寫你的代碼。如果它有效,請將其標記爲答案,否則我會刪除我的答案。

private async Task loginAsync(string username, string password) 
{ 
     ServiceReference1.Service1SoapClient service = new ServiceReference1.Service1SoapClient(); 
     var response = await service.loginwebAsync(username, password); 
} 

private async void btnLogin_Click(object sender, RoutedEventArgs e) 
{ 
     string user = txtUsername.Text; 
     string pass = txtPassword.Text; 

     await loginAsync(user, pass); 
} 
+0

嗨,Xyroid。是否需要將消息框從Web服務調用結果?其實,我已經在我的網絡服務數據庫中設置瞭如果用戶點擊「登錄」按鈕,它會顯示用戶ID。如果用戶沒有在數據庫中記錄並點擊「登錄按鈕」,它會顯示「你沒有記錄」。 –

+0

您必須在應用程序中使用['MessageDialoge'](http://msdn.microsoft.com/library/windows/apps/BR208674)來顯示響應。 – Xyroid