ASP.NET Web Matrix - przewodnik

Spis treści

Metoda internetowa z dostępem do danych

W tym przykładzie utworzymy metodę internetową, która zwraca zbiór danych DataSet, zawierający wszystkie rekordy tabeli Zamowienia.

1. Otwórz plik mojPierwszyWebService.asmx w widoku Code.

2. Z przybornika wybierz kontrolkę generatora kodu SELECT Data Method i przeciągnij ją na stronę usługi XML Web Service.

Pojawi się okno dialogowe kreatora SELECT Data Code Wizard.

3. Kliknij listę rozwijaną Select a database. Środowisko ASP.NET Web Matrix połączy się z wybranym źródłem danych i umieści na liście rozwijanej nazwy dostępnych baz danych. Wybierz przygotowaną we wcześniejszym przykładzie bazę danych Zamowienia.

4. Kliknij przycisk Next.

Pojawi się kolejne okno kreatora - Construct a SELECT Query.

ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
5. Z listy Tables wybierz tabelę Zamowienia.

6. W sekcji Columns zaznacz pole wyboru obok pozycji *.

7. Kliknij przycisk Next.

Pojawi się kolejne okno kreatora o nazwie Query Preview.

8. Kliknij przycisk Test Query.

Jako wynik testowego zapytania do bazy wyświetlone zostaną wszystkie rekordy tabeli Zamowienia.

9. Kliknij przycisk Next.

Na ekranie pojawi się kolejne okno dialogowe kreatora.

10. W pole nazwy metody wpisz PobierzZamowienia.

11. Zaznacz opcję DataSet (wartość domyślna).

12. Kliknij przycisk Finish.

Okno kreatora zniknie, a na stronie w widoku Code pojawi się funkcja PobierzZamowienia. Funkcja nie przyjmuje żadnych parametrów wejściowych, a w wyniku działania zwraca zestaw danych DataSet. Zestaw danych DataSet zawiera wszystkie zamówienia znajdujące się w tabeli Zamowienia.

13. Do funkcji PobierzZamowienia dodaj atrybut WebMethod. Metoda PobierzZamowienia nie pobiera argumentów wejściowych i jako wynik zwraca zestaw danych DataSet, który zawiera wszystkie rekordy tabeli Zamowienia.

<WebMethod> Function PobierzZamowienia() _

As System.Data.DataSet

Dim connectionString As String = _

"server='(local)'; trusted_connection=true; " & _

"database='Zamowienia'"

Dim dbConnection As System.Data.IDbConnection = _

New System.Data.SqlClient. ř

SqlConnection(connectionString)

Dim queryString As String = _

"SELECT [Zamowienia].* FROM [Zamowienia]"

Dim dbCommand As System.Data.IDbCommand = _

New System.Data.SqlClient.SqlCommand

dbCommand.CommandText = queryString

dbCommand.Connection = dbConnection

Dim dataAdapter As System.Data.IDbDataAdapter = _

New System.Data.SqlClient.SqlDataAdapter

dataAdapter.SelectCommand = dbCommand

Dim dataSet As System.Data.DataSet = _

New System.Data.DataSet

dataAdapter.Fill(dataSet)

Return dataSet

End Function

14. Zapisz i uruchom usługę XML Web Service.

W nowym oknie przeglądarki zostanie automatycznie wyświetlona dynamicznie utworzona strona, opisująca usługę XML Web Service.

Zobaczysz plik HTML, opisujący usługę XML Web Service. Na stronie pokazane będą wszystkie metody udostępniane przez usługę XML Web Service.

15. Kliknij na górze strony łącze PobierzZamowienia.

16. Kliknij przycisk Invoke (Wywołaj).

Usługa Web Service zwróci wynik w postaci kodu XML, w którym zapisane są wszystkie rekordy tabeli Zamowienia. Kod ten zostanie wyświetlony w nowym oknie przeglądarki.

17. Zamknij okno przeglądarki internetowej.

Tworzenie klienta usługi Web Service

W tym przykładzie przygotujemy klasę pośredniczącą (proxy), wywołującą przygotowaną w poprzednim przykładzie usługę XML Web Service, i umieścimy ją na stronie ASP.NET. Usługa XML Web Service może działać na dowolnym zdalnym serwerze - dzięki temu dane i kod można w prosty sposób rozmieścić w sieci komputerowej.

ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
1. Otwórz aplikację Microsoft ASP.NET Web Matrix. Pojawi się okno dialogowe Add New File.

2. W panelu Templates wybierz pozycję (General).

3. Zaznacz szablon ASP.NET Page.

4. W pole Location wpisz ścieżkę dostępu do pliku.

5. W pole Filename wpisz nazwę pliku mojPierwszyKlientWS.aspx.

6. Z listy rozwijanej Language wybierz pozycję Visual Basic.

7. Kliknij przycisk OK. Strona mojPierwszyKlientWS.aspx otworzy się w widoku Design.

8. Z przybornika z palety Web Controls przeciągnij kontrolki Button i DataGrid na obszar strony. Po przeciągnięciu każdej kontrolki naciśnij klawisz [Enter].

9. Włącz widok Code.

10. Z menu Tools wybierz polecenie WebService Proxy Generator.

Pojawi się okno dialogowe XML Web Service Proxy Generator.

11. W pole WSDL URL wpisz pełny adres URL usługi Web Service przygotowanej w poprzednim przykładzie, np.:http://localhost:8080/mojPierwszyWebService.asmx

Uwaga - WSDL to skrót nazwy Web Services Description Language (język opisu usług Web Service). Język WSDL określa sposób działania usługi XML Web Service i powiadamia klientów, w jaki sposób mogą współpracować z usługą. Dostęp do opisu WSDL można uzyskać, dodając do adresu URL usługi Web Service łańcuch zapytania WSDL, np.:http://localhost:8080/mojPierwszyWebService.asmx?WSDL

12. W pole Namespace wpisz MatrixDemo.

13. Z listy rozwijanej Language wybierz pozycję Visual Basic.

14. W pole Output Directory wpisz ścieżkę dostępu do pliku.

Ważna informacja - środowisko ASP.NET Web Matrix wymaga, aby pliki klasy proxy znajdowały się w tej samej lokalizacji, co pliki wywołującej usługę strony ASP.NET.

Nie zmieniaj domyślnych wartości w polach Source File i Generate Assembly.

15. Kliknij przycisk Generate.

Wyświetli się komunikat potwierdzający utworzenie klasy proxy dla usługi Web Service.

16. Kliknij przycisk OK.

17. Kliknij przycisk Cancel, aby zamknąć okno dialogowe XML Web Service Proxy Generator.

18. Wyświetl stronę w widoku Design i dwukrotnie kliknij kontrolkę Button. Środowisko ASP.NET Web Matrix automatycznie powiąże funkcję obsługi zdarzenia kliknięcia z kontrolką Button, a następnie włączy widok Code.

19. Do funkcji obsługi zdarzenia Button1_Click dodaj kod, który wywoła obiekt proxy dla usługi Web Service, a następnie powiąże wyniki wywołania metody internetowej PobierzZamowienia z kontrolką DataGrid:

Sub Button1_Click(sender As Object, e As EventArgs)

'Sposób deklaracji:

'Dim NazwaZmiennej As New PrzestrzenNazw.Klasa

Dim wsProxy As New MatrixDemo.Przyklad()

DataGrid1.DataSource = wsProxy.PobierzZamowienia()

DataGrid1.DataBind()

End Sub

20. Zapisz stronę, a następnie uruchom ją.

Strona zostanie automatycznie wyświetlona w nowym oknie przeglądarki internetowej.

21. Kliknij przycisk Button.

Kontrolka DataGrid wyświetli wszystkie rekordy tabeli Zamowienia.

22. Zamknij okno przeglądarki internetowej.