public void AnActorCanTellAnotherOne() { var messageFactory = new XmlMessageFactory(); var a1 = new XmlActor.ActionWithFilter { Action = (message, sender, self, resource, ms, logger) => TestActor.Tell(XmlMessage.FromString("<message>done</message>")), Filter = AlwaysTrue }; var actor1 = Sys.ActorOf(Props.Create(() => new XmlActor( new [] { a1 }, null, messageFactory, null, null)), "actor1"); var a2 = new XmlActor.ActionWithFilter { Action = (message, sender, self, resource, ms, logger) => actor1.Tell(XmlMessage.FromString("<message>OK received</message>")), Filter = AlwaysTrue }; var actor2 = Sys.ActorOf(Props.Create(() => new XmlActor( new [] { a2 }, null, messageFactory, null, null)), "actor2"); actor2.Tell(XmlMessage.FromString("<message>OK?</message>"), TestActor); ExpectMsg <XmlMessage>(message => message.Content == "<message>done</message>"); }
protected void Page_Load(object sender, EventArgs e) { AbstractMessageFactory amf = new SqlMessageFactory(); Message m = new Message(amf); Response.Write(m.Insert("admin", "Sql方式", DateTime.Now)); Response.Write("<br />"); amf = new XmlMessageFactory(); m = new Message(amf); Response.Write(m.Insert("user", "Xml方式", DateTime.Now)); }
protected void Page_Load(object sender, EventArgs e) { AbstractMessageFactory amf = new SqlMessageFactory(); AbstractMessage am = amf.CreateMessage(); Response.Write(am.Insert(new MessageModel("插入", DateTime.Now))); Response.Write("<br />"); Response.Write(am.Get()[0].Message + " " + am.Get()[0].PublishTime.ToString()); Response.Write("<br />"); amf = new XmlMessageFactory(); am = amf.CreateMessage(); Response.Write(am.Insert(new MessageModel("插入", DateTime.Now))); Response.Write("<br />"); Response.Write(am.Get()[0].Message + " " + am.Get()[0].PublishTime.ToString()); }
public void AnActorCanBeAskedFromOutside() { var a1 = new XmlActor.ActionWithFilter { Action = (message, sender, self, resource, ms, logger) => sender.Tell(XmlMessage.FromString("<message>OK!</message>"), self), Filter = AlwaysTrue }; var messageFactory = new XmlMessageFactory(); var actor1 = Sys.ActorOf(Props.Create(() => new XmlActor( new[] { a1 }, null, messageFactory, null, null)), "actor1"); var r = new ActorRefMessageReceiver <XmlMessage>(actor1) .AskAsync(XmlMessage.FromString("<message>test</message>"), messageFactory) .Result; r.Match(@"message[. = ""OK!""]").Should().BeTrue(); }
public void AnActorCanAskAnotherOne() { var messageFactory = new XmlMessageFactory(); var a1 = new XmlActor.ActionWithFilter { Action = (message, sender, self, resource, ms, logger) => sender.Tell(XmlMessage.FromString("<message>OK!</message>"), self), Filter = AlwaysTrue }; var actor1 = Sys.ActorOf(Props.Create(() => new XmlActor( new[] { a1 }, null, messageFactory, null, null)), "actor1"); var a2 = new XmlActor.AsyncActionWithFilter { Action = async(message, sender, self, resource, ms, logger) => { var r = await new ActorRefMessageReceiver <XmlMessage>(actor1) .AskAsync(XmlMessage.FromString("<message>OK?</message>"), messageFactory); Assert.Equal("<message>OK!</message>", r.Content); TestActor.Tell(XmlMessage.FromString("<message>done</message>")); }, Filter = AlwaysTrue }; var actor2 = Sys.ActorOf(Props.Create(() => new XmlActor( null, new[] { a2 }, messageFactory, null, null)), "actor2"); actor2.Tell(XmlMessage.FromString("<message>test</message>")); ExpectMsg <XmlMessage>(message => message.Content == "<message>done</message>"); }