我想按名称订购Microsoft.Web.Administration.SiteCollection:
ServerManager iisManager = ServerManager.OpenRemote(Vm.CurrentServeur);
SiteCollection websites = iisManager.Sites.OrderBy(x => x.Name);
但我收到以下错误:
无法隐式转换类型&System; .Linq.IOrderedEnumerable'到' Microsoft.Web.Administration.SiteCollection'
如何订购SiteCollection?
答案 0 :(得分:2)
由于SiteCollection
没有构造函数,因此您无法创建它。您可以使用它的方法Clear
和Add
。
SiteCollection websites = iisManager.Sites;
List<Site> orderedSites = websites.OrderBy(x => x.Name).ToList();
websites.Clear();
foreach(Site s in orderedSites)
websites.Add(s);
这会修改原始SiteCollection
。如果您根本不需要它,可以使用IEnumerable<Site>
或直接使用列表:
List<Site> webSites = iisManager.Sites.OrderBy(x => x.Name).ToList<Site>();
答案 1 :(得分:1)
我建议你添加ToList
iisManager.Sites.OrderBy(x => x.Name).ToList();