你如何抑制对托管方法的直接调用?

时间:2010-01-18 11:31:33

标签: .net methods call managed-code suppress

我想知道这本身是否可行:

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

您可以创建一个新的受限AppDomain来执行客户代码。

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