首页 > 解决方案 > 可以在 ASP.NET 中使用自己的代码拦截 Response.Write

问题描述

在我的项目中,我有很多处理程序,每个处理程序都有数百个函数。

public class DataHandler1 : IHttpHandler, IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
            switch (CommandName)
            {
                case "GetTime":
                    GetTime(context);
                    break;
                ....
            }
    }

    private void GetTime(HttpContext context)
    {
        string str = ...;
        context.Response.Write(str);
    }

每个函数读取Request.QueryString和写入结果为Response.Write

处理函数示例

最初这个处理程序的想法是只从 JS 调用它,但现在我需要从服务器端(ASP.NET Classic)执行这个处理程序。重写大量函数或为服务器端执行创建双重代码是不可能的。

Response.Write因此,最好的解决方案看起来像是以这种方式在我自己的代码中接收简单字符串的重载和覆盖。

var X = new DataHandler1(context, myCurrentUserDM);
string ResponseWriteResult = X.GetTime.RequestQueryString("?a=1&b=2&c=3");

这可能吗?

标签: c#asp.net

解决方案


推荐阅读