Hvordan kan man få adgang til at læse en xml fil fra en webpart der indgår i et WSS site?
Jeg har flg. simple webpart:
public class ResourceAccess : WebPart
{
protected override void CreateChildControls()
{
//Obtaining path to XML file
SPWeb web = SPContext.Current.Web;
string resourcePath = SPWebPartManager.GetClassResourcePath(web, this.GetType()).ToString();
resourcePath += "/test.xml";
//Reading XML file
XmlReader reader = XmlReader.Create(resourcePath);
reader.Read();
Label outLbl = new Label();
outLbl.Text = reader.Value.ToString();
Controls.Add(outLbl);
base.CreateChildControls();
}
}
Når webparten køres caster den en SecurityException:
[SecurityException: Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
Webparten er signed / strong-named og trust level er sat til medium.
Jeg har prøvet at smide webparten i GAC istedet for, men uden held. Jeg har også lavet en custom CAS/trust configuration og prøvet med den istedet for Medium trust level, men stadig uden held. Men det burde jo også virke når webparten placeres i GAC?
I min custom trust-configuration har jeg bl.a. prøvet at tilføje et IPermission element der sætter Unrestricted til true for WebPermission.
Hvis jeg udkommenterer hvad der har med XmlReaderen at gøre fungerer webparten uden problemer.
Skal man parse XML filen på en eller anden speciel måde, eller hvordan?
edt:
Undskyld, jeg glemte lige at nævne at jeg selvfølgelig også har prøvet med Full trust level. Når den kører på full caster den en [WebException: The remote server returned an error: (401) Unauthorized.], og det er vel og mærket når jeg afvikler koden med SPSecurity.RunWithElevatedPrivileges.
Indlæg senest redigeret d. 01.09.2008 10:56 af Bruger #2034