Вы теряете функциональность при хостинге ASP.NET MVC на IIS 6? Если так, что?

TL; DR Я думаю, это предназначено для обеспечения безопасности. Сообщение об ошибке LTA . Комментарии к вашему вопросу объясняют, что вам нужно сделать. Этот ответ дает то, что я считаю обоснованием.

Я думаю, что этот вопрос, возможно, следует обсудить дополнительно с целью улучшения одного или нескольких сообщений об ошибках, документации P6, p6doc и / или компилятора P6.

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


Аббревиатура / слово «pod» было придумано для оригинальной серии Perl и означало «простая старая документация». В P6 это стало Pod (обратите внимание на скорректированное соглашение правописания, чтобы отличить его от оригинального p5 pod / POD). Pod выглядит как pod / POD, но это другой формат.

В частности, он больше не простой и не старый - это код. Предположим, это означает «производит оптимальную документацию» или что-то подобное.

Согласно документации P6 для Pod это:

Простой в использовании язык разметки для документирования модулей и программ Perl

blockquote>

] Imo довольно легко читать в исходном виде и довольно легко писать . (Хотя, как и большинство из нас, я привык к уценке, которую я использую, чтобы написать это ...)

Но наиболее существенная характеристика imo Pod, по крайней мере, в контексте с использованием [1116 ] это то, что это код. Так что его так же легко использовать, как и код. Иными словами, это не обязательно просто, учитывая проблему вредоносного кода и функции безопасности, которые обеспечивают безопасность.

SO, начинающийся с «Документация в программах на Perl 6, использующих Pod 6 DSL, фактически анализируется как часть кода» - это шаг к ясности в этом вопросе. Но важно понимать, что он не только анализируется, но и компилируется и что компиляция включает в себя запуск компилятора, а в P6 может даже включать запуск кода в компилируемой программе.

Это связано с природой синтаксиса и семантики P6.

На странице Википедии о языках разметки они представляют собой систему для:

аннотирования документа способом, который синтаксически отличается от текста

blockquote>

Но синтаксис (и семантика) P6 могут быть динамически изменены модулями. Это имеет убедительные преимущества 1 sup>, но это также означает, что код P6 должен быть скомпилирован для того, чтобы компилятор определил, как его анализировать.

1137 И это включает в себя выяснение того, что такое Pod и как его анализировать. Кроме того, Pod может вызывать код P6 во время компиляции. Таким образом, Pod (и любой код, который он вызывает) также должен быть скомпилирован, и для его определения может потребоваться запустить , чтобы выяснить, каковы окончательные данные Pod.

Конечно, вы можете читать Pod на месте, используя инструменты просмотра текста. Он специально разработан для того, чтобы его было довольно легко прочитать в необработанном виде.

Но если вы используете p6doc, вы компилируете код P6. (На самом деле, p6doc является очень простой оболочкой для компилятора .)

И поскольку в компиляцию P6 может входить работающий код , те же политики безопасности, которые один относится к запуску кода в целом должен применяться к использованию p6doc для извлечения P6 Pod.

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

Когда вы пишете p6doc foo/bar, вы, как считается, говорите p6doc, что все в порядке, чтобы скомпилировать foo/bar и запустить любой код, который является частью компиляции этого кода.

Но прагма use lib намеренно игнорируется, когда компилятору предоставляется опция --doc. Отсюда и ответ на ваш SO в комментариях к нему.

Сноски

1 sup> Это делает P6 способным к неограниченным мутациям, как в рамках одной программы, так и в качестве языка, развивающегося со временем. Как с любым полным языком тьюринга, что означает, что почти все из них, если это возможно, P6 может сделать это. В отличие от почти на всех языках, если вы делаете это и чувствуете, что он принадлежит языку, а не модулю, вы можете настроить язык P6, чтобы он впитался в вашу копию P6. И если люди P6 хотят, чтобы ваш языковой трюк впитался в каждый P6, ваш твик может стать частью будущего языка. Таким образом, P6 позволяет легко модифицировать сам P6 и максимально открыт для будущего улучшения языка и по существу устраняет одну из вещей, которая может тратить много времени и энергии, а именно борьбу за то, что характерно для языка.

5
задан hlovdal 18 April 2009 в 21:44
поделиться

3 ответа

Вы не теряете никакой функциональности ASP.Net MVC; однако у вас есть один из двух вариантов. Вы можете определить расширение в своих URL, которое позволит вам настроить отображение. Так, например:

www.example.com/books/computer/list

может стать:

www.example.com/books.mvc/computer/list

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

Другой вариант, как упомянуто, заключается в использовании группового сопоставления. Это направляет все запросы к ASP.Net. Даже запросы на статический контент, такой как изображения. Это негативно влияет на производительность, которую вы хотите измерить. Есть способы обойти это,

9
ответ дан 18 December 2019 в 12:01
поделиться

Я думаю, что проблема с IIS6 - это URL без расширений, которые можно легко получить, добавив карту подстановочного символа ISAPI в конфигурацию IIS.

Итак, нет. Хотя я люблю интегрированный режим IIS7 и настоятельно рекомендую использовать его, вы не потеряете его функциональность. Я развернул несколько проектов ASP.NET MVC 1.0 на Windows Server 2003 / IIS6.

5
ответ дан 18 December 2019 в 12:01
поделиться

Перезапись URL-адресов может помочь вам решить проблему. Реализовал решение, позволяющее развернуть приложение MVC в любой версии IIS даже при использовании виртуального хостинга. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

1
ответ дан 18 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: