SignalR Self Hosting - 为什么IIS会启动?

时间:2014-01-23 22:10:39

标签: signalr owin self-hosting

我按照本教程创建了一个不需要IIS的SignalR应用程序......

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-signalr-20-self-host

然而,当我运行它时,浏览器会在标签中启动此网址...

`http://localhost:57719/Default.html`

我可以在任务栏中看到IIS Express已启动。

有人可以确认IIS不应该启动(我假设我正在创建一个不需要IIS的自包含应用程序)?

任何想法我可能做错了什么? (请告诉我你需要发布的代码等等,以帮助我解决这个问题。)

2 个答案:

答案 0 :(得分:1)

我创建了项目,添加了包,复制了代码

我替换了这个

   WebApp.Start(url)

WebApp.Start<Startup>(url)

没有IIS,它可以正常工作。

我收到了消息

的异常
  

尝试加载应用时发生以下错误。     - 找不到包含OwinStartupAttribute的程序集。     - 找不到包含Startup或[AssemblyName] .Startup类的程序集。

当我用WebApp.Start(url)

开始时

我使用的是.NET 4.5项目 以下是安装软件包后的参考资料

    <Reference Include="Microsoft.AspNet.SignalR.Core">
      <HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.0.1\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin">
      <HintPath>..\packages\Microsoft.Owin.2.1.0\lib\net45\Microsoft.Owin.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin.Cors">
      <HintPath>..\packages\Microsoft.Owin.Cors.2.1.0\lib\net45\Microsoft.Owin.Cors.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin.Diagnostics">
      <HintPath>..\packages\Microsoft.Owin.Diagnostics.2.0.2\lib\net40\Microsoft.Owin.Diagnostics.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin.Host.HttpListener">
      <HintPath>..\packages\Microsoft.Owin.Host.HttpListener.2.0.2\lib\net45\Microsoft.Owin.Host.HttpListener.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin.Hosting">
      <HintPath>..\packages\Microsoft.Owin.Hosting.2.0.2\lib\net45\Microsoft.Owin.Hosting.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin.Security">
      <HintPath>..\packages\Microsoft.Owin.Security.2.0.2\lib\net45\Microsoft.Owin.Security.dll</HintPath>
    </Reference>

检查版本可能与以前有问题。因为这个libs代码抛出异常,我在上面描述过。

答案 1 :(得分:0)

终于想通了......

从解决方案中删除JavescriptClient(asp.net Web项目),因为如果您只是想从Web浏览器访问服务器,则不需要它。

请按照“设置静态主机和JavaScript SignalR客户端”一节中的说明进行操作......

http://www.dotnetcurry.com/showarticle.aspx?ID=918

(基本上你需要安装另一个软件包以允许自托管的signalR服务器向服务器页面提供服务。)