使用AMF远程与asp.net的MVC(use amf remoting with asp.net

2019-09-17 02:55发布

任何人都知道,如果它是可以做到的闪存使用的呼叫远程AMF对ASP.NET MVC的行动?

如果是,怎么样? 该技术应该被使用和如何将它们结合起来

在闪存方面,它会是这样的:

    //Connect the NetConnection object
    var netConnection: NetConnection = new NetConnection();
    netConnection.connect("http://localhost:59147/Home/Index");

   //Invoke a call
   log("invoke call TestMethod");
   var responder : Responder = new Responder( handleRemoteCallResult, handleRemoteCallFault);
   netConnection.call('TestMethod', responder, "Test");

我想这和它击中的行动,但我不能找到“TestMethod的”和“测试” anyware的请求

谢谢

Answer 1:

我没有一个完整的答案,但是这可能会帮助你开始。

你可以使用FluorineFx,这是一个良好的开端,因为它实现了所有的AMF的东西,它有AMFWriter /读卡器,AMFDeserializer等等,和他们一起玩。

using System.Web.Mvc;
using FluorineFx.IO;

public class AMFFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Request.ContentType == "application/x-amf")
        {
            var stream = filterContext.HttpContext.Request.InputStream;

            var deserializer = new AMFDeserializer(stream);
            var message = deserializer.ReadAMFMessage();

            foreach (var body in message.Bodies) // not foreach, just the first one
            {
                filterContext.ActionParameters["method"] = body.Target;
                filterContext.ActionParameters["args"] = body.Content;
            }

            base.OnActionExecuting(filterContext);
        }
    }
}

[AMFFilter]
[HttpPost]
public ActionResult Index(string method, object[] args)
{
    return View();
}

这仅仅是第一部分。 返回二进制数据之类的东西可以通过某种自定义的ActionResult的处理,而是一个你知道如何从这里做AMF的ActionResult用于asp.net的MVC ?

祝好运。



文章来源: use amf remoting with asp.net mvc