我正在学习Web服务。我从基本模板. asmx开始。然后,我创建了一个.net控制台应用程序,并将Web引用添加到该应用程序。它看起来工作正常。但是我不知道如何在控制台内部调用这个服务并使用它的方法。
SoapDemo.asmx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace soapdemo
{
/// <summary>
/// Summary description for WebService1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public int SumOfNums(int FirstNumber, int SecondNumber)
{
return FirstNumber + SecondNumber;
}
[WebMethod(MessageName = "SumOfFloats")]
public float SumOfNums(float FirstNumber, float SecondNumber)
{
return FirstNumber + SecondNumber;
}
}
}
字符串
Program.cs:
using SoapDemo;
namespace ConsoleClient3
{
internal class Program
{
static void Main(string[] args)
{
WebService1SoapClient client = new WebService1SoapClient();
//var add = client.HelloWorldAsync();
//Console.WriteLine(add);
//Console.ReadLine();
}
}
}
型
Connected Services控制台应用程序:
的数据
的
1条答案
按热度按时间3zwjbxry1#
我希望您已将项目中的服务引用添加到客户端应用程序中。如果没有,请按照以下步骤添加。
1.右键单击客户端项目。
1.选择添加
1.选择服务引用。(将出现“添加服务引用”对话框。)
1.选择WCF Web服务并单击下一步。
1.在URI输入中添加服务的URI,然后单击下一步。
的
1.单击下一步
1.单击完成
这样,您就向客户端控制台应用程序添加了对服务的引用。
将Service Reference添加到客户端应用程序后,您可以访问服务的访问HelloWorld方法,如下所示:
字符串
你得到的hello world结果是
HelloWorldResponse
。检查您的响应类型和结果在该对象。的
类似地,按照以下示例调用
SumOfNums
方法型
在这里,返回类型是int,因此您可以直接将其打印为结果。
型
作为参考,asmx web服务代码如下:
型
以上代码和操作在Visual Studio Enterprise 2022上执行。ASMX Web服务项目在.NET Framework 4.7.2上,控制台应用程序在.NET 7.0上