Chciałbym użyć ASP.NET WebApi wewnątrz rozwiązania farmy SharePoint 2013.SharePoint 2013 i ASP.NET WebApi
Wiem, że nie jest to obsługiwane od razu po zainstalowaniu, ale znalazłem SignalR can be run by means of a simple HttpModule, więc zastanawiałem się, czy można zastosować podobną aplikację.
Dzięki z góry, Bogate
UPDATE czerwca 2013
Wykonany on pracuje przez przerabianiu moduł HTTP przedstawionego we wspomnianym stanowisku:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "kms2013/api/{controller}/{action}",
defaults: new { }
);
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
config.Services.Replace(typeof(IAssembliesResolver), new SPAssemblyResolver());
HostingEnvironment.RegisterVirtualPathProvider(new WebAPIVirtualPathProvider());
SPAssemblyResolver
public class SPAssemblyResolver : IAssembliesResolver
{
public ICollection<Assembly> GetAssemblies()
{
return new List<Assembly> { Assembly.GetExecutingAssembly() };
}
}
WebAPIVirtualPathProvider
samo jak SignalRVirtualPathProvider pokazanego na stanowisku.
nowej emisji
Jedyny problem z tym podejściem jest ScriptResource.axd i WebResource.axd teraz przerwać, gdy SP odwołuje je na stronie. Próbowałem dodać trasę ignorowania:
RouteTable.Routes.Add(new Route("{resource}.axd", new StopRoutingHandler()));
ale wciąż otrzymuję 401 Nieuprawnione. Usunięcie modułu usuwa błąd, więc domyślam się, że wciąż brakuje nam ostatniego fragmentu układanki.
Zakładam, że musisz zmienić Dostawcę ścieżki wirtualnej, zobacz przykład tutaj: https://spsignalr.codeplex.com/SourceControl/latest#MaxMelcher.SPSignalR/SignalRVirtualPathProvider.cs –
Dobra, implementacja VPP zasugerowała wszystkie pułapki brakujące sprawy i wszystko działa teraz. Poprzednio _DirectoryExists_ dawał różnego rodzaju błędy, gdy brakowało _virtualDir.Contains ("my/api/path") _, począwszy od błędów JS SharePoint, uszkodzonego wyszukiwania, itp. – user2363245
Próbuję zrobić to samo, a ja " m prawie tam, ale dostaję błąd, ponieważ nie może znaleźć kontrolera. Wdrażanie tylko projektu webapi działa dobrze, ale wewnątrz SP się psuje. Czy masz jakieś propozycje? –