Вспомогательные функции ASP в ASP.NET - PullRequest
1 голос
/ 13 января 2009

Я смотрю на преобразование веб-сайта из классического ASP в ASP.NET. Я думаю о гибком подходе к стилю и предоставлении результатов как можно быстрее, поэтому я думаю о построчном преобразовании и создании «плохого» ASP.NET, и все это есть в файле ASPX для фазы 1 и получим это за работой. Это, я полагаю, будет самым быстрым и безопасным (то есть, сохраняя одинаковую функциональность). Следующим этапом будет разделение кода на код и несколько уровней.

Я планирую заменить VBScript в файлах ASP на C # в файлах ASPX.

Итак, кроме общих комментариев о том, что я планирую делать (что я приветствую), у меня есть конкретный вопрос: существуют ли какие-нибудь вспомогательные функции, которые превращают функции VBScript из ASP в эквивалент C #, который кто-то уже сделано?

Так что я бы искал C # файл (библиотеку), который имеет оболочки вроде:

string Mid(string txt,int start,int length)
{
  return txt.SubString(start, length); // or is it start - 1?
}
double Abs(double num)
{
  return Math.Abs(num);
}

Ответы [ 5 ]

6 голосов
/ 13 января 2009

Просмотрите пространство имен Microsoft.VisualBasic, чтобы получить доступ к старым функциям VBScript / VB6. Вы можете использовать их прямо из C #.

Кроме того, вас ждет шок. ASP.Net использует другую модель компилятора, поэтому некоторые вещи, которые вы делали в классическом ASP, вообще не разрешены в ASP.Net. Включенные файлы - это самый важный, который приходит на ум - весь ваш вспомогательный код (код вне файла * .asp для самой страницы) необходимо переосмыслить для поддержки новой модели.

3 голосов
/ 13 января 2009

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

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

2 голосов
/ 13 января 2009

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

Использует ли ваш классический ASP-сайт переменные сеанса для управления состоянием между страницами? Если да, задумывались ли вы о том, как вы собираетесь делить состояние сеанса между ASP и ASP.NET? Классический ASP и ASP.NET реализуют состояние сеанса по-разному, поэтому вам понадобятся методы для передачи между ними.

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

1 голос
/ 13 января 2009

Если вы предпочитаете использовать ASP.NET MVC, я бы сначала посмотрел на это. Я бы подумал, что перевод будет намного проще, чем пытаться перейти с языка сценариев на WebForms.

0 голосов
/ 13 января 2009

Не думаю, что вы что-то получаете, переделывая сайт как есть в .Net. Правильное его внедрение будет настолько радикально отличаться от того, с чего вы начнете в .Net, что это будет выглядеть напрасно. Кроме того, будет очень сложно писать модульные тесты, если вы реализуете все на страницах .aspx без даже кода.

Я бы хотел конвертировать MVC. Если вы портируете его как есть, хотя бы изучите главные страницы, это избавит вас от головной боли.

...