OVH Cloud OVH Cloud

[WSS2003] OpenWeb exception

3 réponses
Avatar
SD
Bonjour,

J'utilise un webControl au sein d'une page aspx située dans un répertoire du
site exclu.
Ce WebControl nécessite de parcourir l'ensemble des SPWeb pour obtenir leur
titre et leur URL.
Depuis quelque temps j'ai une erreur sur ce type de code:

[DefaultProperty("Text"),
ToolboxData("<{0}:InfoBar runat=server></{0}:InfoBar>")]
public class SiteLinkBar : System.Web.UI.WebControls.WebControl
{
private Guid id;
public SiteLinkBar()
{}
public void SetWebID(Guid id)
{
this.id = id;
}
protected override void Render(HtmlTextWriter output)
{
SPWeb web = null;
try
{
if (this.id.CompareTo(Guid.Empty) == 0)
//web =
Microsoft.SharePoint.WebControls.Navigation.GetContextWeb(System.Web.HttpContext.Current);
web =
Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(this.Context);
else
{
//SPSite site =
Microsoft.SharePoint.WebControls.Navigation.GetContextSite(System.Web.HttpContext.Current);
SPSite site =
Microsoft.SharePoint.WebControls.SPControl.GetContextSite(this.Context);
site.CatchAccessDeniedException = false;
web = site.OpenWeb(this.id);
}

string str = "<a href=\""+web.Url+"\"><u>"+web.Title+"</u></a>";
while(!web.IsRootWeb)
{
web = web.ParentWeb;
str = "<a href=\""+web.Url+"\"><u>"+web.Title+"</u></a>" + "
&gt; " + str;
}

output.Write("<div class=\"ms-formdescription\">");
output.Write(str);
output.Write("</div>");
}
catch(Exception e)
{
output.Write(HtmlDesign.GetErrorTable(e));
}
}
************************************
L'exception se produit sur "web = site.OpenWeb(this.id);" et retourne :
- Impossible de terminer cette opération. Essayez de nouveau. (Source :
Microsoft.SharePoint)
- Pile des appels :
at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32& A_7,
UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32& A_11, Int16& A_12,
Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16, Int32& A_17, Int16&
A_18, String& A_19, String& A_20, String& A_21, String& A_22, String&
A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
at Microsoft.SharePoint.SPWeb.g()
at Microsoft.SharePoint.SPWeb..ctor(SPSite A_0, String A_1,
Boolean A_2, Boolean A_3)
at Microsoft.SharePoint.SPSite.OpenWeb(Guid gWebId)
at ....line n
- Exception héritée :
System.Runtime.InteropServices.COMException (0x80004005): Impossible
de terminer cette opération.
Essayez de nouveau.
at
Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWeb(String bstrUrl,
String& pbstrServerRelativeUrl, String& pbstrTitle, String&
pbstrDescription, Guid& pguidID, UInt32& pnAuthorID,
UInt32& pnLanguage, UInt32& pnLocale, UInt16& pnTimeZone, Boolean& bTime24,
Int16& pnCollation, UInt32& pnCollationLCID, Int16& pnCalendarType, Int16&
pnAdjustHijriDays, Int16& pnMeetingCount, Int32& plFlags, Boolean&
bConnectedToPortal, Int32& plWebTemplateId, Int16& pnProvisionConfig,
String& pbstrDefaultTheme, String&
pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String&
pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, Int32& pAnonymousState,
Boolean& bUserIsSiteAdmin, Boolean& bHasUniquePerm)
at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32& A_7,
UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32& A_11,
Int16& A_12, Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16, Int32&
A_17, Int16& A_18, String& A_19, String& A_20, String& A_21, String& A_22,
String& A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
************************************

Quelqu'un at'il déjà eu quelque chose de comparable ?.

Merci

Cdt,

SD

3 réponses

Avatar
Renaud Comte
J'ai plus l'habitude de passer par des URL via Openweb et je n'ai jamais
eu le moindre soucis

Renaud COMTE [MVP]
---------------------------------
http://blogs.developpeur.org/themit/
http://blog.spsclerics.com/

Bonjour,

J'utilise un webControl au sein d'une page aspx située dans un
répertoire du
site exclu.
Ce WebControl nécessite de parcourir l'ensemble des SPWeb pour obtenir
leur
titre et leur URL.
Depuis quelque temps j'ai une erreur sur ce type de code:
[DefaultProperty("Text"),
ToolboxData("<{0}:InfoBar runat=server></{0}:InfoBar>")]
public class SiteLinkBar : System.Web.UI.WebControls.WebControl
{
private Guid id;
public SiteLinkBar()
{}
public void SetWebID(Guid id)
{
this.id = id;
}
protected override void Render(HtmlTextWriter output)
{
SPWeb web = null;
try
{
if (this.id.CompareTo(Guid.Empty) == 0)
//web > Microsoft.SharePoint.WebControls.Navigation.GetContextWeb(System.Web.H
ttpContext.Current);
web > Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(this.Context)
;
else
{
//SPSite site > Microsoft.SharePoint.WebControls.Navigation.GetContextSite(System.Web.
HttpContext.Current);
SPSite site > Microsoft.SharePoint.WebControls.SPControl.GetContextSite(this.Context
);
site.CatchAccessDeniedException = false;
web = site.OpenWeb(this.id);
}
string str = "<a
href=""+web.Url+""><u>"+web.Title+"</u></a>";
while(!web.IsRootWeb)
{
web = web.ParentWeb;
str = "<a
href=""+web.Url+""><u>"+web.Title+"</u></a>" + "
&gt; " + str;
}
output.Write("<div class="ms-formdescription">");
output.Write(str);
output.Write("</div>");
}
catch(Exception e)
{
output.Write(HtmlDesign.GetErrorTable(e));
}
}
************************************
L'exception se produit sur "web = site.OpenWeb(this.id);" et retourne
:
- Impossible de terminer cette opération. Essayez de nouveau.
(Source :
Microsoft.SharePoint)
- Pile des appels :
at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
A_7,
UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32& A_11, Int16&
A_12,
Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16, Int32& A_17,
Int16&
A_18, String& A_19, String& A_20, String& A_21, String& A_22, String&
A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
at Microsoft.SharePoint.SPWeb.g()
at Microsoft.SharePoint.SPWeb..ctor(SPSite A_0, String A_1,
Boolean A_2, Boolean A_3)
at Microsoft.SharePoint.SPSite.OpenWeb(Guid gWebId)
at ....line n
- Exception héritée :
System.Runtime.InteropServices.COMException (0x80004005):
Impossible
de terminer cette opération.
Essayez de nouveau.
at
Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWeb(String
bstrUrl,
String& pbstrServerRelativeUrl, String& pbstrTitle, String&
pbstrDescription, Guid& pguidID, UInt32&
pnAuthorID,
UInt32& pnLanguage, UInt32& pnLocale, UInt16& pnTimeZone, Boolean&
bTime24,
Int16& pnCollation, UInt32& pnCollationLCID, Int16& pnCalendarType,
Int16&
pnAdjustHijriDays, Int16& pnMeetingCount, Int32& plFlags, Boolean&
bConnectedToPortal, Int32& plWebTemplateId, Int16& pnProvisionConfig,
String& pbstrDefaultTheme, String&
pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String&
pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, Int32&
pAnonymousState,
Boolean& bUserIsSiteAdmin, Boolean& bHasUniquePerm)
at Microsoft.SharePoint.Library.a.a(String A_0, String&
A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
A_7,
UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32&
A_11, Int16& A_12, Int16& A_13, Int16& A_14, Int32& A_15, Boolean&
A_16, Int32& A_17, Int16& A_18, String& A_19, String& A_20, String&
A_21, String& A_22, String& A_23, Int32& A_24, Boolean& A_25, Boolean&
A_26) ************************************

Quelqu'un at'il déjà eu quelque chose de comparable ?.

Merci

Cdt,

SD



Avatar
AnthonyB
idem pour moi
AnthonyB

"Renaud Comte" a écrit :

J'ai plus l'habitude de passer par des URL via Openweb et je n'ai jamais
eu le moindre soucis

Renaud COMTE [MVP]
---------------------------------
http://blogs.developpeur.org/themit/
http://blog.spsclerics.com/

> Bonjour,
>
> J'utilise un webControl au sein d'une page aspx située dans un
> répertoire du
> site exclu.
> Ce WebControl nécessite de parcourir l'ensemble des SPWeb pour obtenir
> leur
> titre et leur URL.
> Depuis quelque temps j'ai une erreur sur ce type de code:
> [DefaultProperty("Text"),
> ToolboxData("<{0}:InfoBar runat=server></{0}:InfoBar>")]
> public class SiteLinkBar : System.Web.UI.WebControls.WebControl
> {
> private Guid id;
> public SiteLinkBar()
> {}
> public void SetWebID(Guid id)
> {
> this.id = id;
> }
> protected override void Render(HtmlTextWriter output)
> {
> SPWeb web = null;
> try
> {
> if (this.id.CompareTo(Guid.Empty) == 0)
> //web > > Microsoft.SharePoint.WebControls.Navigation.GetContextWeb(System.Web.H
> ttpContext.Current);
> web > > Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(this.Context)
> ;
> else
> {
> //SPSite site > > Microsoft.SharePoint.WebControls.Navigation.GetContextSite(System.Web.
> HttpContext.Current);
> SPSite site > > Microsoft.SharePoint.WebControls.SPControl.GetContextSite(this.Context
> );
> site.CatchAccessDeniedException = false;
> web = site.OpenWeb(this.id);
> }
> string str = "<a
> href=""+web.Url+""><u>"+web.Title+"</u></a>";
> while(!web.IsRootWeb)
> {
> web = web.ParentWeb;
> str = "<a
> href=""+web.Url+""><u>"+web.Title+"</u></a>" + "
> > " + str;
> }
> output.Write("<div class="ms-formdescription">");
> output.Write(str);
> output.Write("</div>");
> }
> catch(Exception e)
> {
> output.Write(HtmlDesign.GetErrorTable(e));
> }
> }
> ************************************
> L'exception se produit sur "web = site.OpenWeb(this.id);" et retourne
> :
> - Impossible de terminer cette opération. Essayez de nouveau.
> (Source :
> Microsoft.SharePoint)
> - Pile des appels :
> at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
> String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
> A_7,
> UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32& A_11, Int16&
> A_12,
> Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16, Int32& A_17,
> Int16&
> A_18, String& A_19, String& A_20, String& A_21, String& A_22, String&
> A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
> at Microsoft.SharePoint.SPWeb.g()
> at Microsoft.SharePoint.SPWeb..ctor(SPSite A_0, String A_1,
> Boolean A_2, Boolean A_3)
> at Microsoft.SharePoint.SPSite.OpenWeb(Guid gWebId)
> at ....line n
> - Exception héritée :
> System.Runtime.InteropServices.COMException (0x80004005):
> Impossible
> de terminer cette opération.
> Essayez de nouveau.
> at
> Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWeb(String
> bstrUrl,
> String& pbstrServerRelativeUrl, String& pbstrTitle, String&
> pbstrDescription, Guid& pguidID, UInt32&
> pnAuthorID,
> UInt32& pnLanguage, UInt32& pnLocale, UInt16& pnTimeZone, Boolean&
> bTime24,
> Int16& pnCollation, UInt32& pnCollationLCID, Int16& pnCalendarType,
> Int16&
> pnAdjustHijriDays, Int16& pnMeetingCount, Int32& plFlags, Boolean&
> bConnectedToPortal, Int32& plWebTemplateId, Int16& pnProvisionConfig,
> String& pbstrDefaultTheme, String&
> pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String&
> pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, Int32&
> pAnonymousState,
> Boolean& bUserIsSiteAdmin, Boolean& bHasUniquePerm)
> at Microsoft.SharePoint.Library.a.a(String A_0, String&
> A_1,
> String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
> A_7,
> UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32&
> A_11, Int16& A_12, Int16& A_13, Int16& A_14, Int32& A_15, Boolean&
> A_16, Int32& A_17, Int16& A_18, String& A_19, String& A_20, String&
> A_21, String& A_22, String& A_23, Int32& A_24, Boolean& A_25, Boolean&
> A_26) ************************************
>
> Quelqu'un at'il déjà eu quelque chose de comparable ?.
>
> Merci
>
> Cdt,
>
> SD
>





Avatar
Julien Bakmezdjian [MS]
Bonjour,

Si votre application est dans un dossier exclu, je suis étonné de voir que
l'appel à GetContextWeb marche bien... Pour moi, il aurait mieux vallu
placer l'application dans le dossier _layouts (l'appli est alors accessible
depuis des URLs comme http://serveur/sites/site01/_layouts/app/default.aspx
ou http://serveur/sites/site02/_layouts/app/default.aspx).
Par ailleurs, tout objet SPWeb ouvert avec un OpenWeb *doit* être fermé à la
fin par un .Dispose() (cela n'est *pas* vrai pour des objets ouverts avec
GetContextWeb).

Mais je ne suis pas sûr que tout cela soit lié à votre message d'erreur...

Cordialement,

Julien Bakmezdjian

"SD" wrote in message
news:
Bonjour,

J'utilise un webControl au sein d'une page aspx située dans un répertoire
du site exclu.
Ce WebControl nécessite de parcourir l'ensemble des SPWeb pour obtenir
leur titre et leur URL.
Depuis quelque temps j'ai une erreur sur ce type de code:

[DefaultProperty("Text"),
ToolboxData("<{0}:InfoBar runat=server></{0}:InfoBar>")]
public class SiteLinkBar : System.Web.UI.WebControls.WebControl
{
private Guid id;
public SiteLinkBar()
{}
public void SetWebID(Guid id)
{
this.id = id;
}
protected override void Render(HtmlTextWriter output)
{
SPWeb web = null;
try
{
if (this.id.CompareTo(Guid.Empty) == 0)
//web =
Microsoft.SharePoint.WebControls.Navigation.GetContextWeb(System.Web.HttpContext.Current);
web =
Microsoft.SharePoint.WebControls.SPControl.GetContextWeb(this.Context);
else
{
//SPSite site =
Microsoft.SharePoint.WebControls.Navigation.GetContextSite(System.Web.HttpContext.Current);
SPSite site =
Microsoft.SharePoint.WebControls.SPControl.GetContextSite(this.Context);
site.CatchAccessDeniedException = false;
web = site.OpenWeb(this.id);
}

string str = "<a
href=""+web.Url+""><u>"+web.Title+"</u></a>";
while(!web.IsRootWeb)
{
web = web.ParentWeb;
str = "<a href=""+web.Url+""><u>"+web.Title+"</u></a>" +
" &gt; " + str;
}

output.Write("<div class="ms-formdescription">");
output.Write(str);
output.Write("</div>");
}
catch(Exception e)
{
output.Write(HtmlDesign.GetErrorTable(e));
}
}
************************************
L'exception se produit sur "web = site.OpenWeb(this.id);" et retourne :
- Impossible de terminer cette opération. Essayez de nouveau. (Source :
Microsoft.SharePoint)
- Pile des appels :
at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
A_7, UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32& A_11, Int16&
A_12, Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16, Int32& A_17,
Int16& A_18, String& A_19, String& A_20, String& A_21, String& A_22,
String& A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
at Microsoft.SharePoint.SPWeb.g()
at Microsoft.SharePoint.SPWeb..ctor(SPSite A_0, String A_1,
Boolean A_2, Boolean A_3)
at Microsoft.SharePoint.SPSite.OpenWeb(Guid gWebId)
at ....line n
- Exception héritée :
System.Runtime.InteropServices.COMException (0x80004005):
Impossible de terminer cette opération.
Essayez de nouveau.
at
Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWeb(String
bstrUrl, String& pbstrServerRelativeUrl, String& pbstrTitle, String&
pbstrDescription, Guid& pguidID, UInt32&
pnAuthorID, UInt32& pnLanguage, UInt32& pnLocale, UInt16& pnTimeZone,
Boolean& bTime24, Int16& pnCollation, UInt32& pnCollationLCID, Int16&
pnCalendarType, Int16& pnAdjustHijriDays, Int16& pnMeetingCount, Int32&
plFlags, Boolean& bConnectedToPortal, Int32& plWebTemplateId, Int16&
pnProvisionConfig, String& pbstrDefaultTheme, String&
pbstrDefaultThemeCSSUrl, String& pbstrAlternateCSSUrl, String&
pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, Int32& pAnonymousState,
Boolean& bUserIsSiteAdmin, Boolean& bHasUniquePerm)
at Microsoft.SharePoint.Library.a.a(String A_0, String& A_1,
String& A_2, String& A_3, Guid& A_4, UInt32& A_5, UInt32& A_6, UInt32&
A_7, UInt16& A_8, Boolean& A_9, Int16& A_10, UInt32&
A_11, Int16& A_12, Int16& A_13, Int16& A_14, Int32& A_15, Boolean& A_16,
Int32& A_17, Int16& A_18, String& A_19, String& A_20, String& A_21,
String& A_22, String& A_23, Int32& A_24, Boolean& A_25, Boolean& A_26)
************************************

Quelqu'un at'il déjà eu quelque chose de comparable ?.

Merci

Cdt,

SD