vs2019创建Webservice,发布,部署到IIS,并在前端调用

1.创建ASP.NET Web应用程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.添加web服务

在这里插入图片描述

3.添加成功后,写好自己想要的接口,并发布

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.在IIS上部署

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右键“网站”,添加网站
在这里插入图片描述
浏览出现如下问题,解决方法为:双击“目录浏览”,并启用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.前端调用

(1)下载一个Vue.js文件,然后将其放到项目的根目录下:

在这里插入图片描述
下载地址:
在这里插入图片描述

(2)创建一个新的html文件,将以下代码粘贴进去:

<!DOCTYPE html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="vue.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head><body>
    <div id="app"></div>
    <script>
        new Vue({
            el: '#app',
            mounted() {
                axios
                    .post('http://192.168.3.89:8090/WebService1.asmx/DoWork',{
                        value: 1
                    })
                    .then(res => {
                        console.log(res)
                    })
            }
        })
</script>
</body></html>

post请求里面第一个数据是服务地址,这里需要替换成你自己的服务地址,后面跟函数名DoWork,然后传输一个对象,写法与JSON格式类似,属性名后面跟属性值:

.post('http://192.168.3.89:8090/WebService1.asmx/DoWork',{
                        value: 1
                    })

(3)修改web服务中的内容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebApplication1
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        //[WebMethod]
        //public string HelloWorld()
        //{
        //    return "Hello World";
        //}
        [WebMethod(Description = "查询")]
        public TestData DoWork(int value)
        {
            TestData myData = new TestData();
            myData.Value = value;
            return myData;
            
        }
    }
    public class TestData
    {
        public int Value { get; set; }
    }
}

(4)修改Web.config配置文件:

在配置文件中增加以下内容,解决跨域问题。

<configuration>	
	<system.webServer>
		<httpProtocol>
			<customHeaders>
				<add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
				<add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
				<add name="Access-Control-Allow-Origin" value="*" />
			</customHeaders>
    </httpProtocol>
	</system.webServer>
</configuration>

(5)重新发布web服务:具体参见3.

(6)浏览前端测试结果:

​可以看到,现在浏览器的输出端口已经将返回的对象打印出来,可以看到返回对象中有{Value:1}说明前端调用成功了​。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值