Webサービスを作成する
1.新しいASP.NETWebサイトを作成します(私はVisual Studio 2013を使用しています)
a。VisualStudio2013を開き、[ファイル] —> [新規] —> [Webサイト]をクリックします
。b。[ASP.NETWebアプリケーション]を選択します
。2。ソリューションエクスプローラーで新しく作成したWebサイトを見つけ、右クリックして、[—>追加] —> [新しいアイテム
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();
}
}
}
}
5.プロジェクトの実行を開始すると、ブラウザーでテスト呼び出しページが表示され、StaffメソッドとUpdateStaffメソッドを呼び出すことができることが
わかります。6。[Staff]をクリックして入力し、gonghao(作業番号)を入力してテスト呼び出しを行います。
2つのWebサービスクライアント呼び出し
1. IISを使用して、生成したWebサービスを公開します
a。IISを開き、[Webサイト]を見つけて[Webサイトの追加]を右クリックし、以前にビルドしたプロジェクトの物理パスを選択します。追加後、ブラウザに例(my)を入力できます:http://142.2.70.99/mfgpgm/Service.asmx表示
2.新しいASP.NET Webサイトを作成し、ソリューションエクスプローラーで新しいプロジェクト名を見つけます。右クリックし、[追加]-> [サービス参照]を選択します。3。[詳細設定]->
[Web参照の追加]->公開アドレスを入力して矢印をクリックします-> [参照の追加]をクリックします(以下を参照)。
4.次の図に示すように、コードで呼び出すことができるWebReferenceが生成されます(次の図に示すように)
。5。この時点で、WebService全体の作成が正常に完了します。
ブロガーが好きなら、クリックしてフォローし、ワンクリックのトリプルリンクを追加できます。さまざまなシステムのソースコードがホームページのリソースにアップロードされています。ダウンロードを歓迎します。