Cela peut sembler un peu trivial, mais je n'ai pas réussi à le comprendre. J'ouvre un SPSite et essaye ensuite d'ouvrir un SPWeb sous ce SPSite. Cela fonctionne très bien sur le VPC, qui a la même hiérarchie Site Collection/Site, mais en production, je reçois une exception me disant que l'URL est invalide lorsque j'essaye le SPSite.OpenWeb (webUrl) ;. J'ai vérifié que les URL sont correctes.MOSS 2007 - Exception d'URL invalide SPSite.OpenWeb (...)
Le code:
try
{
SPSite scheduleSiteCol = new SPSite(branchScheduleURL);
lblError.Text += Environment.NewLine + "Site Collection URL: " + scheduleSiteCol.Url;
SPWeb scheduleWeb = scheduleSiteCol.OpenWeb(branchScheduleURL.Replace(scheduleSiteCol.Url, "")); //<--- Throws error on this line
SPList scheduleList = scheduleWeb.GetList(branchScheduleURL + "/lists/" + SPContext.Current.List.Title);
return scheduleList.GetItemById(int.Parse(testID));
}
catch (System.Exception ex)
{
lblError.Text += Environment.NewLine + ex.ToString();
return null;
}
Note:
branchScheduleURL est en réalité l'URL complète qui inclut l'URL du Web ainsi.
La sortie + exception:
URL Collection du site: https://ourSite.com/mocc
System.ArgumentException: URL non valide:/interne/scheduletool. à Microsoft.SharePoint.SPSite.OpenWeb (Chaîne strUrl, Boolean requireExactUrl) à Microsoft.SharePoint.SPSite.OpenWeb (Chaîne strUrl) à MOCCBranchScheduleListWeb.MOCCBranchScheduleListV3.GetConflictListItem (String branchScheduleURL, chaîne testID) System.NullReferenceException: Référence d'objet non définie à un instance d'un objet. à MOCCBranchScheduleListWeb.MOCCBranchScheduleListV3.CheckForConflicts (String [] cfcFlags1, DateTime STARTTIME, DateTime endTime, String [] cfcFlags2)
Note:
https://ourSite.com/mocc/internal/scheduletool est le SPWeb que je suis en train d'ouvrir.
Est-ce que quelque chose me manque? Toute aide serait grandement appréciée.
Merci.
Merci! Je ne me suis pas rendu compte que le constructeur de SPSite se souvenait de l'URL d'origine transmise. Je pensais que cela réduisait l'url à la collection de sites et ne tenait pas compte du reste. – AdamBT