IAjaxProcessor.cs
上传用户:szgaoree
上传日期:2009-01-05
资源大小:74k
文件大小:2k
源码类别:

Ajax

开发平台:

C#

  1. using System;
  2. using System.Web;
  3. using System.Reflection;
  4. namespace AjaxPro
  5. {
  6. public abstract class IAjaxProcessor
  7. {
  8. protected HttpContext context;
  9. protected Type type;
  10. protected MethodInfo method;
  11. public IAjaxProcessor(HttpContext context, Type type)
  12. {
  13. this.context = context;
  14. this.type = type;
  15. }
  16. #region Internal Properties
  17. internal bool CanHandleRequest
  18. {
  19. get
  20. {
  21. return Method != null;
  22. }
  23. }
  24. internal HttpContext Context
  25. {
  26. get
  27. {
  28. return context;
  29. }
  30. }
  31. internal Type Type
  32. {
  33. get
  34. {
  35. return type;
  36. }
  37. }
  38. #endregion
  39. #region Virtual Members
  40. public virtual bool IsValidAjaxToken(string serverToken)
  41. {
  42. if(Utility.Settings == null || !Utility.Settings.TokenEnabled)
  43. return true;
  44. if(System.Web.HttpContext.Current == null || System.Web.HttpContext.Current.Request == null)
  45. return false;
  46. string token = System.Web.HttpContext.Current.Request.Headers["Ajax-token"];
  47. if(serverToken != null && token == serverToken)
  48. return true;
  49. return false;
  50. }
  51. public virtual object[] RetreiveParameters()
  52. {
  53. return null;
  54. }
  55. public override int GetHashCode()
  56. {
  57. throw new NotImplementedException();
  58. }
  59. public virtual string SerializeObject(object o)
  60. {
  61. return "";
  62. }
  63. public virtual bool IsEncryptionAble
  64. {
  65. get
  66. {
  67. return false;
  68. }
  69. }
  70. public virtual MethodInfo Method
  71. {
  72. get
  73. {
  74. throw new NotImplementedException();
  75. }
  76. }
  77. #endregion
  78. }
  79. }