欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ASP.NET Web Service接口创建及调用方法教程 - code:9527 -- 博客 有大用 有大大用

一 Web Service创建

1.新建一个ASP.NET网站 (我用的是Visual Studio 2013)

a.打开Visual Studio 2013,点击文件—>新建—>网站
在这里插入图片描述
b.选择ASP.NET Web 应用程序
在这里插入图片描述
2.在解决方案资源管理器下找到刚新建的网站,选中右键,选择—>添加—>新建项
在这里插入图片描述
3.选择“Web服务”
在这里插入图片描述
4.打开WebService.cs,如下图,可以在改文件中进行逻辑代码的编写,[WebMethod]是声明一个web服务方法,可以供服务端调用(相当于暴露给客户端),若不想被客户端暴露则不用写上[WebMethod]。
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
 
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://student.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
 
    public WebService () {
        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }
    
    private SqlCommand cmd=null;
    private SqlConnection conn=null;
    private String sql=null;
    ///创建数据库连接方法封装
    public void openDatabase() {
        conn = new SqlConnection();
        conn.ConnectionString ==System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
        if (conn.State == ConnectionState.Closed)
        {
            conn.Open();
            //Response.Write("<script>alert('Connected!');</script>");
        }
    }
  
  ///根据员工工号查询职员的信息
  ///web service 的返回值必须是可序列化的,而qlDataReader类型不能被序列化会出错,这里用DataSet类型
     [WebMethod]
    public DataSet Staff(String gonghao)
    {
            openDatabase();
            String sql = "select * from S where 员工='" + gonghao+ "'";
            SqlDataAdapter sqlad = new SqlDataAdapter(sql, conn);//创建SqlDataAdapter对象并执行sql查询
            DataSet ds = new DataSet();
            sqlad.Fill(ds);
            if (conn.State != ConnectionState.Closed)
            {
                conn.Close();
            }
            return ds;
    }
    
     //更新修改职员信息
    //数据库中身高、体重为float类型,若height、weight为“”空会出错,将其赋值null
     [WebMethod]
     public Boolean UpdateStaff(String gonghao, String height, String weight,String used_name,String email)
     {
         String strError = "";
         String sql = "update S set ";
         
         if (height.Trim() == "") { 
             height = null;
         }
         else { 
             float.Parse(height);
             sql=sql+"身高="+height+",";
         }
         if (weight.Trim() == "")
         {
             weight = null;
         }
         else
         {
             float.Parse(weight);
             sql=sql+ "体重=" + weight + ",";
         }
         if (used_name.Trim() != "") sql = sql + "曾用名='" + used_name + "',";//曾用名为数据库字段名
         if (email.Trim() != "") sql = sql + "电子邮件='" + email+ "',";
         sql = sql.TrimEnd(',') + " where 员工工号='" + gonghao+ "'"; 
         try
         {
             openDatabase();
             cmd = new SqlCommand(sql,conn);
             int count = cmd.ExecuteNonQuery();
             return !(count<1);
         }
         catch(Exception e){
             strError = "更新数据库失败:" +e.Message;
             return false;
         }
         finally
         {
             if (conn.State != ConnectionState.Closed)
             {
                 conn.Close();
             }
         }
     }
    
}
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  • 29

  • 30

  • 31

  • 32

  • 33

  • 34

  • 35

  • 36

  • 37

  • 38

  • 39

  • 40

  • 41

  • 42

  • 43

  • 44

  • 45

  • 46

  • 47

  • 48

  • 49

  • 50

  • 51

  • 52

  • 53

  • 54

  • 55

  • 56

  • 57

  • 58

  • 59

  • 60

  • 61

  • 62

  • 63

  • 64

  • 65

  • 66

  • 67

  • 68

  • 69

  • 70

  • 71

  • 72

  • 73

  • 74

  • 75

  • 76

  • 77

  • 78

  • 79

  • 80

  • 81

  • 82

  • 83

  • 84

  • 85

  • 86

  • 87

  • 88

  • 89

  • 90

  • 91

  • 92

  • 93

  • 94

  • 95

  • 96

  • 97

  • 98

  • 99

  • 100

  • 101

5.启动运行项目,在浏览器中可以查看测试调用页面,可以看到Staff、UpdateStaff方法可以被调用
在这里插入图片描述
6.点击Staff进入,输入gonghao(工号)可以进行测试调用
在这里插入图片描述

二 Web Service客户端调用

1.用IIS发布我们刚刚生成的Web Service服务

a.打开IIS,找到“网站”,右键“添加网站”,物理路径选择之前建的项目所在路径。添加完毕可以在浏览器中输入 示例(我的):http://142.2.70.99/mfgpgm/Service.asmx进行查看
在这里插入图片描述
2.新建ASP.NET 网站,在解决方案资源管理器下找到新建项目名右键,选择“添加”—>"服务引用"
在这里插入图片描述
3. 点击高级—>添加Web引用—>输入所发布的地址点击箭头—>点击添加引用(如下图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.如下图会生成WebReference,在代码里调用进行调用(如下图)
在这里插入图片描述
5.到此,整个WebService的创建到调用就圆满结束了。

喜欢博主的可以点击关注加一键三连,还有各种系统的源码已上传到主页资源中,欢迎下载


来自  https://blog.csdn.net/Jacob946/article/details/114303431


普通分类: