0

我想知道这是否本质上是可能的:

想想云场景。我允许用户将他们的 .net 代码上传到我的服务器上。但是,为了管理我的服务器上的东西,我不能允许用户编写直接调用诸如 HttpWebRequest.Create() 之类的方法的代码。

如果用户编写了这样的代码,则意味着他/她正在尝试联系另一个 Web 服务(例如)。我的目标是通过另一台服务器提供这些服务,但仍然让主服务器处理其他传入请求。

我想阻止对 HttpWebRequest.Create() 的调用。相反,我将为用户提供一些接口来进行此类调用。对于这个问题,我能想到什么样的解决方案?

PS:我更倾向于.net 2.0。如果您回答与更高版本的交易,请具体说明

4

1 回答 1

1

查看代码访问安全性(http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspxhttp://www.codeproject.com/KB/security/UB_CAS_NET.aspx )

您可以创建一个新的受限 AppDomain,在其中执行您的客户代码。

编辑:如果您想提供一种 API 来实现需要 HttpWebRequest 的方法,那么我建议创建一个服务(拥有所有权利)并且您的 API 调用该服务。在该服务中,您可以实施您想要的任何限制。

于 2010-01-18T11:36:40.160 回答