标签:style blog http color 使用 io ar for div
使用asp.net mvc习惯了,最近项目中又开始使用asp.net,有大量的ajax方法调用,之前有两种方法来处理:
最近研究了一下用反射方法来做,把类中所有公开方法都通过反射找出存到字典中,调用时匹配字典中的key,看是否有此方法。
以下是我写的方法,这种方法我总结有以下优点:
但是我不知道这样写,会不会有性能损耗,是否还有优化的地方,欢迎大家指点。
public class NewServices : IHttpHandler { private static readonly IDictionary<string, MethodInfo> Services = new Dictionary<string, MethodInfo>(StringComparer.OrdinalIgnoreCase); public void ProcessRequest(HttpContext context) { var action = context.Request["action"]; if (action.IsNotNullAndWhiteSpace() && Services.ContainsKey(action)) { try { Services[action].Invoke(new NewServicesApi(context), null); } catch (Exception ex) { context.WriteJson(new JsonResultInfo().SetError(ex.Message)); } } else { context.WriteJson(new JsonResultInfo().SetError("{0}方法不存在!".FormatWith(action))); } } static NewServices() { Services.Clear(); var methods = typeof(NewServicesApi).GetMethods(BindingFlags.Public | BindingFlags.Instance); foreach (var m in methods) { Services.Add(m.Name, m); } } public bool IsReusable { get { return false; } } } internal class NewServicesApi { private HttpContext context; private HttpRequest Request; private HttpResponse Response; public NewServicesApi(HttpContext context) { this.context = context; Request = context.Request; Response = context.Response; } public void Test() { Response.Write("test"); } }
标签:style blog http color 使用 io ar for div
原文地址:http://www.cnblogs.com/lizhanglong/p/3945727.html