信号器自主服务器使用控制台应用程序不在WPF应用程序中

时间:2016-02-13 09:12:45

标签: c# wpf console signalr

我正在使用javascript客户端开发Signalr自主机服务器应用程序。它与Console应用程序一起使用,但在WPF中不能使用相同的代码。

这是我的控制台应用代码。

class Program
    {
        static void Main(string[] args)
        {                
            string url = "http://localhost:8080";
            using (WebApp.Start<Startup>(url))
            {
                Console.WriteLine("Server running on {0}", url);
                Console.ReadLine();
            }
        }
    }
    class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR();
        }
    }
    public class MyHub : Hub
    {
        public void Send(string name, string message)
        {
            Clients.All.addMessage(name, message);
        }
    }

和WPF代码。

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            string url = "http://localhost:8080";
            using (WebApp.Start(url))
            {                   
            }
        }
    }
    class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR();
        }
    }
    public class MyHub : Hub
    {
        public void Send(string name, string message)
        {
            Clients.All.addMessage(name, message);
        }
    }

在javascirpt中按照以下方式访问

    <script src="~/Scripts/jquery-1.6.4.min.js"></script>
    <script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
    <script src="http://localhost:8080/signalr/hubs"></script>
    <script type="text/javascript">
        $(document).ready(function () { 
            $.connection.hub.url = "http://localhost:8080/signalr";

            // Declare a proxy to reference the hub.
            var chat = $.connection.myHub;
            $.connection.hub.start().done(function () {
                chat.server.send('test', 'message');
            });
       });
</script>

现在,当运行控制台应用程序时,它的工作正常。它发送消息,我也在Send方法上遇到调试点。但是当使用WPF应用程序运行时,在浏览器控制台中我会得到以下javascirpt错误

  

&#34;加载集线器时出错。确保您的集线器引用正确&#34;

任何人都知道为什么它不能使用WPF应用程序?

0 个答案:

没有答案