Avatar billede woodbase Nybegynder
22. februar 2006 - 12:04 Der er 1 kommentar og
1 løsning

System.Timers virker ikke i web-service?

Jeg har lavet denne kode:

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Timers;

[WebService(Namespace = "http://services/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    private Timer controlInterval = new Timer(1000);
    private static int i = 0;

    public Service () {
       
    }

   

    [WebMethod]
    public String runBackUpService(){
        controlInterval.Interval = 500;
        controlInterval.Enabled = true;
        controlInterval.BeginInit();
        controlInterval.Elapsed += new ElapsedEventHandler(controlInterval_Elapsed);
        controlInterval.Start();
        return "Running";
    }

    private static String UpdateBackup()
    {
        i++;
        return "Service has elapsed: " + i + " times";
    }

    private static void controlInterval_Elapsed(object sender, ElapsedEventArgs e)
    {
        UpdateBackup();
    }
}


Jeg forsøger blot at få servicen til at opdatere teksten, hvorfor virker det ikke??? :'(
Avatar billede nielslbeck Nybegynder
22. februar 2006 - 20:58 #1
Et kald af en webservice består af et enkelt metodekald på serveren. Din runBackUpService er i dette tilfælde det metodekald, som du udfører. Når metodekaldet er udført, får du et svar tilbage fra metodekaldet - i dette tilfælde strengen "Running". Hvad der derefter sker på serveren, får du ikke noget at vide om, da forbindelsen til serveren er afbrudt igen (sådan fungerer HTTP). Du får altså ikke beskeden "Service has elapsed: xxx times" (som jeg går ud fra, er den besked du gerne ville ha'?). Dette kan ikke lade sig gøre via en webservice! Så i din [WebMethod] skal du altid returnere det, som du har brug for - i dette tilfælde skal metoden altså returnere "Service has elapsed: xxx times".

Så nej, System.Timers virker ikke i webservices :-(
Avatar billede woodbase Nybegynder
22. februar 2006 - 22:57 #2
nej... fandt ud af at det jeg havde brug for ikke var en web-service, men en Windows Service. :-S *Damn them n00bs*
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