Et site med kursusmaterialer, der bruges i forbindelse med undervisning i forskellige it relaterede emnerEn skøn grafik du kan nyde mens der undervises.
   

Send spørgsmål eller kommentar til Thor - klik her: Send en kommentar til Thor - omkring undervisning eller kursus  Søg i kursusmaterialerne. Kan bruges i forbindelse med undervisningen eller efter kurset  Til forsiden af kursusmaterialer.dk 

 

ASP.NET II / Webservices / Kald af web-services


ASP.NET fjernundervisningskursus

- Vil du gerne på kursus NU?

- Vil du gerne lære i dit eget tempo?

- Har du ikke tid til at tage på kursus ude i byen?

Så køb et kursus i ASP.NET som fjernundervisning på www.it-fjernundervisning.dk


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>

Opgave

  • Prøv om du kan få det til at virke. Du er velkommen til at forsøge at bruge min webservice på www.kursusmaterialer.dk, men du kan også få lagt din egen op
  • Prøv at finde en web-service på f.eks. www.bindingpoint.com og skriv en fil, der bruger den.

 

Kan du ikke lige finde noget har jeg fundet et par stykker (der virkede da jeg satte dem ind her)

http://www.seshakiran.com/QuoteService/QuotesService.asmx - giver et tilfældigt citat.

http://ws.cdyne.com/ip2geo/ip2geo.asmx - giver geografiske informationer om et ip-nummer.

http://www.vinsurance.com/datedifference/datedifference.asmx - giver forskellen mellem to datoer

 

   
Spacer Spacer Spacer Spacer