0

如何通过 json 传递 HttpContext.Current?

我猜它是这样的:

字符串 hc = HttpContext.Current.toJSON

这是我的情景

我有 20 个 asp.net 站点,我想共享一个使用 http 上下文的 myAddControllsClass。此类将控件添加到实例化它的页面。由于可维护性问题,我不想重复这个类 20 次。我也无法引用 DLL the only way I can do it is via a web service.

//in page load

var my As New myAddControllsClassService.WebService

        my.addControlls(httpContext.Current)

//simplified version of my class
public class myAddControllsClass
{



    public void AddButton()
    {

            //scan controls in the context here

        Page pg = (Page)HttpContext.Current.Handler;

        HtmlButton txtb = new HtmlButton();

        txtb.InnerText = "my button";

        pg.Form.Controls.Add(txtb);

    }


}

你有任何想法如何做到这一点或任何想法?

谢谢你

4

1 回答 1

3

不,你不能那样做。

我给你的页面解释同样适用于这里。

将 Web 服务视为您可以通过 Web 调用、传递参数和接收处理值的方法。

HttpContext.Current与您当前的请求有关。它不能通过 Web 服务传递。不能序列化所有对象。

要将数据传递给 Web 服务,您必须能够序列化数据。套接字连接、文件句柄等无法在 Web 服务中序列化和重建。

像这样共享代码的理想方法是创建一个 dll 并在所有必须共享代码的项目中引用它。为什么你不能那样做?

于 2012-08-21T08:02:11.013 回答