【发布时间】:2017-05-01 19:37:25
【问题描述】:
我正在创建一个简单的 asmx Web 服务并尝试使用它们。下面是 asmx 网络服务
public class AddTwoNumbers : System.Web.Services.WebService
{
[WebMethod]
public int GetSum(int a, int b)
{
return a + b;
}
}
这是我正在使用创建的服务的 Windows 控制台应用程序
namespace TestASMXService
{
class Program
{
static void Main(string[] args)
{
AddingNumber.AddTwoNumbers add = new AddingNumber.AddTwoNumbers();
Console.Write("First Number:");
int firstNum = Convert.ToInt32(Console.ReadLine());
Console.Write("Second Number:");
int secNum = Convert.ToInt32(Console.ReadLine());
Console.Write ("The Sum is:",add.GetSum(firstNum, secNum));
Console.ReadLine();
}
}
它接收用户输入,不返回任何结果或抛出任何错误
谁能告诉我这里缺少什么。
【问题讨论】:
-
出于好奇,为什么选择 ASMX?
-
我只是在学习 asmx。并尝试了解如何使用网络方法
-
ASMX 已被弃用,如果不是过时的话 - 如果您想了解 Web 服务,我建议您使用 ASP.NET Web API。 ASMX 不应该用于新项目,因为它不受 ASP.NET Core 支持:stackoverflow.com/a/35830341/159145
-
是的,我已经在 Web API 中完成了一些学习练习。但是你能说一下上面的代码有什么问题吗
-
我无法立即看到任何错误 - 我怀疑这是运行时配置问题。您确定 ASMX 服务正在运行并且可以访问吗?如果您的代理类是由 Visual Studio 生成的,您应该能够介入
GetSum调用并查看它在哪里阻塞 - 我怀疑它在获取响应时会阻塞。您是否正在运行任何阻止本地环回连接的防火墙软件?
标签: c# web-services console-application asmx