通过json传递HttpContext.Current或从Web服务实例化对象

时间:2012-08-21 07:12:21

标签: c# json

如何通过json传递HttpContext.Current?

我猜它是这样的:

string hc = HttpContext.Current.toJSON

这是我的senario

我有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);

    }


}

你知道怎么做这个或任何想法吗?

谢谢

1 个答案:

答案 0 :(得分:3)

没有。你不能这样做。

同样的explanation I gave you for a page也适用于此。

  

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

HttpContext.Current符合您当前的要求。它不能通过Web服务传递。无法序列化所有对象。

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

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