הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
סיכום
מאמר שלב-אחר-שלב זה מתאר כיצד להשתמש ב- ASP.NET כדי לבנות שירות אינטרנט פשוט של XML המאוחזר נתונים ממסד הנתונים לדוגמה של Microsoft Access Northwind ומחזיר את הנתונים כ- XML ללקוח כאשר הלקוח קורא לפעולת שירות של השירות. בצד הלקוח, הנתונים מוצגים עם רכיבי ה- PivotTable והתרשים של Office. מאמר זה מדגים גם כיצד לבנות לקוח עבור שירות האינטרנט של XML באמצעות Visual Basic .NET או Visual Basic 6.0.
יצירת שירות אינטרנט פשוט של XML באמצעות ASP.NET
הפעל את Visual Studio. נטו.
בתפריט קובץ , לחץ על חדש ולאחר מכן לחץ על Project. תחת סוגי פרוייקטים, לחץ על פרוייקטים של Visual Basic ולאחר מכן לחץ ASP.NET אינטרנט תחת
****תבניות. Form1 נוצר כברירת מחדל.
שנה את המיקום ל- https://localhost/MyDataService ולחץ על אישור. פרוייקט שירות האינטרנט של XML נוצר במחשב המקומי בשם MyDataService. שירות מחלקה1, המקבל בירושה מ- System.Web.Services.WebService, נוצר כברירת מחדל בקובץ Service1.asmx.
בתיבה סייר הפתרונות, לחץ באמצעות לחצן העכבר הימני על Service1.asmx ולאחר מכן בחר הצג קוד. פעולה זו מציגה את הקובץ מאחורי הקוד עבור הדף asmx.
הוסף הפניה לספריית אובייקטי הנתונים של Microsoft ActiveX. לשם כך, בצע את הפעולות הבאות:
- בתפריט פרוייקט , לחץ על הוסף הפניה.
- לחץ על הכרטיסיה COM , בחר ספריית אובייקטי נתונים של Microsoft ActiveX 2.7, לחץ על בחר ולאחר מכן לחץ על אישור.
הוסף את השיטה הבאה לשירות מחלקה1:
<WebMethod()> Public Function GetResultsAsAdoXML() As String Dim myAdoRs As ADODB.Recordset Dim myAdoConnection As New ADODB.Connection() Dim mypersiststream As New ADODB.Stream() Dim myConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ "C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb" Dim mySelect As String = "SELECT * from [Category Sales for 1997]" myAdoConnection.ConnectionString = myConnectionString myAdoConnection.Open() myAdoRs = myAdoConnection.Execute(mySelect) myAdoRs.Save(mypersiststream, ADODB.PersistFormatEnum.adPersistXML) Return mypersiststream.ReadText End Function
הערה
אם לא התקנת את Office XP בתיקיה המוגדרת כברירת מחדל (C:\Program Files\Microsoft Office), שנה את מחרוזת החיבור בקוד כדי לשקף את הנתיב הנכון עבור התקנת Office. כמו כן, אם התקנת את Office 2003, ייתכן שיהיה עליך לשנות את הנתיב בהתאם.
בתפריט Build, לחץ על בנה פתרון כדי לבנות את שירות האינטרנט של XML.
בדוק את שירות האינטרנט של XML
- בתפריט איתור באגים , לחץ על התחל. Microsoft Internet Explorer מופעל ונווט אל הקובץ Service1.asmx.
- לחץ על ההיפר-קישור GetResultsAsAdoXML .
- לחץ על הפעל כדי לבדוק את קריאה לפעולת השירות. חלון חדש מציג את התוצאות של השאילתה Category Sales עבור 1997 בתבנית סכימת ערכת שורות של XML. מסמך ה- XML של ערכת השורות מוקף ברכיב המחרוזת.
- בתפריט איתור באגים ב - Visual Studio .NET, לחץ על הפסק איתור באגים.
בניית לקוח עבור שירות האינטרנט של XML
סעיף זה מתאר כיצד ליצור לקוח כדי לצרוך את שירות האינטרנט של XML של MyDataService. באפשרותך ליצור את הלקוח שלך באמצעות Visual Basic 6.0 או Visual Basic .NET.
למטרות הדגמה, השלבים מתארים כיצד לבנות את לקוח הבדיקה באותו מחשב שבו נמצא שירות האינטרנט של XML. עם זאת, באפשרותך לבנות את לקוחות הבדיקה שלך בכל מחשב שבאפשרותך לדפדף לקובץ שפת התיאור של שירותי האינטרנט (WSDL) ששירות האינטרנט חושף.
השתמש ב- Visual Basic .NET
צור פרוייקט חדש של Visual Basic .NET Windows Application. Form1 נוצר כברירת מחדל.
הקש CTRL+ALT+X כדי להציג את ארגז הכלים.
בתפריט כלים , לחץ על התאמה אישית של ארגז כלים. בחר את הפריטים הבאים ברשימת הרכיבים ולאחר מכן לחץ על אישור:
- Microsoft Office Chart 10.0
- Microsoft Office Data Source Control 10.0
- Microsoft Office PivotTable 10.0
סמלים עבור הרכיבים מופיעים בתיבת הכלים.
הוסף פקד תרשים, פקד PivotTable ופקד מקור נתונים לטופס1. שנה את הגודל והמיקום של הטופס והפקדים לפי הצורך.
הוסף פקד לחצן לטופס1 ולאחר מכן הגדר את המאפיין טקסט של הפקד למילוי נתונים.
הוסף הפניה לשירות האינטרנט של XML לדוגמה. לשם כך, בצע את הפעולות הבאות:
- בתפריט פרוייקט , לחץ על הוסף הפניה לאינטרנט. תיבת הדו-שיח הוספת הפניה לאינטרנט מופיעה.
- בתיבת הטקסט כתובת, הקלד http:// localhost/MyDataService/Service1.asmx?wsdl והקש ENTER. קובץ ה- WSDL מוצג בתיבת הדו-שיח.
הערה: אם MyDataService אינו נמצא במחשב המקומי, החלף את localhost בכתובת בשם שרת האינטרנט שבו שכנה MyDataService.
3. בתיבת הדו-שיח, לחץ על הוסף הפניה.לחץ פעמיים על פקד הלחצן בטופס1 ולאחר מכן החלף את Button1_Click המטפל בקוד הבא:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Reference to the service. Dim objClient As New localhost.Service1() 'Result obtained from the Service method. Dim strresult As String 'The results will be stored on this disk file. Dim datafile As String datafile = System.IO.Directory.GetCurrentDirectory() + "\\mydata.xml" 'Call the Web service method GetResultsAsAdoXML, which returns the recordset as XML. strresult = objClient.GetResultsAsAdoXML() Dim oxmldoc As New System.Xml.XmlDocument() 'Load the XML recordset into the XML Document object. oxmldoc.LoadXml (strresult) 'Save it to disk file. oxmldoc.Save (datafile) 'Get data in the DataSource component. If Len(AxDataSourceControl1.ConnectionString) = 0 Then AxDataSourceControl1.ConnectionString = "provider=mspersist" AxDataSourceControl1.RecordsetDefs.AddNew( _ datafile, AxDataSourceControl1.Constants.dscCommandFile, "ChartData") End If 'Get data in Chart component. Dim c Dim cht As OWC10.ChChart Dim ser As OWC10.ChSeries Dim ax As OWC10.ChAxis c = AxChartSpace1.Constants ' Clear the ChartSpace. AxChartSpace1.Clear() 'DataSource to the Chart component. AxChartSpace1.DataSource = AxDataSourceControl1.DefaultRecordset.DataSource 'Get the reference to Chart within the ChartSpace component. cht = AxChartSpace1.Charts(0) cht.Type = c.chChartTypeBarStacked cht.HasLegend = True cht.Legend.Position = c.chLegendPositionTop cht.HasTitle = True cht.Title.Caption = "Category Sales for 1997" 'Set the Chart data. AxChartSpace1.SetData(OWC10.ChartDimensionsEnum.chDimCategories, 0, "CategoryName") AxChartSpace1.SetData(OWC10.ChartDimensionsEnum.chDimValues, 0, "CategorySales") ax = cht.Axes(c.chAxisPositionBottom) 'Set the series attributes. ser = cht.SeriesCollection(0) ser.Name = "Category Sales" ser.Caption = ser.Name ser.Marker.Size = 4 'Get Data in the PivotTable component. Dim pview As OWC10.PivotView AxPivotTable1.AutoFit = True AxPivotTable1.ConnectionString = "provider=mspersist" AxPivotTable1.CommandText = datafile pview = AxPivotTable1.ActiveView pview.AutoLayout() pview.FilterAxis.Label.Visible = False pview.RowAxis.Label.Visible = False pview.ColumnAxis.Label.Visible = False pview.TitleBar.Visible = False End Sub
הערה אם שירות האינטרנט של XML נמצא במחשב נפרד, הצהר על המשתנה objClient באופן הבא:
Dim objClient As New <servername>.Service1()
כאשר servername הוא שם השרת שבו ש מתגורר שירות האינטרנט של XML.
הערה אם אתה משתמש ב- Office 2003, ייתכן שיהיה עליך לשנות את ההפניות בהתאם.
הוסף את הקוד הבא לחלק העליון של Form1.vb:
Imports OWC10 = Microsoft.Office.Interop.OWC
בתפריט איתור באגים , לחץ על התחל כדי לבנות ולהפעיל את תוכנית הלקוח. מופיע טופס1.
לחץ על מילוי נתונים כדי להציג נתונים בפקדים של תרשים ו- PivotTable.
שימוש ב- Visual Basic 6.0
שירותי אינטרנט של XML מתקשרים עם לקוחות באמצעות הודעות Simple Object Access Protocol (SOAP). אם יישום הלקוח מודע ל- SOAP, הוא יכול לקרוא לשיטות החשופות על-ידי שירות האינטרנט של XML. במחשבי הלקוח לא מותקן Visual Studio .NET כדי להתקשר לשיטות בשירות האינטרנט של XML. ללקוח צריכה להיות היכולת למסגרת קריאות לפעולת שירות אינטרנט של XML כבקשות SOAP ולקבל את התוצאות של פעולת השירות קריאות כתגובות SOAP. ערכת הכלים של SOAP מאפשרת לך לעשות זאת.
לקבלת מידע נוסף אודות ערכת הכלים של SOAP, כולל הוראות הורדה, עיין באתר האינטרנט הבא של Microsoft Developer Network (MSDN): SOAP Toolkit
כדי ליצור לקוח בדיקה של Visual Basic 6.0 כדי לצרוך שיטות בשירות האינטרנט של XML של MyDataService, בצע שלבים אלה:
הערה
לקוח בדיקה זה דורש התקנה של ערכת כלים של SOAP 2.0 Service Pack 2 במחשב.
הפעל את Visual Basic 6.0 וצור פרוייקט חדש של Standard EXE. Form1 נוצר כברירת מחדל.
בתפריט פרוייקט , לחץ על הפניות. הוסף את ההפניות הבאות לפרוייקט:
- Microsoft Soap Type Library
- Microsoft XML, v3.0
בתפריט פרוייקט , לחץ על רכיבים. בחר Microsoft Office XP Web Components ולאחר מכן לחץ על אישור.
הוסף את הטבלה רכיבי אינטרנט של Office ל- Form1:
- Microsoft Office Chart 10.0
- Microsoft Office Data Source Control 10.0
- Microsoft Office PivotTable 10.0
הוסף פקד CommandButton לטופס1 והגדר את המאפיין כיתוב של הלחצן למילוי נתונים.
לחץ פעמיים על הפקד CommandButton והחלף את Command1_Click המטפל בקוד הבא:
Private Sub Command1_Click() Dim osoapClient As MSSOAPLib.SoapClient 'Initialize the SOAP client object. Set osoapClient = CreateObject("MSSOAP.SoapClient") osoapClient.mssoapinit "https://localhost/MyDataService/Service1.asmx?wsdl", "Service1", "Service1Soap" 'DOM object to load the results. Dim oXMLDoc As New MSXML2.DOMDocument Dim strdirname As String 'File to store XML recordset. strdirname = FileSystem.CurDir$ + "\mydata.xml" Dim strxmlrecordset As String 'Call the WebService method. strxmlrecordset = osoapClient.GetResultsAsAdoXML() 'Load the XML in the DOM document. oXMLDoc.loadXML strxmlrecordset 'Save it to the disk file. oXMLDoc.Save (strdirname) 'Get the data into the DataSourceControl1 component. If Len(DataSourceControl1.ConnectionString) = 0 Then DataSourceControl1.ConnectionString = "provider=mspersist" ' Add a RecordsetDef with name ChartData to the DataSourceControl1 DataSourceControl1.RecordsetDefs.AddNew strdirname, DataSourceControl1.Constants.dscCommandFile, "ChartData" End If 'Get the Data into the Chart component. Dim c Dim cht As ChChart Dim chart1 As ChChart Dim ser As ChSeries Dim ax As ChAxis Set c = ChartSpace1.Constants ChartSpace1.Clear 'DataSource to the Chart component. ChartSpace1.DataSource = DataSourceControl1.DefaultRecordset.DataSource ' Draw the chart. Set cht = ChartSpace1.Charts(0) cht.Type = c.chChartTypeBarStacked cht.HasLegend = True cht.Legend.Position = c.chLegendPositionTop cht.HasTitle = True cht.Title.Caption = "Category Sales for 1997" 'Set the chart data. ChartSpace1.SetData chDimCategories, 0, "CategoryName" ChartSpace1.SetData chDimValues, 0, "CategorySales" ' Set the tick label spacing depending on the number of points plotted. Set ax = cht.Axes(c.chAxisPositionBottom) 'Set the series attributes. Set ser = cht.SeriesCollection(0) ser.Name = "Category Sales" ser.Caption = ser.Name ser.Marker.Size = 4 'Get the data into the PivotTable. PivotTable1.ConnectionString = "provider=mspersist" PivotTable1.CommandText = strdirname PivotTable1.AutoFit = True Set pview = PivotTable1.ActiveView pview.AutoLayout pview.FilterAxis.Label.Visible = False pview.RowAxis.Label.Visible = False pview.ColumnAxis.Label.Visible = False pview.TitleBar.Visible = False End Sub
הערה אם שירות האינטרנט של XML נמצא במחשב נפרד, החלף את localhost בכתובת שירות האינטרנט של XML בשם השרת שבו ש מתגורר שירות האינטרנט של XML.
הקש F5 כדי לבנות ולהפעיל את התוכנית. מופיע טופס1.
לחץ על מילוי נתונים כדי להציג נתונים ברכיבי התרשים וה- PivotTable.
הפניות
לקבלת מידע נוסף אודות שירותי אינטרנט של XML הנוצרים באמצעות ASP.NET, לחץ על מספר המאמר הבא כדי להציג את המאמר מתוך מאגר הידע Microsoft Knowledge Base:
301273 כיצד לכתוב שירות אינטרנט פשוט באמצעות Visual Basic .NET
לקבלת מידע נוסף אודות שירותי אינטרנט של XML שנוצרו באמצעות ASP.NET, עיין בנושא "תיכנות האינטרנט עם שירותי אינטרנט" בעזרה של .NET של Visual Studio או בנושא "שירותי אינטרנט של ASP.NET והלקוחות של שירותי אינטרנט של ASP.NET" במדריך למפתחים של Microsoft .NET Framework.
לקבלת מידע נוסף אודות יסודות שירותי אינטרנט ו- XML Web Services הנוצרים באמצעות ASP.NET, בקר באתר האינטרנט הבא של Microsoft Developer Network (MSDN):
https://msdn.microsoft.com/en-us/library/ba0z6a33.aspx
לקבלת מידע נוסף אודות פיתוח Microsoft Office באמצעות רכיבי האינטרנט של Visual Studio ו- Office XP, בקר באתר האינטרנט הבא של MSDN:
https://msdn.microsoft.com/en-us/library/aa188489(office.10).aspx