2013-07-10 112 views
1

我收到一条错误消息:“安全错误。”调用下面的代码时:singnalR(silverlight客户端)的安全异常

_hubConnection.Start(new LongPollingTransport()).ContinueWith(task => 
{ 
    if (task.IsFaulted) 
    { 
    throw new Exception(task.Exception.GetBaseException().Message); 
    } 
} 

堆栈跟踪:

在System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult的asyncResult) 在Microsoft.AspNet.SignalR.Client.Http.HttpHelper。 <> C_ DisplayClass2.b _0(IAsyncResult的AR) 在System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar, Func 2 endfunction这样,行动1 endAction, Task 1诺言)

跨域XML:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/> 
</cross-domain-policy> 

客户端访问策略:

<?xml version="1.0" encoding="utf-8" ?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-methods="*" http-request-headers="*"> 
     <domain uri="http://*"/> 
     <domain uri="https://*"/> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true"/> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

还尝试提供凭据,但具有相同的结果。

任何想法可能会导致此问题?

+0

发现有一个Silverlight根据样本 https://github.com/SignalR/SignalR/blob/dev/samples/Microsoft.AspNet.SignalR.Samples/silverlight.html 试试吧,也可以使用Fiddler来确保您的clientaccesspolicy.xml是由SL客户端 –

+0

非常感谢。原来我没有指定正确的端口号。 –

+0

@AdamKostecki你可以回答你自己的问题。什么是适当的端口号码? – OmegaMan

回答

1

有github.com/SignalR/SignalR/blob/dev/samples/...下一个Silverlight样品试试吧,也可以使用小提琴手,以确保您clientaccesspolicy.xml由SL客户