C#.NET Webservice (asmx) "Threadsicher"?



  • Hallo,

    ich habe einen Webservice, in dem erst Datenbank-Einträge gelöscht, dann aktualisiert/eingefügt werden. Bei jedem Aufrufer.

    Meine, vielleicht blöde, Frage: Wird bei jedem Aufrufer eine neue Instanz des von System.Web.Services.WebService abgeleiteten Objekts erstellt, oder muss ich mich "von Hand" um "Threadsicherheit" kümmern?

    Konkret ist da sowas wie:

    DeleteFromDataBase()
    irgendwas()
    InsertIntoDataBase()

    Es wäre übel, wenn zwischen Delete und Insert ein Benutzerwechsel stattfinden würde.

    Ich gehe stark davon aus, dass es NICHT der Fall ist. Das wäre ein Armutszeugnis für .NET-Webservices. Hätte nur gern Sicherheit 😉

    Viele Grüße, tawa



  • Ein Webservice ist nichts anderes als eine Webseite welche den Datenaustausch mittels XML macht.
    Um was Du dich kümmern muss ist ob du etwas löscht was ein ein andere gerade einfügt.
    Verschiedenen Aufrufe sind sich da aber nicht im Weg sonst würden Webseiten ja auch nicht funktionieren.
    Wie DU das mit der DB machst weiß ich nicht da ich nicht sagen kann was du löschst oder einfügst.
    Um eine User zu identifizieren kannst Du z.B. Cookies verwenden oder einen Session oder ähnliches.
    Den Rest macht der Webserver für Dich.



  • Hi,

    tawa schrieb:

    [...]

    Es wäre übel, wenn zwischen Delete und Insert ein Benutzerwechsel stattfinden würde.

    Ich gehe stark davon aus, dass es NICHT der Fall ist. Das wäre ein Armutszeugnis für .NET-Webservices. Hätte nur gern Sicherheit 😉

    Welcher Webservice weiß denn wie der Zugriff auf Deine Resourcen gesteuert werden soll? Das ist immer ganz Dir überlassen.


Anmelden zum Antworten