代码之家  ›  专栏  ›  技术社区  ›  deostroll

如何禁止直接调用托管方法?

  •  0
  • deostroll  · 技术社区  · 14 年前

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

    想想云的场景。我允许用户将他们的.NET代码上传到我的服务器上。但是,要在我的服务器上管理事务,我不能允许用户编写直接调用httpwebrequest.create()等方法的代码。

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

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

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   Arthur    14 年前

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

    您可以在执行客户代码的位置创建新的受限AppDomain。

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

    推荐文章