C# 下 WebService 初探: 构建Web Service 服务及 WinForm和浏览器 http-get调用
在 Visual Studio 下构建 Web Service 服务非常简单, 只需: 添加新的项目--> ASP.NET Web 服务应用程序,即可生成一个 WebService, 并有一个默认的 不带参数的 Helloworld web方法, 也可自己添加一个带参数的方法, 如下:
[WebMethod]
public string SayHello(string name)
{
return String.Format("Hi, {0}!", name);
}
生成的是一个 .dll 文件; 也可以将 Service.asmx 发布到 IIS中去.
(一) WinForm 中调用 WebService.
1. 添加一个新的项目: Windows窗体应用程序;
2. 应用 --> 添加应用, 找到上面生成的 WebService 应用程序文件(.dll), 添加当前应用程序的应用中.
3. 添加引用 WebSerice 的命名空间, 比如 : using MyWebService;
4. 测试调用web service 的效果: 在窗体上设置 2个 Button, 设置Click事件:
private void button1_Click( object sender, EventArgs e) { MyWebService.Service1 localService = new Service1(); MessageBox.Show(localService.HelloWorld()); } private void button2_Click( object sender, EventArgs e) { MyWebService.Service1 localService = new Service1(); string response = localService.SayHello( "Tom" ); MessageBox.Show(response); } |
即可.
(二) 浏览器下使用 Http-Get 直接调用 WebService, 即在浏览器下地址栏这样调用:
http://DomainName/Service1.asmx/SayHello?name="Jick"
默认情况下, 处于安全考虑, .net 2.0 以上不支持这种协议调用. 若要这样做, 则需要修改 web.config 配置文件, 如下增加设置项:
<webServices>
<protocols>
<add name="HttpGet"/>
<add name ="HttpPost"/>
</protocols>
</webServices>
这个必须放在<system.web> ... </system.web> 区段里的.
当 web服务发布时 web.config 是一起发布出去的.
打开浏览器, 在地址栏输入: http://127.0.0.1/Service1.asmx/SayHello?Name="dfasfas"
其中方法名 SayHello 大小写是敏感的, 参数名不区分大小写, 但名称必须与原方法定义中是一样的.
即可获得如下 xml 信息:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 工良出品 | 长文讲解 MCP 和案例实战
· 多年后再做Web开发,AI帮大忙
· 国产的 Java Solon v3.2.0 发布(央企信创的优选)
· centos停服,迁移centos7.3系统到新搭建的openEuler
· 记一次 .NET某旅行社酒店管理系统 卡死分析