ASP.NET / Web services / Kald af web-services
|
Søger du et "rigtigt" ASP.NET kursus?
Ja, jeg holder ikke kun fjernundervisningskurser
- jeg kan også komme ud i din virksomhed og undervise med
udgangspunkt i jeres data og udfordringer.
|
|
Kald af web-services
Der er en enkelt ting vi skal have på plads for at vi kan kalde vores web-service
- Vi skal have etableret en proxy (forbindelse) til web-serveren
Visual Studio .NET
Etablering af proxy (reference)
For at oprette en forbindelse til en web-service i Visual Studio .NET vælges Project | Add Web Reference ...

Klik på Go og Add Reference.
Kald af webservice
Når man vil bruge webservicen fra sin kode skal man øverst i codebehind filen sørge for at importere referencen med linjen:
Imports Udvikling.dk.kursusmaterialer.www
(hvor Udvikling erstattes med navnet på dit projekt - brug evt. class browseren til at finde klassen)
using Udvikling.dk.kursusmaterialer.www;
Dernæst kan man med denne lille kodestump kalde web-servicen:
VB.NET
Dim ws As New Webservicetest
lblResultat.Text = ws.KilometerTilMiles(txtKm.Text)
DataGrid1.DataSource = ws.DuckTown()
DataGrid1.DataBind()
C#
Webservicetest ws = new Webservicetest();
lblResultat.Text = ws.KilometerTilMiles(Convert.ToDecimal(txtKm.Text)).ToString();
DataGrid1.DataSource = ws.DuckTown();
DataGrid1.DataBind();
WebMatrix
Etablering af proxy
Vi får heldigvis hjælp i WebMatrix til at etablere denne proxy :-)
Gå ind i Tools menuen og vælg Webservice Proxy Generator - udfyld informationerne på siden


Denne proces genererer en .dll fil, der skal ligge i bin folderen på din web-server og så er du klar til at bruge servicen.
Kald af webservice
Nedenfor er der en meget simpel lille kodestump, der udnytter én af de to funktioner i den web-service vi skrev før.
<%@ Page Language="VB" %>
<%@ Import namespace="nsService" %>
<script runat="server">
Sub cmdKnap_Click(sender As Object, e As EventArgs)
Dim ws As new nsService.Thors()
lblResultat.Text = ws.KilometerTilMiles(txtKm.Text)
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
Km <asp:TextBox id="txtKm" runat="server"></asp:TextBox></p>
<p><asp:Label id="lblResultat" runat="server">Label</asp:Label></p>
<p>
<asp:Button id="cmdKnap" onclick="cmdKnap_Click" runat="server"
Text="Beregn"></asp:Button></p>
</form>
</body>
</html>
Søgning med Google
Google tilbyder en fin web-service, der gør at man kan bruge Google som søgemaskine på sit site! (du kan teste det her på sitet). Du kan læse mere om servicen her (hos Google). Selve servicen har adressen: http://api.google.com/GoogleSearch.wsdl. Nedenfor kan du se min kode:
<%@ Page Language="vb" %>
<%@ import Namespace="Google" %>
<script runat="server">
Sub cmdKnap_Click(sender As Object, e As EventArgs)
Dim ws As new Google.GoogleSearchService()
Dim r as new Google.GoogleSearchResult()
Dim rs as New Google.ResultElement
r = ws.doGoogleSearch(" ** kode, der udleveres af Google **",_
"site:www.kursusmaterialer.dk " + txtSearch.Text,0,10,true,"",false,"","","")
lblResultat.Text ="<hr/>"
If r.resultElements.Length <> 0 Then
For each rs in r.resultElements
lblResultat.Text += "<a class='searchTop' href='"+rs.Url + "'>"+ rs.title_
+ "</a><br/> "+rs.snippet+"<br/>" + "<a class='searchBottom' href='"+_
rs.Url+"'>"+rs.url+"</a><br/><br/>"
Next
lblResultat.Text += "<hr/>"
Else
lblResultat.Text += "<p>Der blev desværre ikke fundet noget</p><hr/>"
End if
End Sub
</script>
<html>
<head>
<title>Kursusmaterialer - Søg - Thor Østergaard</title>
</head>
<body>
<h1>Søg og du skal finde</h1>
<form runat="server">
<b>Hvad vil du finde: </b>
<asp:TextBox id="txtSearch" runat="server"></asp:TextBox>
<asp:Button id="cmdKnap" onclick="cmdKnap_Click" runat="server" Text="Søg"></asp:Button>
<asp:Label id="lblResultat" runat="server"></asp:Label>
</form>
</body>
</html>
Når du har betalt for kurset får du adgang til øvelser til hver lektion.
Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.<<- Etablering af en web-service
Modeller ->>