在虚拟机中搭建并测试简单的WebService服务

背景说明

  之前写的很多代码,都是在局域网内使用,采用的用户身份认证方式是Windows集成身份认证,客户端调用服务端WebService时的认证方式也是Windows集成身份认证。最近有同事需要将认证方式改为用户名和密码、CA证书方式,由于以前接触比较少,于是想先建个测试环境测试一下。本文先简单记录如何在虚拟机中部署WebService服务,并进行调用测试。
  虚拟机中部署的操作系统是Windows Server 2008 R2,数据库部署的是Sql Server 2008R2,这两个的安装方式就不介绍了,不清楚的朋友可以百度搜索下载地址及安装方式。

添加IIS

  刚安装完成的Windows Server 2008 R2中是没有带IIS的,需要手动到控制面板的打开关闭Windows功能中去添加IIS功能。具体步骤如下列图形所示,在安装过程中根据需要勾选角色和功能。
进入控制面板
  点击添加角色。
点击添加角色在这里插入图片描述
在这里插入图片描述
  勾选Web服务器及其它需要的服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  至此,IIS部署成功,下面就是写个简单的WebService进行测试,测试部署、调用是否正常。

编写、部署、测试WebService

  编写支持加减乘除的WebService,代码如下:

   public class MathService : System.Web.Services.WebService
    {

        [WebMethod]
        public int Add(int a, int b)
        {
            return a + b;
        }

        [WebMethod]
        public int Sub(int a, int b)
        {
            return a - b;
        }

        [WebMethod]
        public int Multi(int a, int b)
        {
            return a * b;
        }

        [WebMethod]
        public int Divide(int a, int b)
        {
            return a / b;
        }
    }

  编辑上述代码,并将Web.config、asmx和Bin文件夹复制到服务器的inetpub\wwwroot文件夹下。
  然后在IIS中新建网站,设置网站名称为MathServices,配置物理文件位置,设置端口,最低按点击确定按钮,WebService部署完成。在IIS中,将WebService的身份验证方式先设置为匿名访问进行测试。

在这里插入图片描述
在这里插入图片描述
  首先在虚拟机的服务器中测试是否可以浏览WebService,直接在IIS的WebService中切换到内容视图,然后在asmx文件上点右键,选择浏览即可。如果在IE上浏览服务没有问题,则将服务地址复制到物理机的浏览器中,将地址中的localhost改为服务器的ip,然后测试是否能访问成功(如何无法访问,可能是服务器的防火墙的原因,简单点的话就直接关掉服务器防火墙服务)。
服务器本地IE测试
在这里插入图片描述
  最后写个客户端调用程序进行功能测试,在项目中添加服务引用,如下图所示。
在这里插入图片描述
  调用代码及调用结果如下所示:

            int numA = Convert.ToInt32(txtA.Text);
            int numB = Convert.ToInt32(txtB.Text);
            MathServiceReference.MathServiceSoapClient mathSrv = new MathServiceReference.MathServiceSoapClient();

            switch (comboOperator.SelectedIndex)
            {
                case 0:
                    txtResult.Text = Convert.ToString(mathSrv.Add(numA, numB));
                    break;

                case 1:
                    txtResult.Text = Convert.ToString(mathSrv.Sub(numA, numB));
                    break;

                case 2:
                    txtResult.Text = Convert.ToString(mathSrv.Multi(numA, numB));
                    break;

                case 3:
                    txtResult.Text = Convert.ToString(mathSrv.Divide(numA, numB));
                    break;
            }

在这里插入图片描述

  后文增加用户名、密码方式调用WebService的功能,主要包括增加登录界面,增加数据库表、增加用户验证功能等,经请稍候。

参考文章:
[1]虚拟机安装VMTool时如果出现microsoft runtime dll错误的解决方法,https://blog.csdn.net/weixin_41634085/article/details/91907957
[2]SQL Server 2008R2安装错误—“is not a valid login or you do have permission”,https://blog.csdn.net/wangwenru6688/article/details/50707239

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值