Tôi muốn sử dụng ASP.NET WebApi bên trong giải pháp cụm máy chủ SharePoint 2013.SharePoint 2013 và ASP.NET WebApi
Tôi biết nó không được hỗ trợ out-of-the-box, nhưng tôi tìm thấy SignalR can be run by means of a simple HttpModule, vì vậy tôi đã tự hỏi liệu một appoach tương tự có thể được sử dụng.
Cảm ơn trước, Giàu
CẬP NHẬT tháng 6 năm 2013
Made nó làm việc bằng cách làm lại Module HTTP hiển thị trong bài đề cập:
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
Tương tự như SignalRVirtualPathProvider hiển thị trong bài.
NEW ISSUE
Vấn đề duy nhất với phương pháp này là ScriptResource.axd và WebResource.axd nay phá vỡ khi SP tham chiếu chúng trong một trang. Tôi đã cố thêm một tuyến đường bỏ qua:
RouteTable.Routes.Add(new Route("{resource}.axd", new StopRoutingHandler()));
Nhưng tôi tiếp tục nhận được 401 Không được phép. Loại bỏ các mô-đun xóa lỗi, vì vậy tôi đoán chúng tôi vẫn còn thiếu một mảnh cuối cùng của câu đố.
Tôi giả sử bạn phải điều chỉnh các nhà cung cấp đường dẫn ảo, xem một ví dụ ở đây: https://spsignalr.codeplex.com/SourceControl/latest#MaxMelcher.SPSignalR/SignalRVirtualPathProvider.cs –
Fine, việc thực hiện VPP bạn đề nghị bẫy tất cả các trường hợp còn thiếu và mọi thứ đang hoạt động. Trước đây, _DirectoryExists_ mang lại nhiều loại lỗi khác nhau khi thiếu _virtualDir.Contains ("my/api/path") _, từ lỗi SharePoint JS, tìm kiếm bị hỏng, v.v. – user2363245
Tôi đang cố gắng thực hiện tương tự và tôi ' m gần như ở đó, nhưng tôi gặp lỗi vì nó không thể tìm thấy Bộ điều khiển. Triển khai chỉ dự án webapi nó hoạt động tốt, nhưng bên trong SP nó phá vỡ. Bạn có gợi ý nào không? –