ÈÈÃŹؼü×Ö£º ¡¡PHP ¡¡Cisco ¡¡seo ¡¡ÍøÂç¹ã¸æ ÐéÄâÖ÷»ú ÖÐÎÄÓòÃû

ÈçºÎ´´½¨Êý¾Ý¿âWeb Services

À´Ô´£ºËÑÕ¾³¤ËѼ¯ ×÷ÕߣºÎ´Öª ʱ¼ä£º2005-10-21 µã»÷£º

XML Web ServicesÒ»¸ö×îÏÔÈ»µÄÓô¦¾ÍÊÇͨÓÃÊý¾Ý´æÈ¡¡£Í¨¹ýËü£¬Äã¿ÉÒ԰ѹ«Ë¾µÄÊý¾Ý¿â±»InternetÉϵÄÐí¶à¿Í»§¶ËÀ´·ÃÎÊ£¬Ò²¿ÉÒÔ¶¯Ì¬µØ°ÑËüµ¼Èëµ½µÚÈý·½µÄWebÕ¾µãÉÏ£¬ÉõÖÁ¿ÉÒÔÔÊÐíÄãµÄÉÌÒµ»ï°éµÄWeb ServicesÈ¥²éѯ¡£ÏÂÃæ¾Í½âÊÍÒ»ÏÂÈçºÎ´´½¨Ò»¸ö¼òµ¥µÄWeb Services£¬°ÑÄãµÄÊý¾Ý¿âÄÚÈÝÏÔʾµ½Internet Explorer¡¢µÚÈý·½µÄWeb ServicesºÍ×Ô¶¨ÒåµÄC#ºÍVB.NETµÄ¿Í»§¶Ë¡£

ºÏ×÷»ï°é¡¢¿Í»§¡¢¹ÍÔ±ÔÚʹÓÃΪ¶àÖÖÉ豸Éè¼ÆµÄÊý¾ÝʱÒѾ­ÓÐÏ൱·á¸»µÄ¾­ÑéÁË£¬²»¹ÜÄãÏÖÔÚµÄÊý¾Ý¿âÊÇÈçºÎ×éÖ¯µÄ£¬ÎªÁËÈ·±£Í¨ÓÃÐÔ£¬Web ServicesÏò¿Í»§¶Ë·µ»ØXML¸ñʽµÄÊý¾Ý¡£ÀýÈ磺¼ÙÈçÒ»¸öÎïÁ÷¹«Ë¾£¨ÄãµÄºÏ×÷»ï°é£©×¼±¸°ÑÄãµÄ»õÎïÔËË͸øÄãµÄ¿Í»§£¬µ±ÔËËͳµµ½´ï¿Í»§µÄÃÅǰʱ£¬ËûµÄPDAÉÏÏÔʾ³ö·¢Ë͵ØÖ·¸Ä±äµÄÐÅÏ¢£¬´Ëʱ£¬ÔË»õ³µ¾ÍºÜÇáÒ׵ذÑËüÔËË͵½±ðµÄµØ·½È¥£¬ÄÇÊÇÒòΪÄãµÄ¿Í»§ÔÚÊý¾Ý¿âÀï¸Ä±äÁËËûµÄµØÖ·£¬ÕâÖֱ仯Ҳ×Ô¶¯µØÔÚÄãµÄºÏ×÷»ï°éµÄϵͳÀï×Ô¶¯¸üÐÂÁË¡£

ÏÂÃæ£¬¾Í¿ªÊ¼±àд×Ô¼ºµÄASP.NETÊý¾Ý¿âWeb Services¡£Ê×ÏÈ£¬¼ì²éÄãµÄÊý¾Ý¿â£¬¿´ËüÊÇ·ñÄܹ»ºÜÇáÒ׵ؾͿÉÒÔÊä³öXML¸ñʽµÄÊý¾Ý£¬¿´¿´ADO.NETÄÜ·ñ¶Á³ö²¢½øÐж¯Ì¬×ª»»¡£ÓÐЩÇé¿öÏ£¬Äã¿ÉÄÜÐèÒª¶ÔĿǰµÄÊý¾Ý¿â½øÐÐת»»ÒÔÂú×ãÕâÖÖÐèÒª¡£Èç¹ûÄãµÄÊý¾Ý¿â·ÃÎÊ´úÂë±äµÄºÜ¸´ÔÓ£¬ÒÔÖÂÓÚ»áÓ°Ïìµ½ÉìËõÐÔµÄÇé¿ö£¬½¨ÒéÄã¶ÔÊý¾Ý¿â½øÐÐת»»¡£

Ϊ¼òµ¥Æð¼û£¬ÕâÀï¼ÙÉèÀý×ÓÖеÄÊý¾Ý¿âÖ»ÓÐÒ»¸ö¡°Products¡±±í¡£µ±È»£¬ÄãµÄÊý¾Ý¿â¿ÉÄÜÓÐÐí¶à±í£¬Ò²¿ÉÄÜÄãµÄWeb ServicesÐèÒª·ÃÎʲ»Ö¹Ò»¸öÊý¾Ý¿â¡£

ÏÖÔÚ£¬ÎÒÃǾͿÉÒÔ¿ªÊ¼Ð´´úÂëÁË¡£´ò¿ªVisual Studio .NET£¬ÔÚDataBaseWebServiceĿ¼Ï´´½¨Ò»¸öC#µÄASP.NET Web ServicesÏîÄ¿£¬Èçͼ£º

ÔÚService1.asmxÉϵã»÷ÓÒ¼ü£¬°ÑService1.asmx¸üÃûΪDataBaseWebService.asmx£¬Õâ¸öÎļþ½«»á°üº¬ÓдÓÊý¾Ý¿âµÃµ½Êý¾ÝµÄWebMethods£¬È»ºó£¬µã»÷ÓÒ¼ü£¬Ñ¡Ôñ¡°²é¿´´úÂ롱£¬Çл»µ½´úÂëÊÓͼ£¬¸ü¸ÄΪDataBaseWebServiceÀàºÍ¹¹ÔìÆ÷µÄÃû×Ö¡£

ÏÈÔÚ¿ªÊ¼´¦ÒýÓÃ.NETµÄÀà¿â£º

using System.Data.SqlClient; using System.Data.OleDb;

È»ºó¸ü¸ÄÀàµÄÃû×ÖΪDataBaseWebService£º

public class DataBaseWebService : System.Web.Services.WebService { public DataBaseWebService() { //CODEGEN£º¸Ãµ÷ÓÃÊÇ ASP.NET Web ·þÎñÉè¼ÆÆ÷Ëù±ØÐèµÄ InitializeComponent(); } ... }

ÔÚHello World·½·¨µÄ½áβ´¦Ð´ÉÏ×Ô¼ºµÄ·½·¨´úÂ룬µÚÒ»¸ö·½·¨SQLDBÓÃÀ´·ÃÎÊSQL ServerÊý¾Ý¿â£¬Ëü´¦Àí¿Í»§¶Ë·¢Ë͵ÄSQL Server²éѯ£¬SQLDBµÄ²ÎÊý´Óä¯ÀÀÆ÷µØÖ·À¸´«Ë͵IJéѯÓï¾ä£¬ËùÓеÄWebMethod·½·¨µÄ´úÂë¶¼ÓÐtry/catchÓï¾ä£¬ÓÃÀ´´¦Àí²éѯʧ°ÜʱÊä³öһЩ´íÎóÐÅÏ¢¡£Èç¹ûWebMethod·½·¨ÔÚÔËÐÐʱ³öÏÖÀýÍ⣬catchÓï¾ä²úÉúÒ»¸öÊý¾Ý¼¯£¬ÊÇÒ»¸ö°üº¬´íÎóÐÅÏ¢µÄError±í¡£

SQLDB·½·¨Ê×ÏÈ´´½¨²¢´ò¿ªSQLÊý¾Ý¿âÁ¬½Ó£¬Á¬½Ó×Ö·û´®ÔÚÄãµÄ·þÎñÆ÷ÉÏÓ¦µ±ÊÇΨһµÄ£¬×öΪÀý×Ó£¬ÎÒÃÇʹÓÃVisual Studio .NET°²×°Ê±×Ô´øµÄʾÀýÊý¾Ý¿â£»½ÓÏÂÀ´£¬SQLDB·½·¨´´½¨SQLÊý¾ÝÊÊÅäÆ÷£¬²ÎÊýQUERYÓÃÀ´¾ö¶¨Òª·µ»ØµÄÊý¾Ý¼Ç¼£»×îºó²úÉú²éѯ½á¹ûµÄÊý¾Ý¼¯£¬²¢Ò»XML¸ñʽ£¬²¢ÒÔResultsΪ¸ù½ÚµãµÄ½á¹û¡£´úÂëÈçÏ£º

[WebMethod] public DataSet SQLDB(string Query) { try { SqlConnection CS = new SqlConnection ("server=(local)\\NetSDK;database=Northwind;Trusted_Connection=yes"); SqlDataAdapter myCommand = new SqlDataAdapter (Query, CS); DataSet myDataSet = new DataSet(); myCommand.Fill(myDataSet, "Results"); return myDataSet; } catch(Exception ex) { return DataError(ex); } }

ÓÃÀ´²éѯACCESSÊý¾Ý¿âµÄ·½·¨ÓëSQL»ù±¾Ïàͬ£¬ÎªÁË´ó¼Ò²âÊÔ·½±ã£¬È«²¿´úÂëÈçÏ£º

[WebMethod] public DataSet AccessDB(string Query) { try { string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + this.Server.MapPath("AccessWebServices.mdb"); OleDbConnection myAccessConn = new OleDbConnection(strAccessConn); OleDbCommand myAccessCommand = new OleDbCommand(Query,myAccessConn); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myAccessConn.Open(); DataSet myDataSet = new DataSet(); myDataAdapter.Fill(myDataSet,"Results"); myAccessConn.Close(); return myDataSet; } catch(Exception ex) { return DataError(ex); } }

×îºóдÉÏ´¦Àí´íÎóµÄ·½·¨£º

public DataSet DataError(Exception ex) { DataSet errDS = new DataSet("Errors"); DataTable errTable = errDS.Tables.Add("Error"); errTable.Columns.Add("Message"); errTable.Rows.Add(new Object[] {ex.Message}); return errDS; }

ÏÖÔÚ£¬Äã¾Í¿ÉÒÔ±àÒë¸ÃÏîÄ¿ÁË£¬¿´¿´ÄãµÄWeb ServicesÊÇ·ñÄÜÕý³£¹¤×÷¡£Èç¹ûÄÜÕý³£¹¤×÷£¬½á¹û½«ÈçÏÂËùʾ£º

È»ºóÑ¡ÔñÄúµÄÊý¾Ý¿âÀàÐÍ£¬ÈçÏÂͼËùʾ£º

Ñ¡ÔñAccessDB(×¢Ò⣺ÔÚ½øÐд˲Ù×÷֮ǰ£¬ÇëÏȽ¨Á¢Êý¾Ý¿âAccessWebServices.mdb£¬²¢½¨Á¢±íAcessTableTest£¬²¢·Åµ½DataBaseWebServiceĿ¼֮ÏÂ)£¬ÔÚQueryÀïÊäÈë¡°select * from AcessTableTest¡±£¬È»ºóµã¡°Invoke¡±£¬Äã¾Í»áµÃµ½Ò»¸öXML¸ñʽµÄ²éѯ½á¹û£¬ÏÔʾÈçÏ£º

Èç¹û³öÏÖÉÏͼÀàËÆµÄ½á¹û£¬ËµÃ÷ÄãµÄWeb ServicesÄܹ»Ê¹ÓÃÁË¡£

Èç¹ûÔÙÅäºÏXSL£¬¾Í¿ÉÒÔ²úÉú¿ÉÒÔä¯ÀÀµÄHTMLÒ³ÃæÁË£¬ÄãÒ²¿ÉÒÔÖ±½ÓÔÚµØÖ·À¸ÀïÊäÈ룺http://localhost/DataBaseWebService/DataBaseWebService.asmx/AccessDB?Query=select+*+from+AcessTableTestµÃµ½ÏëÒªµÄÊý¾Ý¡£

ÏÂÃæÓÃC#дһ¸öʹÓøÃWeb ServicesµÄ¿Í»§¶ËÓ¦ÓóÌÐò¡£Ð½¨Ò»¸öWindowsÓ¦ÓóÌÐòµÄVS.NETÏîÄ¿£¬ÃûΪWebServicesClient£¬ÔÚ½â¾ö·½°¸ä¯ÀÀÆ÷ÉϵãÓÒ¼ü£¬Ñ¡ÔñÌí¼ÓWebÒýÓã¬ÔÚµ¯³öµÄ¶Ô»°¿òÀïÊäÈ룺

http://localhost/DataBaseWebService/DataBaseWebService.asmx

È»ºóµã»÷¡°Ìí¼ÓÒýÓá±£¬VS.NET¾Í»á°ÑËùÐèÒªµÄÎļþÌí¼Óµ½ÄãµÄÏîÄ¿Àï¡£ÔÚFrom1ÉÏÌí¼Ó²Ëµ¥£¬²¢Ìí¼ÓÁ½¸ö²Ëµ¥Ï¡°µÃµ½ SQL Server ²úÆ·ÁÐ±í¡±ºÍ¡°µÃµ½ Access ²úÆ·ÁÐ±í¡±£¬ÒªÊ¹ÓÃÎÒÃǸղŴ´½¨µÄWeb Services£¬ÏÈ´´½¨Web ServicesµÄÒ»¸öʵÀý£¬ÈçÏÂËùʾ£º

private void menuItem1_Click(object sender,System.EventArgs e) { WebServicesClient.localhost.DataBaseWebService Database = new WebServicesClient.localhost.DataBaseWebService(); DataSet ds = Database.SQLDB("select * from Products"); dataGrid1.DataSource = ds.Tables[0]; } private void menuItem2_Click(object sender,System.EventArgs e) { WebServicesClient.localhost.DataBaseWebService Database = new WebServicesClient.localhost.DataBaseWebService(); DataSet ds = Database.AccessDB("select * from AcessTableTest"); dataGrid1.DataSource = ds.Tables[0]; }

×îºó£¬ÔËÐÐн¨Á¢µÄWindowÓ¦ÓóÌÐò£¬¾Í¿ÉÒÔ·Ö±ðµÃµ½ÎÒÃǸղÅËù¾ÙµÄÊý¾Ý¿âÀïµÄÊý¾ÝÁË¡£ÈçÏÂͼËùʾ£º


×îÐÂÆÀÂÛ¹²ÓÐ 0 Î»ÍøÓÑ·¢±íÁËÆÀÂÛ
·¢±íÆÀÂÛ
ÆÀÂÛÄÚÈÝ£º²»Äܳ¬¹ý250×Ö£¬ÐèÉóºË£¬Çë×Ô¾õ×ñÊØ»¥ÁªÍøÏà¹ØÕþ²ß·¨¹æ¡£
Óû§Ãû£º ÃÜÂ룺
ÄäÃû?
×¢²á
ÔÞÖúÉÌÁ¬½Ó