如何引用我添加的Web服务

时间:2014-07-02 19:09:27

标签: visual-studio-2010 web-services

这是我第一次处理Web Services。我已成功Added a Web Service到我在VS 2010中创建的那个。我要做的是访问此.asmx file中添加的Web服务的功能这是我现在看到的所有内容自动添加的代码。

Service1.asmx.vb

Public Class Service1
Inherits System.Web.Services.WebService


<WebMethod()> _
Public Function HelloWorld() As String
    Return "Hello World"
End Function

我添加的添加的Web服务称为blahService。所以我很好奇我如何访问添加的Web服务中的功能?我必须做这样的事吗......?

Dim foo as new blahService()

然后,当我去访问一个函数时,只需执行

foo.function()

1 个答案:

答案 0 :(得分:1)

1)在项目的Solution Explorer中,右键单击“Service References”,然后单击“Add Service Reference”

2)出现的对话框允许您输入Web服务的URL。输入它,然后按“开始”按钮“

3)您可以看到Web服务的名称显示在“服务”窗格中。为您的Web服务提供一个名称空间(您喜欢的任何名称),用于从项目中引用它。按OK按钮。该命名空间现在将显示在服务引用列表

如果不需要特定权限来访问Web服务,则认为该Web服务具有匿名身份验证。允许服务器满足每个请求,而不考虑请求信息的实体。互联网上的许多Web服务就是这种情况。

作为参考,这是我将从我的应用程序调用的方法的源代码:

 [WebMethod]
  public List<string> GetStrings(int StartNumber, int EndNumber)
   {
        List<string> MyList = new List<string>();
        for (int i = StartNumber; i <= EndNumber; i++)
         {
            MyList.Add("AuthASMXService String #" + i.ToString());
         }
         return MyList;
  }

以下是将在上面实例化的Web服务中调用该方法的代码:

  private void ASMXWebServiceInvoke_Click_1(object sender, RoutedEventArgs e)
 {
     ASMXWebServiceReference.WebService1SoapClient MyASMXWebServiceClient 
      = new ASMXWebServiceReference.WebService1SoapClient();
     ASMXWebServiceReference.GetStringsResponse MyStringsResponse = 
      MyASMXWebServiceClient.GetStrings(10, 20);
     ASMXWebServiceReference.ArrayOfString MyStrings = 
      MyStringsResponse.Body.GetStringsResult;
     ASMXGridView.ItemsSource = MyStrings;
 }

How do I connect to an ASMX web service?