Hinzufügen von ASP.NET-Webantrag auf SharePoint Virtual Directory (für SPCONTEXT)
-
09-12-2019 - |
Frage
Ich erhöre eine ASP.NET-Anwendung, die in der IIS-SharePoint-Website gehostet wird.Klicken Sie mit der rechten Maustaste auf die Website, und klicken Sie mit der rechten Maustaste auf die Website, und klicken Sie auf "Antrag hinzufügen" ist das hier verwendete Verfahren.
In unserem Dev-Server, in dem der "Eigentümer" der Anwendung eingestellt ist, wird SPCONTEXT, wie wir erwarten würden.In der Produktion ist SPCONTEXT jedoch null.
Ich habe auch meine eigene Test-SharePoint-Webanwendung erstellt, und ich habe eine Standard-Visual Studio ASP.NET-Web-App hinzugefügt, um die SPCONTEXT-Ausgabe zu testen ... Leider ist SPCONTEXT NULL.
dev server
vorhandene App: spcontext!= null
test app: spcontext== null
prod server
vorhandene App: spcontext== null
test app: spcontext== null
Was fehle ich, dass es dauert, um einen SPCONTEXT zu erhalten?Ich habe SPCONTEXT.GetContext (httpcontext.current) ausprobiert, aber spcontext.web ist dann null.Ideen?
Lösung
Immediately after posting this, I had an idea. None of the web applications that are failing have a "Root" site collection. Technically there is no such thing as a root site collection, but I created one in the Prod Server > Existing App (at the '/' managed path) and things magically started working.
So it seems that SPContext somehow is defaulting to WebApplication.Sites[0]