这是我第一次处理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()
答案 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;
}