Как вы подавляете прямой вызов управляемому методу?
-
21-09-2019 - |
Вопрос
Я хочу знать, возможно ли это по своей природе:
Подумайте о облачном сценарии. Я позволяю пользователям загружать свой код .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 вызывает эту услугу. В этой службе вы можете внедрить любые ограничения, которые вы хотите.