在SharePoint 2013 Web部件中使用信号器

在SharePoint 2013 Web部件中使用信号器,sharepoint,signalr,sharepoint-2013,owin,Sharepoint,Signalr,Sharepoint 2013,Owin,我们需要为SharePoint 2013构建一个使用Signal的web部件。我知道使用app-part很容易做到,但就我而言,我需要在web部件中使用app-part。我没有找到任何关于这方面的文章 为此,我按照ASP.NET上Signalr的设置步骤将其添加到SharePoint项目中,如下所示: 将所需的脚本(Signalr.js和JQuery.js)添加到布局文件夹 将对这些文件的引用添加到我的web部件,如 ` ` 我的问题是在最后一点,Owin没有启动,这使得集线器代理文件“/sig

我们需要为SharePoint 2013构建一个使用Signal的web部件。我知道使用app-part很容易做到,但就我而言,我需要在web部件中使用app-part。我没有找到任何关于这方面的文章

为此,我按照ASP.NET上Signalr的设置步骤将其添加到SharePoint项目中,如下所示:

  • 将所需的脚本(Signalr.js和JQuery.js)添加到布局文件夹

  • 将对这些文件的引用添加到我的web部件,如

  • `

    `

    我的问题是在最后一点,Owin没有启动,这使得集线器代理文件“/signal/hubs”文件找不到


    有什么帮助吗?

    我终于找到了解决方案:

    OWIN在程序集Microsoft.OWIN.Host.SystemWeb中使用名为OwinHttpHandler的HttpHandler启动。这在我的SharePoint服务器上不起作用,因为IIS machine.config不包含此处理程序,所以我将其添加到我的网站web.config中,如下所示

    <add name="Owin" verb="*" path="/signalr" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    

    [assembly: OwinStartup(typeof(Notifications.Code.OWINStartup))]
    
    namespace Notifications.Code
    {
    
        public class OWINStartup
        {
            public void Configuration(IAppBuilder app)
            {
                app.MapSignalR();
            }
        }
    }
    
    <add name="Owin" verb="*" path="/signalr" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />