2017-11-13 2 views
0

Ich habe einen Webservice erstellt, um Aufgabe mit Outlook zu referenzieren - http://syncspviewoutlook.codeplex.com/. (Diese Funktion synchronisiert im Grunde die aktuelle Benutzeraufgabe mit Outlook, anstatt alle Tasks zu synchronisieren, wenn eine Verbindung zu Outlook für eine Aufgabenliste angeklickt wird)Rewritepath funktioniert nicht im Falle von Unterwebsites (Sharepoint 2013)

Ich habe ein httpmodul erstellt, um rewrypath (lists.asmx) mit dem Pfad customservice.asmx neu zu schreiben anstelle von Global.asax-Datei, die für die übergeordnete Website funktioniert (http://example:8081/) Unten ist der Code für den Aufruf meines benutzerdefinierten Webdienstes.

public void context_BeginRequest (object sender, EventArgs e) {

  HttpContext ctx = HttpContext.Current; 
      if (ctx != null) 
      { 
       string path = ctx.Request.Url.AbsolutePath; 
       string userAgent = ctx.Request.UserAgent; 
       if (!string.IsNullOrEmpty(userAgent)) 
       { 
        if (userAgent.Contains("Microsoft Office Outlook") && path.ToLower().IndexOf("_vti_bin/lists.asmx") >= 0) 
        { 
         ctx.RewritePath("/_layouts/15/folder/customservice.asmx"); 
        } 
       } 
      } 

    } 

Aber wenn ich versuche Aufgaben in meinem Subsite zu synchronisieren die RewritePath scheinen doesnot zu arbeiten und es wirft nicht einmal Fehler. Es ruft die neue customservice.asmx-URL nicht auf, obwohl es die Zeile trifft - (ctx.RewritePath ("/ _ layouts/15/folder/customservice.asmx");)

Jede Idee, wie in, warum ist die ursprüngliche Listen. asmx wird aufgerufen und nicht das neue für Unterwebsites (http://example:8081/subsite1/). Ich habe Tracing aktiviert, konnte aber keinen Fehler finden.

Antwort

Verwandte Themen