MailboxProcessor.Post<'Msg>-Methode (F#)
Sendet asynchron eine Meldung an die Meldungswarteschlange des MailboxProcessor.
Namespace/Modulpfad: Microsoft.FSharp.Control
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
member this.Post : 'Msg -> unit
// Usage:
mailboxProcessor.Post (message)
Parameter
message
Typ: 'MsgDie Meldung, die übermittelt werden soll.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie ein Postfachprozessor-Agent gestartet wird und Nachrichten an ihn gesendet werden.
open System
open Microsoft.FSharp.Control
type Message(id, contents) =
static let mutable count = 0
member this.ID = id
member this.Contents = contents
static member CreateMessage(contents) =
count <- count + 1
Message(count, contents)
let mailbox = new MailboxProcessor<Message>(fun inbox ->
let rec loop count =
async { printfn "Message count = %d. Waiting for next message." count
let! msg = inbox.Receive()
printfn "Message received. ID: %d Contents: %s" msg.ID msg.Contents
return! loop( count + 1) }
loop 0)
mailbox.Start()
mailbox.Post(Message.CreateMessage("ABC"))
mailbox.Post(Message.CreateMessage("XYZ"))
Console.WriteLine("Press any key...")
Console.ReadLine() |> ignore
Beachten Sie folgende Sitzung.
Plattformen
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Versionsinformationen
F#-Runtime
Unterstützt in: 2.0, 4.0
Silverlight
Unterstützt in: 3
Siehe auch
Weitere Ressourcen
Control.MailboxProcessor<'Msg>-Klasse (F#)
Microsoft.FSharp.Control-Namespace (F#)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Januar 2011 |
Codebeispiel hinzugefügt. |
Informationsergänzung. |