Неизвестный URL в ASP.Net Webforms - PullRequest
2 голосов
/ 09 марта 2010

Я работаю над приложением веб-форм ASP.Net, которое я унаследовал от программиста, который уже покинул компанию несколько месяцев назад.

Приложение развернуто на наших серверах интрасети, и пользователь может перейти на него через URL:

http://TestApp/App1/(12345abcde)/login.aspx

Когда я проверял сервер IIS, папка приложения была установлена ​​только на

\ inetpub \ wwwroot \ TestApp \ App1 \

и из этой папки вы можете увидеть файл login.aspx.

Я хотел бы спросить, какие настройки IIS подправил предыдущий программист, чтобы URL был немного скрыт, где была вставлена ​​мнимая (?) Папка с именем (12345abcde). Какие настройки мне нужно проверить в IIS для этого?

Другой вопрос заключается в том, что в файле login.aspx можно найти следующее: Codebehind = "Login.aspx.vb", но тот же файл Login.aspx.vb отсутствует в каталоге приложения. Хотя я видел, что есть папка bin, где находится файл dll. Возможно ли, что код VB позади файла скомпилирован в эту DLL?

Кстати, если есть доступная программа просмотра dll, которую я мог бы загрузить, пожалуйста, напишите о ней, чтобы я мог проверить DLL в приложении webforms.

Ценю ваш вклад. Благодаря.

1 Ответ

6 голосов
/ 09 марта 2010

Это происходит из-за использования сеансов без файлов cookie в ASP.NET.

По сути, вместо сохранения идентификатора сеанса в cookie-файле, он передается как часть URL-адреса, что делает приложение пригодным для использования, даже если cookie-файлы отключены в браузере.

Чтобы включить / отключить эту функцию, используйте следующую запись web.config:

<sessionState cookieless="true" />

Относительно вашего второго вопроса: когда вы используете функцию «опубликовать веб-сайт» в Visual Studio, все файлы выделенного кода компилируются в библиотеки DLL (в папке bin), а файл ASPX изменяется, чтобы включить ссылку на соответствующая DLL (в директиве <@Page >).


А что касается "dll viewer": взгляните на .NET Reflector .

...