Как вы подавляете прямой вызов управляемому методу?

StackOverflow https://stackoverflow.com/questions/2085645

Вопрос

Я хочу знать, возможно ли это по своей природе:

Подумайте о облачном сценарии. Я позволяю пользователям загружать свой код .NET на мой сервер. Однако, чтобы управлять вещами на моем сервере, я не могу позволить пользователям писать код, который делает прямые вызовы к таким методам, как httpwebrequest.create ().

Если пользователь написал такой код, это будет означать, что он/она пытается связаться с другой веб -службой (например,). Моя цель состоит в том, чтобы эти услуги обслуживали через другой сервер, но при этом основной сервер работал над другими входящими запросами.

Я хочу заблокировать звонки на httpwebrequest.create (). Вместо этого я предоставлю некоторый интерфейс для пользователя для выполнения таких вызовов. Какое решение я могу подумать для этой проблемы?

PS: Я больше ориентирован .NET 2.0. Пожалуйста, будьте конкретны, если вы отвечаете на сделки с более высокой версией

Это было полезно?

Решение

Посмотрите на безопасность доступа к коду (http://msdn.microsoft.com/en-us/library/930b76w0(vs.71).aspx или же http://www.codeproject.com/kb/security/ub_cas_net.aspx)

Вы можете создать новое ограниченное приложение, где выполняется код ваших клиентов.

РЕДАКТИРОВАТЬ: Если вы хотите предоставить своего рода API, который реализует методы, которые нуждаются в HttpwebRequest, я бы посоветовал создать услугу (которая имеет все права), и ваш API вызывает эту услугу. В этой службе вы можете внедрить любые ограничения, которые вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top