Avatar billede mrbonus Novice
11. april 2005 - 13:50 Der er 4 kommentarer og
1 løsning

kalde videre fra en WebService til en Windows Form

Er det muligt på en eller anden fiks måde at få en webService til at kalde videre til en windows Form, WebServicen ligger på samme computer som Formen køres på.

Jeg arbejder i C#.NET, i Visual Studio. Det første jeg prøvede var at lave en event i webservicen, som formen så kunne sætte en lytter på, men man kunne ikke se eventen når jeg oprettede en instans af webservicen i formen. Den eneste event jeg kunne se var "Dispose". Dette tyder jo på at det kan lade sige gøre at lave events i en webservice, men hvordan??


eks.

public delegate bool ErrorReceivedHandler(object sender, MessageEventArgs e);

public class Test
{

public event ErrorReceivedHandler errorReceived;
       
public bool onErrorReceived(ErrorMessageArrayEventArgs e)
{
    if (errorReceived != null)
    {
        return errorReceived(this, e);
    }
    else
    {
        return false;
    }
}

[WebMethod]
public bool sendMessage(string message)
{
    return this.onErrorReceived(this, new EventArgs())
}


Hvis man tilføjede webservicen til formen, kan man så ikke se eventen 'errorReceived'.

Nogen der kan hjælpe en snart meget stresset mand.
Avatar billede arne_v Ekspert
11. april 2005 - 17:53 #1
Øh.

En web service er normalt hostet i ASP.NET

En windows form er en standalone applikation

Min umiddelbare formening er at du skal redesigne lidt

Principielt kan du:

X---(web service)---hostet web service---(remoting eller socket)---GUI app

men det ser lidt mystisk ud
Avatar billede mrbonus Novice
11. april 2005 - 18:23 #2
Ja, men der er allerede 1 event på en WebService, nemlig Dispose. så det må da være muligt at lave sine egne.
Avatar billede mrbonus Novice
11. april 2005 - 18:26 #3
og man kan med en windows form sætte en lytter på webservicen's Dispose event og se om den lukker ned.
Avatar billede burningice Nybegynder
13. april 2005 - 20:13 #4
som arne siger, så giver dit scenario ingen ingen mening overhovedet.

Hvis det er fordi at du gerne vil kunne logge forskellige events i din webservice, så prøv at kig på et produkt som log4net (http://logging.apache.org/log4net/)
Avatar billede mrbonus Novice
14. maj 2005 - 10:15 #5
Jeg løste problemet med at bruge named pipes, jeg ved ikke om i misforstod mig, men det der var meningen var at få webservicen til at sende input til win-formen. og det fik jeg i hvert fald til at virke med named pipes
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