элемент location для безопасности web.config, когда путь пуст "", а не "." - PullRequest
4 голосов
/ 17 мая 2011

Я использую одну из ночных сборок resharper, и недавно я только что наткнулся на это, указывая на это сообщение «Элемент Location не используется: путь пуст», учитывая следующий код web.config

 <location path="">
    <system.web>
      <authorization>
        <allow roles="Administrator" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

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

Является ли пустой путь просто значением по умолчанию ".", поскольку MSDN говорит, что это значение по умолчанию для свойства пути?

Сделать <location path=""> и <location path="."> функционально эквивалентными?

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Значение по умолчанию для path равно ".", только если вы не переопределяете его;это, <location> функционально эквивалентно <location path="."> - но <location path=""> отличается.Пустой путь, однако, не должен предполагаться , чтобы привыкнуть;если он когда-либо будет использован, то, скорее всего, это ошибка в том, что .net обрабатывает пустые пути.

1 голос
/ 05 апреля 2012

Эта ошибка, безусловно, является еще одним примером чрезмерного усердия Решарпера.Microsoft советует использовать пустой путь в критических изменениях для ASP.NET 4 .

Однако в соответствии с MSDN ,

Использование местоположения с отсутствующим атрибутом пути применяет параметры конфигурации к текущему каталогу и всем дочерним каталогам.

, поэтому вы можете просто пропустить атрибут пути, что предотвратит ошибку Resharper.

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