WinForm调用WebService简单实例详解(转)

本文详细介绍了如何创建ASP.NET Web Service,并将其与WinForm应用集成,包括服务的实现、部署、引用和调用过程。解决了常见的WebException错误,并提供了IIS配置解决方法。

1、新建 WebService1.asmx

2、在WebService1.cs中加入代码:

[WebMethod]
public int WebAdd(int x, int y)
...{
        return x + y;
}

 [WebMethod]
public int WebMultiply(int x, int y)
...{
        return x * y;
}
3
、生成解决方案;

4、把程序放在localhostWebService虚拟目录。

5、新建WinForm项目,拖入按钮控件btn_showServiceValue和标签控件lbl_msg

6、添加Web引用http://localhost/WebService/WebService1.asmx,命名为localhost

7、在单击按钮事件中加入一下代码:

localhost.WebService1 service1 = new localhost.WebService1();
int z = service1.WebAdd(1, 1);
this.lbl_msg.Text = "1+1=" + z.ToString();
8
、执行WinForm项目,ok!

9、如果出现“WebException: 请求因 HTTP 状态 401 失败:Unauthorized”错误,解决办法:

1、单击开始,指向管理工具,然后单击Internet 信息服务 (IIS)
2
、展开“* 服务器名称(其中服务器名称 为该服务器的名称),右键单击Web 站点,然后单击属性。
3
、在Web 站点属性 对话框中,单击目录安全性 选项卡。
4
、在身份验证和访问控制下,单击编辑。
5
、单击启用匿名访问复选框,将其选中。

备注:
1
用户名框中的用户帐户只用于通过 Windows guest 帐户进行匿名访问。
2
、默认情况下,服务器会创建并使用帐户 IUSR_computername。匿名用户帐户密码仅在Windows 中使用;匿名用户不使用用户名和密码登录。
3
、在已验证身份的访问下,单击集成的 Windows 身份验证复选框,将其选中。
单击确定 两次。
10
OK

转载于:https://www.cnblogs.com/quietwalk/archive/2010/09/09/1822518.html

完整的服务端及客户端调用程序,在win7+ vs2015环境运行通过. 一、说明 1、创建winfrom应用程序;(或者是控制台项目) 2、在项目中添加一个WCF服务,并实现服务; 3、在需要启动WebService服务的地方启动该服务即可; 二、代码如下: 1、新建一个WCF服务——定义服务接口    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]     public interface ICalculator     {         [OperationContract]         double Add(double n1, double n2);     } 2、新建一个WCF服务——实现服务 public class CalculatorService : ICalculator     {         public double Add(double n1, double n2)         {             return n1 + n2;         }     } 3、添加完WcF服务后会在应用程序配置文件中有入下节点                             <!--TestServer.ICalculator服务定义的接口,根据自己定义进行修改-->                                                                   <baseAddresses> <!--这个是要发布的服务地址,可以进行修改-->                                   </baseAddresses>                   4、在要启动服务的地方启动服务监听   public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { try { //打开服务创建监听,并开始监听消息 ServiceHost serviceHost = new ServiceHost(typeof(Service1));//需要using System.ServiceModel; serviceHost.Open(); label1.Text = "服务启动正常"; } catch (Exception ex) { label1.Text = ex.Message; } } 5、下面可以在客户端通过上面的服务地址”http://xxx.xxx.xxx.xx:8733/test/Service1/“对服务进行调用 到这步就实现在控制台中实现webService的发布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值