Еще один фактор производительности - оператор SPContext.Current.Web.Site.OpenWeb().Lists["List"]
будет обращаться к списку List
из коллекции текущего сайта , а строка SPContext.Current.Web.Lists["List"];
будет обращаться к списку из текущий веб , но не из текущего семейства сайтов.
Рассмотрим этот сценарий ...
Предположим, что в семействе сайтов существует список Employee
http://[web-app]/sites/sa
.
И в нашем сайте есть дочерний сайт.
Затем, если использовать эту строку SPContext.Current.Web.Lists["List"];
, он попытается найти список в сети внутри sa / en-us, который, в свою очередь, выдаст ошибку.
При использовании оператора SPContext.Current.Web.Site.OpenWeb().Lists["List"];
найдет список в семействе сайтов sa и успешно запустится.