Exemple #1
0
        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>");
        }
Exemple #2
0
    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());
    }
Exemple #4
0
        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();
        }
Exemple #5
0
        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>");
        }