Избегайте дублирования логики в JavaScript и C # - PullRequest
1 голос
/ 12 августа 2011

Я пишу мастер, который позволяет пользователям отображать строки в свойствах объекта.Это делается с помощью некоторых предопределенных правил, которые пользователь выбирает и предоставляет аргументы.Эти наборы правил сохраняются в базе данных и запускаются позже через сервисные вызовы.

Проблема в том, что в моем мастере он выделяет и обновляет некоторый пример текста, когда пользователь выбирает правила и вводит аргументы.Это делается с использованием JavaScript, поэтому очевидно дублирует логику, содержащуюся в правилах C #.

Так что я ищу способы обойти это.

Правила довольно просты и содержат толькосписок аргументов для применения и единственный метод, который принимает входную строку и возвращает результат.

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Вы можете использовать AJAX для отправки данных в бэкэнд, их обработки и размещения в нужном месте. Это не будет дублировать эту логику тогда. Вам, вероятно, потребуется сохранить немного кода JS, чтобы экран и служба были подключены.

0 голосов
/ 12 августа 2011

У меня похожая ситуация с JavaScript и Java. Мое решение состояло в том, чтобы просто использовать JavaScript: на клиенте, который запускается браузером На сервере, в моем случае, он скомпилирован с Rhino (JavaScript для JVM), но в обоих случаях это один и тот же исходный код.

Платформа .Net поддерживает JScript.Net , что очень похоже на JavaScript. Я ожидаю, что без слишком больших усилий вы могли бы написать код один раз, в JavaScript, и сделать так, чтобы JScript.Net скомпилировал его в модуль, который вы могли бы использовать на стороне сервера, вместе с вашим кодом C #.

...