我想使用跨域进行演示,其中客户端与服务器位于不同的项目中。我知道这是可能的,因为我在stackoverflow上发现了很多这个。仍然有我读到的所有信息,我没有成功这样做。 演示我想这样做: http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-getting-started-with-signalr-20
我在客户端执行此操作以连接我的服务器:
<script type="text/javascript">
var connection = $.connection.hub.url = 'http://localhost:33691/signalr';
connection.hub.start().done(function () {
alert('Now connected');
}).fail(function () {
alert("fail!");
});
</script>
我正在使用signalR 2.0,我收到此错误:
Uncaught TypeError: Cannot read property 'start' of undefined
和localhost:33691是我的服务器。
在我的服务器中,我在startup.cs中有这个:
public void Configuration(IAppBuilder app)
{
// Branch the pipeline here for requests that start with "/signalr"
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
EnableJSONP = true
};
map.RunSignalR(hubConfiguration);
});
}
我还在我的服务器上的web.config中添加了这个:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
</system.webServer>
所以我的问题是我做错了什么?或者我忘记了什么,或者有人在某处有一个明确的在线演示?
提前致谢
编辑: 我自己解决了问题