|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Petro123, Я правильно понял, что всё таки примера "Hello World" на JS у тебя нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:15 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_BPetro123, Я правильно понял, что всё таки примера "Hello World" на JS у тебя нет? Ты сегодня агрессивный. Вставил батник в студию, Lua пропустил и занялся JS который на другой ветке форума. Тебе дело делать или подкалывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:36 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Кстати, не надо вставлять в студию js или другой скриптовый язык. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 17:38 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_BКонечно, если скрипт можно сделать на самом C# будет лучше. упрощенный пример вызова скрипта на C# Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 01:23 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
с такими простыми скриптами на C# главная проблема - обеспечить безопасность, т.к. скриптописателю может предоставиться слишком много разных возможностей... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 01:28 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1Gс такими простыми скриптами на C# главная проблема - обеспечить безопасность, т.к. скриптописателю может предоставиться слишком много разных возможностей... +1 Это считай программирование, только сложнее в квадрате. Хакерство. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 07:01 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1G, спасибо! Весьма интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 09:35 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Vladimir BaskakovL1G, спасибо! Весьма интересно +1 Думаю, так и буду делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 13:30 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1Gс такими простыми скриптами на C# главная проблема - обеспечить безопасность, т.к. скриптописателю может предоставиться слишком много разных возможностей... 1. По поводу безопасности - человек, имеющий доступ к серверу и БД(тем более - административный) обладает всеми необходимыми правами, что бы обойти любую безопасность. 2. Если я правильно понял, то я должен там подключать сборки через строку. Соответственно, на входе только текст, а сборки уже подключаются только те которые захочу я. Код: c# 1.
3. п.2 делается не сколько для безопасности, а что бы говнокода была меньше. По моему замыслу скрипт это текст, ограниченный операторами. Чем меньше - тем лучше(до разумного минимума). Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 13:44 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_B, да, сборки подключаются только те, которые прописаны в параметрах но вам скорее всего придется прописать туда что-то из ваших сборок (если скрипт должен иметь доступ не только к стандартным типам фреймворка) тогда скрипт будет иметь доступ ко всему публичному в них (и даже к protected, если в нем описать наследника вашего класса: если добавить в скрипт постфикс (в примере - "} }") то можно "сбежать из песочницы" описанных в префиксе класса и метода) один из простейших вариантов "защиты" - черный список запрещенных в скрипте слов и предварительный парсинг скрипта с его проверкой. вплоть до запрета символа "}" )) для упрощения языка скрипта можно завести список пар слов что и на что заменять и прогонять по нему (лучше работать с тегами, то есть последовательностями символов, допустимых для ключевиков и идентификаторов C# и ограниченными символами-разделителями, игнорируя строковые константы и комментарии) (так можно дойти и до своего DSL-языка, транслируемого в C#) есть набросок такого тег-реплейсера с построением карты соответствий позиций в исходном и "оттранслированном" тексте это нужно для "подсветки" ошибок в тексте именно вашего скрипта (не "оттранслированного") исходя из позиций ошибок, выдаваемых компилятором интересно? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 16:36 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1G, Ужос. Но он вроде говорил что все пользователи у него с админскими правами. Тогда пофигу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 16:53 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1G, Сперва спасибо за ответ) L1Gно вам скорее всего придется прописать туда что-то из ваших сборок Да, именно так я и хотел. Ты догадался о всём без слов) L1Gодин из простейших вариантов "защиты" - черный список запрещенных в скрипте слов и предварительный парсинг скрипта с его проверкой. вплоть до запрета символа "}" )) Я не уверен, что сейчас буду заниматься проблемой защиты от самого себя) Потом может нужно подумать, а сейчас пока надо заставить это всё заработать) Пока главное, что бы этим было быстро и удобно пользоваться. L1Gесть набросок такого тег-реплейсера...интересно? Видимо у тебя уже есть аналогичный опыт) Если ты считаешь, что они наброски могут быть полезны, выкладывай можно посмотреть. Я так понял,что в результате это всё равно сводиться к String.Replace перед обработкой скрипта. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 19:43 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Я так понял, что именно Pascal-script отсутствует на платформе .NET. Но зато есть много альтернатив вроде приведённых: IronPyton IronJS C# Script - Как оказалось встроенного в сам C# И некий LUA - В котором Hello world в консоль я так и не понял как вывести. Так тоже неплохо - есть куда копать) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 19:56 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_B, вот проектик с окном "редактора скрипта" заменялка - в классе TokenReplacer внизу - таблица для списка ошибок, выдаваемых компилятором, можно даже подсветить место каждой ошибки (двойным кликом по строке) всё осталось на игрушечном уровне (в работу не пошло, почему-то решили использовать Lua) для передачи скрипту контекста навскидку можно использовать параметры метода (жестко прописать их в префиксе), хотя могут найтись и другие способы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 20:00 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Ок, спс) Оказывается, не только мою голову посещают такие мысли) Напрашивается вывод, что после месяца танца с бубном я тоже переду на LUA) L1Gвнизу - таблица для списка ошибок, выдаваемых компилятором Я так это себе и представлял +- ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 20:21 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_B, на Lua придется повозиться с интеграцией (доступом из скрипта к куче разных полей/свойств/методов ваших объектов), а c C# вообще ничего и делать-то не нужно (ну, почти) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2018, 20:44 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1GLua придется повозиться с интеграциейкак раз это правильно чтобы не было лапшекода по архитектуре. Скрипты - плагины не перемешивают с БЛ основного приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 09:44 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_BLua, В котором Hello world в консоль я так и не понял как вывести.не видно что ты пробовал в этом треде. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 09:59 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_BЯ так понял, что именно Pascal-script отсутствует на платформе .NET.в дельфях тоже это используют на мизерном количестве проектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 10:02 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_B, Попробуй Microsoft ClearScript (поддерживает JavaScript и VBScript). Если собирать вручную не хочется, то можно установить неофициальный NuGet-пакет . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 21:01 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
На всякий случай: если нужен JScript, VB или даже С++ - мой простой способ тоже работает. просто заменить в примерах CSharpCodeProvider на другой *CodeProvider (еще соответствующие using и референс на сборку и, конечно, префикс с суффиксом) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 23:59 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1G, "мой способ" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 00:06 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Valery_BОк, спс) Оказывается, не только мою голову посещают такие мысли) Напрашивается вывод, что после месяца танца с бубном я тоже переду на LUA) L1Gвнизу - таблица для списка ошибок, выдаваемых компилятором Я так это себе и представлял +- вопрос в другом - во всю бизнес-логику распихать места, в которых могут вызываться функции, нарисованные пользователем; это сначала - а потом когда эти юзерские расширения начнут драться между собой и приводить к неустойчивой работе всей системы в целом - как это отлаживать..... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 10:06 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
Vladimir Baskakovкак это отлаживать.....не вижу особых трудностей реализовать формирование из скриптов файлов (лучше - 1 файла) *.cs, которые можно добавлять к остальным исходникам проекта. и в режиме отладки заменять компиляцию скриптов на загрузку готовой сборки. тогда можно отлаживать как обычно btw, насчет С++ я погорячился. не компилит его СppCodeProvider ( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:47 |
|
Pascal Script(или другой) на Asp.Net C#
|
|||
---|---|---|---|
#18+
L1GVladimir Baskakovкак это отлаживать.....не вижу особых трудностей реализовать формирование из скриптов файлов (лучше - 1 файла) *.cs, которые можно добавлять к остальным исходникам проекта. и в режиме отладки заменять компиляцию скриптов на загрузку готовой сборки. тогда можно отлаживать как обычно btw, насчет С++ я погорячился. не компилит его СppCodeProvider ( Если включать код юзера в проект - размывается зона ответственности и соответственно - кто покрывает убытки в случае проблем. То есть, при применении технологии вылезают организационные проблемы. а так да можно дать юзеру заменять dll в которой ф-ции по перечню которые основной код дергает в триггерных точках..... и пусть хоть на чем хотят на том и кастомизируют. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 18:58 |
|
|
start [/forum/topic.php?fid=18&msg=39702425&tid=1355139]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 143ms |
0 / 0 |