【问题标题】:How do I connect to an ASMX web service in vs2012如何在 vs2012 中连接到 ASMX Web 服务
【发布时间】:2023-04-06 08:06:01
【问题描述】:

我目前正在开发中。我正在尝试在我的 Windows 商店项目中连接 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);
          });
    }
}
}

【问题讨论】:

  • 请在此处发布代码,而不是在外部站点上。请更详细地描述您的问题;你有什么办法解决它?您尝试过哪些诊断方法?
  • 请向我们提供有关情况的更多信息。到目前为止你尝试了什么?什么不工作?等
  • 实际上,我想从 webservie 调用数据库以供 USER 登录。如果用户单击“登录”按钮,它将显示结果。我尝试了许多方法来调用 Web 服务,但它有错误。例如(网站链接):blogs.msdn.com/b/wsdevsol/archive/2012/12/21/…telerik.com/help/wpf/160f7c96-7b55-4bfb-96d3-55c4b80ff843.html
  • 我的应用程序不能使用这个代码 -> Console.WriteLine("The result is:");它是使用这个,它有错误并显示“名称'Console'不存在于当前上下文。”

标签: c# windows web-services windows-store-apps


【解决方案1】:

您的服务调用缺少 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);
}

【讨论】:

  • 嗨,Xyroid。我是否需要放置消息框以从 Web 服务调用结果?实际上,我已经在我的网络服务数据库中设置了如果用户单击“登录”按钮,它将显示用户 ID。如果用户在数据库中没有记录并单击“登录按钮”,它将显示“您不在记录中”。
  • 您必须在应用程序中使用MessageDialoge 才能显示响应。
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 2017-05-27
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多