一:创建WebService
1.先新建一个项目用于创建web服务,例如我这里创建WebServiceTest
2.项目上右键->添加新建项,在已安装的模板中选择Web服务文件,我这里用默认的名字WebService1.asmx
注意:若项目选择高版本的.NET FrameWork,则没有web服务,只有WCF服务,可以右键项目在属性中选择低一点的.NET FrameWork,可以解决问题。
完成后,就可以在对应的WebService1.asmx.cs中写入方法。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Collections; using System.Web.Script.Serialization; using System.Configuration; using System.Data; using Oracle.ManagedDataAccess.Client; namespace WebServiceTest { /// <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"; } /// <summary> /// 方法上头的[WebMethod]是声明一个web服务方法,如果你想写个方法能让客户端调用并返回结果就必须在方法上头标注[WebMethod] /// 如果是只负责逻辑运算或私有方法,并不打算给客户端结果,只给类方法内部调用就无需声明[WebMethod] /// </summary> /// <param name="pid"></param> /// <returns></returns> [WebMethod] public string getPersonInfoByPid(string pid) { OracleDataReader reader = null; JavaScriptSerializer jss = new JavaScriptSerializer(); Person person = null; //1.获取连接字符串 string strLogDBConn = ConfigurationManager.ConnectionStrings["OraDBCon"].ToString(); //2.连接数据库 OracleConnection conn = new OracleConnection(strLogDBConn); try { //3.打开数据库 OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = string.Format("SELECT * FROM PERSONINFO WHERE PID='{0}'", pid); conn.Open(); if (conn.State == ConnectionState.Open) { reader = cmd.ExecuteReader(); while (reader.Read()) { person = new Person(); person.PERSONID = (Int64)reader["PERSONID"]; person.PID = (string)reader["PID"]; person.PNAME = (string)reader["PNAME"]; } } } catch (Exception e) { ;} finally { reader.Close(); conn.Close(); } return jss.Serialize(person); } [WebMethod] public int plus(int a, int b) { return a + b; } } public class Person { public Int64 PERSONID { get; set; } public string PID { get; set; } public string PNAME { get; set; } } } 二.生成解决方案,发布在项目上右键,选择发布
至此,创建并成功发布该WebService,发布后的文件夹里面对应的内容应该是这样,下一步是部署和调用。