Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

суббота, 30 июля 2011 г.

URLScan : Unable to start debugging on the web server. The web server could not find the requested resource.

Еще один сюрприз на эту тему, теперь для тех, у кого чешутся руки.

Причина проблемы
Есть такое средство Microsoft Web Platform Installer и решили вы им доустановить что-то новенькое.
Одни из компонентов который вы выбрали был URLScan.
Вы даже не почитали, для чего он нужен. :)
Установка средства URLScan убивает дебаггинг сайтов на сервере IIS. И, видимо, еще много чего может убить по умолчанию.
Не ставьте его на разработческие машины!

Что такое URLScan
URLScan это всего лишь ISAPI-фильтр (Internet Server API filter), который посажен на инсталлятор, и который слушает и фильтрует входящие на IIS запросы.

"UrlScan 3.1 is a security tool that restricts the types of HTTP requests that IIS will process. By blocking specific HTTP requests, the UrlScan 3.1 security tool helps to prevent potentially harmful requests from reaching applications on the server. UrlScan 3.1 is an update to UrlScan 2.5 supports IIS 5.1, IIS 6.0 and IIS 7.0 on Windows Vista and Windows Server 2008."

Кто виноват
В науке о создании программ есть целый раздел, который называется - давать имена, которые соответствуют назначению переменной, метода, программы и т.д. или хотя бы не вводят в заблуждение. Из названия не понятно ЧТО ЭТО.
Лично я, когда за доли секунды выбирал этот компонент для установки из десятков других, подумал, что это очередное средство для форвардинга запросов.

Лечение

1. Удаление URLScan
Удаляется как обычная программа.
Откройте Установка и удаление программ (Windows XP и Server 2003) или Программы и компоненты (современные Windows).
Найдите там пункт по имени Microsoft URLScan Filter v[Version.Number].
Нажмите на нем кнопку Удалить.
Перезагрузите IIS! Или машину.

Как я понял, на IIS 6 и это средство не нужно (http://msdn.microsoft.com/en-us/library/ms165025.aspx). В версиях выше не помню, может оно идет там подключаемым модулем.

2. Изменение настроек URLScan
Можете поковыряться с URLScan и настроить его на дебаггинг, но я не советую этого делать на разработческой машине, т.к. технологий много, параметров настройки еще больше, поэтому лучше сохнанить время и удалить URLScan (см. выше), т.к. еще чего-нибудь можно словить на нем.
Для настройки URLScan используйте файл UrlScan.ini из папки %systemroot%\system32\inetsrv\urlscan.
Подробно здесь: Error: The Web Server Has Been Locked Down and Is Blocking the DEBUG Verb.

Как убедиться, что вы имеете проблему с URLScan
Вы не увидите URLScan, ни в меню Пуск, ни в настройках IIS (смотрел на 5й версии).
Журнал событий Windows тоже будет пуст.

1. Во первых проверьте, что он у вас есть в списке установленных программ (не в меню Пуск, а откуда программы удаляются).

2. В системе будет папка %systemroot%\system32\inetsrv\urlscan.

3. Чтоб узнать точно, что он у вас что-то начал "резать", посмотрите логи из %systemroot%\system32\inetsrv\urlscan\logs
Например:

2011-07-30 08:40:53 127.0.0.1 1 DEBUG /MyWeb/MyWebTestPage.aspx Rejected verb+not+allowed HTTP+method - -
2011-07-30 08:42:28 127.0.0.1 1 DEBUG /MyWeb/debugattach.aspx Rejected verb+not+allowed HTTP+method - -

Все.

четверг, 28 июля 2011 г.

Что такое ASP.NET Web Pages

Что такое "ASP.NET Web Pages", как я вижу.
Это новый стиль создания сайтов в ASP.NET максимально приближенный к статическим страницам.
В ASP.NET есть основные подходы Forms, MVC, а теперь еще Web Pages.
* В ASP.NET легко писать и на низком уровне без использования любого из подходов. *
Главная идея в Web Pages - легко начать с нуля, изучая полезности ASP.NET только по необходимости.
Можно начать разрабатывать без установки Visual Studio, при помощи облегченного средства WebMatrix.

В Web Pages, как и в MVC, предполагается активное использование Razor.
Razor, это вставка динамического содержимого прямо в разметку HTML страницы.
Такое было изначально в ASP.NET, но Razor предложил компактную, не загрязняющую HTML форму написания, которая сразу всем полюбилась.
Пример Razor на картинках и сравнение со стандартными вставками здесь - http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

Все нужное для начала работы найдется на странице http://asp.net .

Невозможно загрузить файл или сборку "Microsoft.WebPages.Configuration"

Ошибка на сайтах с ASP.NET 4:
Невозможно загрузить файл или сборку "Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" или один из зависимых от них компонентов. Не удается найти указанный файл.
или
Could not load file or assembly 'Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The module was expected to contain an assembly manifest.

Решение:
Не проверенно на последствия, но зато быстро, если надо срочно запустить сайт.
Откройте файл C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\web.config
и закомментируйте строку
<add assembly="Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
_
Перестановка ASP.NET 4 не помогает.
Возможно поможет перестановка ASP.NET Web Pages.