关于ashx文件怎么写合理

你可以将某个功能模块的ajax相关操作放到一个ashx文件中,这样便于管理。 ajax请求该资源文件时候传入方法名,园子里有人贴过相关代码,如下:

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Buffer = true;
            context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
            context.Response.AddHeader("pragma", "no-cache");
            context.Response.AddHeader("cache-control", "");
            context.Response.CacheControl = "no-cache";

            try
            {
                if (HttpContext.Current.Request["cmd"] != null)
                {
                    string cmd = HttpContext.Current.Request["cmd"];
                    var method = this.GetType().GetMethod(cmd);
                    if (method != null)
                    {
                        method.Invoke(this, new object[] { context });
                    }
                }
            }
            catch (Exception ex)
            {

            }
        }

        public void Add(HttpContext context)
        {
                  //相关业务      
        }
public bool IsReusable { get { return false; } }

这里应用反射,直接把耦合降对最低,牺牲了一点性能,把条件判断全部灭掉了。不得不佩服。

原文地址:https://www.cnblogs.com/ygyxinyu/p/2919382.html