Avatar billede jakobverner Nybegynder
04. februar 2005 - 18:07 Der er 4 kommentarer og
1 løsning

Overførsel af variabel til WebMethod

Jeg skal overfører en int-variabel fra min applikation til min WebMethod, men når jeg compiler får jeg denne fejlmeddelelse:
"No overload for method 'HelloWorld' takes '1' arguments"

Applikation ser således ud:
public void button1_Click(object sender, System.EventArgs e)
{   
int x = 10;                           
localhost.HelloWebService myService = new localhost.HelloWebService();
MessageBox.Show (myService.HelloWorld(x));           
}       

Webmetoden ser således ud:
[WebMethod()]
public int HelloWorld(int x)
{           
int z = 2;
z=x+z;
return z;
}
Avatar billede arne_v Ekspert
04. februar 2005 - 18:27 #1
Jeg tror at du skal rebuilde/redeploye/regenerere din web service
Avatar billede Lasse Novice
11. februar 2005 - 19:31 #2
Du skal opdatere din reference til webmetoden i dit projekt.
Avatar billede jakobverner Nybegynder
22. februar 2005 - 12:32 #3
Jeg har fuldt et eksempel fra en bog, som tilsydenladende ordnede problemet, jeg er sku ikke så skarp til det her, så jeg ved faktisk ikke hvorfor at de ny koder ordnede problemet. Men ikke desto mindre virkede det!
Avatar billede Lasse Novice
22. februar 2005 - 16:40 #4
Lidt forklaring:

En webservice er et selvstaendigt program der koerer paa en maskine - lad os kalde den en server. Serveren eksponerer et interface (bla. alle funktioner der er markeret med [WebMethod]), og det er disse funktioner en klient kan kalde. Klienten kan dog ikke vide paa forhaand hvilke ting den maa foretage sig paa serveren, og derfor skal man oprette en reference til serveren foer man tager den i brug. Idet visual studio(VS) opretter en reference til serveren(hvilket goeres een gang for alle), saa genererer VS kode paa klienten der kan kontakte de forskellige eksponerede funktioner paa serveren. I tilfaelde af at man senere paa server siden aendrer en funktion(f.eks. aendrer argument antallet til en funktion), saa har klienten et problem eftersom den ikke ved hvordan den skal kalde denne funtion. For at loese dette skal man i VS hoejreklikke paa webservice referencen og klikke opdater web reference. Opdateringen sletter foerst den gamle reference og opretter paa ny en reference til webserveren(een gang for alle igen).

Jeg tror simpelthen at du har aendret noget paa serveren(webservicen), derefter har du opdateret dit kald til funktionen paa klient siden, men eftersom du har glemt at opdatere referencen til webservicen, saa meddeler compileren at der ikke eksisterer en metode der kun tager et argument.
Avatar billede jakobverner Nybegynder
22. februar 2005 - 17:32 #5
gooky din forklaring lyder sandsynlig, og tak for forklaringen omkring en ideen med en webservice. Jeg ved ikke om det var det der var galt, men du har gjort en fin indsats for at finde en forklaring på mit spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester