Criação de interface de serviço da Web ASP.NET e código de tutorial de método de chamada: 9527 -

Crie um serviço da web

1. Crie um novo site ASP.NET (eu uso o Visual Studio 2013)

a. Abra o Visual Studio 2013, clique em File—> New—> Website
Insira a descrição da imagem aqui
b. Selecione ASP.NET Web Application
Insira a descrição da imagem aqui
2. Encontre o site recém-criado no Solution Explorer, clique com o botão direito e selecione—> Add—> New Item
Insira a descrição da imagem aqui
3. Selecione "Web Service"
Insira a descrição da imagem aqui
4. Abra WebService.cs, conforme mostrado abaixo, você pode escrever código lógico no arquivo modificado. [WebMethod] declara um método de serviço web que pode ser chamado pelo servidor (equivalente a expor ao cliente), se você não quiser ser exposto pelo cliente, não precisa escrever [WebMethod].
Insira a descrição da imagem aqui

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();
             }
         }
     }
    
}

5. Comece a executar o projeto, você pode visualizar a página de chamada de teste no navegador, você pode ver que os métodos Staff e UpdateStaff podem ser chamados
Insira a descrição da imagem aqui
. 6. Clique em Staff para entrar, digite gonghao (número comercial) para fazer chamadas de teste
Insira a descrição da imagem aqui

Duas chamadas de cliente de serviço da Web

1. Use o IIS para publicar o serviço da Web que acabamos de gerar

a. Abra o IIS, encontre "Site", clique com o botão direito em "Adicionar site" e selecione o caminho físico do projeto construído anteriormente. Depois de adicionar, você pode inserir o exemplo (my) no navegador: http://142.2.70.99/mfgpgm/Service.asmx para visualizar
Insira a descrição da imagem aqui
2. Crie um novo site ASP.NET, encontre o novo nome do projeto no explorador de soluções, clique com o botão direito, selecione "Add" -> "Service Reference"
Insira a descrição da imagem aqui
3. Clique em Advanced—> Add Web Reference—> Insira o endereço publicado e clique na seta—> Clique em Add Reference (conforme mostrado abaixo)

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
4. Conforme mostrado na figura abaixo, será gerado um WebReference, que pode ser chamado no código (conforme mostrado na figura abaixo)
Insira a descrição da imagem aqui
5. Neste ponto, a criação de todo o WebService foi concluída com sucesso.

Se você gosta de blogueiros, pode clicar para seguir e adicionar um link triplo de um clique, e o código-fonte de vários sistemas foi carregado para os recursos da página inicial, bem-vindo ao download

Acho que você gosta

Origin blog.csdn.net/Jacob946/article/details/114303431
Recomendado
Clasificación