Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

URL Anfragen mit "IHttpModule" und "SPWebConfigModification" umleiten.

Um in Sharepoint anfra­gen auf eigene ASPX Seiten umzu­lei­ten, besteht die Möglichkeit dies durch die Verwendung eines „IHttpModules“ zu rea­li­sie­ren. Das Modul greift spe­zi­fi­sche Anfragen auf defi­nierte Seiten ab und lei­tet diese auf defi­nierte Seiten um.

Hier der Code, um eine Anfrage auf die CreateWebPage.aspx auf die MyPage.aspx umzu­lei­ten:

pic1

Die Verwendung des IHttpModule, wel­ches durch einen Eintrag in die „web.config“ rea­li­siert wird, kann über ein Feature mit Hilfe des SPWebConfigModification Objektes erreicht wer­den. Diese Feature setzt und löscht auto­ma­tisch den not­wen­di­gen Eintrag in der „web.config“.

Hier der Beispielcode um das oben gezeigte IHttpModule anzu­bin­den:

pic2

pic3

Wichtig: Um auch die "Remove" Methode kor­rekt aus­füh­ren zu kön­nen, müs­sen die Eigenschaften des SPWebConfigModification Objektes rich­tig gewählt wer­den.

1. Die Eigenschaft "EnsureChildNote" muss ange­wandt wer­den, da mit der EnsureSection eine spä­tere "Remove" Methode keine Auswirkung lie­fert.

mod.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;

2. Der "mod.Name" muss ent­spre­chend der "mod.Values" ange­passt wer­den. Wird der Name des Objektes will­kür­lich gewählt, ist die Funktionalität der "Add" Methode gewähr­leis­tet, doch wird die Funktionalität der "Remove" Methode kein Resultat lie­fern.

ent­ryva­lue = @"<add name=""IHttpModule"" type=""namespace.class, assem­bly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=…"" />";

Der Angepasste "mod.Name" muss dann fol­gend lau­ten:

ent­ry­name = "add[@name='IHttpModule'][@type='namespace.class, assem­bly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=…]";

Hier nun noch der Inhalt der "feature.xml". Zu beach­ten ist, dass der Scope auf der WebApplication lie­gen muss.

pic4

Links zum Thema:

http://blogs.technet.com/tatianasv/rss_tag_SharePoint+development.xml

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx

http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=4

MFG Gordon

19. Juni 2008
|

Related Posts

Pin It on Pinterest