• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#下WebService初探:构建WebService服务及WinForm和浏览器http-get调用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在 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 信息:

  <?xml version="1.0" encoding="utf-8" ?>
  <string xmlns="http://tempuri.org/">Hi, "dfasfas"!</string>
 
  当然这种显示结果 UI 体验是不友好的, 是给开发者用于获取 xml 数据的.
  这就是对 Web Service 的一个初步了解吧.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用c++读取文件夹中的所有文件名发布时间:2022-07-13
下一篇:
c#中添加自定义事件的例子发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap