У меня есть код на моем сервере, который работает очень хорошо. Он должен сканировать несколько страниц на удаленных сайтах для правильной работы. Я знаю, что некоторые пользователи могут захотеть злоупотреблять моим сайтом, поэтому вместо запуска кода, который использует webclient и HttpRequest, я бы хотел, чтобы он работал на стороне клиента, поэтому, если он злоупотребляет, пользователь может иметь свой IP-адрес в черный список вместо моего сервера. Как я могу запустить эту клиентскую часть кода? Я думаю, что Silverlight может быть решением, но я ничего не знаю об этом.запустить код C# на стороне клиента в веб-приложении
ответ
Да, Silverlight - это решение, позволяющее запускать ограниченный набор .NET-кода на компьютере клиента. Просто зайдите в Google для silverlight limitations, чтобы получить дополнительную информацию о том, что недоступно.
Я не знаю, какой сценарий вы пытаетесь реализовать, и нужны ли вам результаты в реальном времени, но я думаю, что кеширование результатов сканирования может быть хорошей идеей?
Если вы после web scraping, вы должны быть в состоянии найти пару фреймворков JavaScript, которые для вас.
Похоже, я мог делать некоторые вещи, которые мне нужны, но мне нужно изменить свой код, чтобы он не стоил того. Ответ правильный и accepeted, похоже, что я напишу/скопирую-вставку в настольное приложение. – 2010-01-07 09:00:06
Я думаю, что ваши варианты здесь Silverlight или somesort настольного приложения
Если возможно, не является библиотекой JQuery или другой язык клиента сценариев, которые могут сделать те же вещи
Это интересный запрос (не каламбур). Если вы используете Silverlight, возможно, вместо того, чтобы портировать свою логику, создайте в нем простой класс Proxy, который получает запросы от вашего серверного приложения и перенаправляет его для грязной работы. То же самое с входящими ответами: попросите прокси-сервера Silverlight вернуть его на серверное приложение.
Таким образом, вы можете запускать свое серверное приложение через прокси-сервер Silverlight в некоторых случаях и самостоятельно (без прокси-сервера) в других сценариях. Плагин silverlight должен обеспечивать совместимый API для программирования независимо от того, в каком браузере он работает.
Если вы используете прокси-решение в веб-браузере, вы даже можете пропустить Silverlight в целом и использовать вызовы JavaScript/AJAX. Конечно, такого рода вещи, как правило, чреваты проблемами совместимости с браузерами, и это наверняка будет неясной реализацией push/pull, но я думаю, что JavaScript может обращаться к доменам и URL-адресам и (в некоторых случаях использования) не ограничиваться тем, возник из.
Если защита Silverlight стоит на месте, вы можете посмотреть на другие виды программируемых плагинов для браузера, таких как Java, Flash и т. Д. Если память правильная, для плагина Java она может общаться только по сети с помощью домен, из которого он произошел. Такая защита слишком ограничительна для ваших потребностей сканирования.
- 1. Код на стороне клиента на серверный код
- 2. Как я могу запустить код на стороне клиента из браузера?
- 3. Запрос на стороне клиента на стороне клиента
- 4. Невозможно запустить socket.io на стороне клиента
- 5. Код на стороне клиента в Meteor?
- 6. отладка на стороне клиента на стороне клиента
- 7. Rikulo на стороне клиента на стороне клиента
- 8. Запустить команду на стороне клиента из браузера
- 9. собственный код отслеживания на стороне клиента
- 10. оптимизировать/улучшить код на стороне клиента
- 11. Посмотреть на стороне клиента Код метеор
- 12. Код с опозданием на стороне клиента
- 13. Мониторинг GWT JavaScript/код на стороне клиента
- 14. WPF-код проверки подлинности на стороне клиента
- 15. Безопасно выполнять код на стороне клиента
- 16. Программирование на стороне клиента на стороне клиента и сервера
- 17. Невозможно ли изменить веб-код на стороне клиента для клиента?
- 18. Запустить код jquery на стороне сервера?
- 19. Проверка на стороне клиента на стороне клиента NetSuite SuiteScript
- 20. catching C# ошибка на стороне клиента
- 21. вызов rest api на стороне клиента C#
- 22. Поведение на стороне клиента
- 23. запустить приложение windows на стороне клиента из aspx.cs
- 24. Как заставить бритву переключиться обратно на код на стороне клиента?
- 25. Ошибка на стороне XSLT на стороне клиента
- 26. На стороне сервера и на стороне клиента
- 27. кнопку Отправить с C# на стороне клиента
- 28. Как запустить программу или пакетный файл на стороне клиента?
- 29. Скорость на стороне клиента
- 30. Как запустить программу на стороне клиента с помощью firefox?
По симметрии, не очень ли просто, чтобы ваш код злоупотреблял машиной вашего клиента? Особенно, если вы получаете (как хотите) доступ к файловой системе клиентской машины. – Tarydon
Silverlight запускается внутри «песочницы», то есть существует множество ограничений по нему по соображениям безопасности (даже в версии 4 вы можете сохранить файл на диске пользователя, но единственная информация, которую вы даете, - это имя файла без пути и экземпляр FileStream). Очень маловероятно, что вы сможете выполнить сканирование веб-страниц из Silverlight, особенно с его междоменной безопасностью. – Rory
@Rory: +1 Совершенно верно. Жаль, что вы не ввели это в качестве ответа. – AnthonyWJones