Классический порт ASP - как заменить файлы #INCLUDE (.inc) - PullRequest
3 голосов
/ 12 февраля 2010

Мы портируем приложение Classic ASP на ASP.NET. Что мы делаем с файлами #INCLUDE (.inc)? Теперь они вызывают ошибки сборки, потому что ASP.NET считает, что переменные «не объявлены».

Ответы [ 2 ]

2 голосов
/ 12 февраля 2010

Вы не указали, что находится в файлах .inc. Предположим, есть куча константных определений и несколько вспомогательных функций.

Есть несколько вариантов, которые вы могли бы рассмотреть.

  1. Часто есть один .inc, который включается во все или большинство страниц ASP.
  2. Другие файлы .inc включены в несколько ASP-страниц, поскольку они просто инкапсулируют некоторые общие функции.

Для варианта 1 может помочь создание класса, производного от Page, который предоставляет исходные константы файлов .inc в качестве свойств, а его функции - в качестве методов. Пусть все перенесенные страницы ASP на ASP.NET наследуются от этого нового класса, а не от Page.

Для варианта 2 создайте классы в App_Code, которые содержат статические свойства и методы (или прямые порты классов VBScript, если это то, что содержится в .inc). Порты страниц ASP в ASP.NET, использующие эти включения, должны префиксировать использование членов из исходного файла .inc с именем класса, для которого они не являются статическими (общими) членами.

Если включаемые файлы изначально содержат статическую разметку, то для них лучше создать репрезентативные страницы .master и использовать перенесенные ASP-страницы соответствующим образом.

1 голос
/ 13 февраля 2010

Вы можете портировать их так же, как в ASP:

 <!--#include virtual="/include/flash-check_inc.asp"-->
...