Silverlight回调失败

时间:2011-04-17 13:50:17

标签: c# asp.net silverlight callback

因为我要为'getcustomers'使用一种新方法,所以app不起作用。它确实让用户登录,但这就是全部。 这条消息告诉我我必须做什么?

  

System.ServiceModel.CommunicationException   用户代码未处理   消息=尝试时发生错误   向URI发出请求   的 'https://myserver/Services/Authentication.svc'。   这可能是由于尝试   以跨域方式访问服务   没有适当的跨域政策   到位,或政策   不适合SOAP服务。你可以   需要联系的所有者   服务以发布跨域   策略文件并确保它允许   要发送的与SOAP相关的HTTP标头。   使用此错误也可能是由此引起的   Web服务中的内部类型   没有使用的代理   InternalsVisibleToAttribute属性。   请查看内部异常   更多细节。堆栈跟踪:          在System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object []   参数)          在proxy_2.EndGetLoggedInUser(IAsyncResult   )          在Caretech.Services.AuthenticationClient.GetLoggedInUserCallback(IAsyncResult)   结果)          在System.ServiceModel.AsyncResult.Complete(布尔值   completedSynchronously)
  的InnerException:   System.Security.SecurityException          消息=“”          堆栈跟踪:               在System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback)   beginMethod,Object state)               在System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult)   asyncResult)               在System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult)   结果)          InnerException:System.Security.SecurityException               消息=安全错误。               堆栈跟踪:                    在System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult)   asyncResult)                    在System.Net.Browser.BrowserHttpWebRequest。<> c_ DisplayClass5.b _4(Object   sendState)                    在System.Net.Browser.AsyncHelper。<> c_ DisplayClass4.b _1(Object sendState)               InnerException:尝试创建时发生错误   请求URI   的 'https://myserver/Services/Authentication.svc'。   这可能是由于尝试   以跨域方式访问服务   没有适当的跨域政策   到位,或政策   不适合SOAP服务。你可以   需要联系的所有者   服务以发布跨域   策略文件并确保它允许   要发送的与SOAP相关的HTTP标头。   使用此错误也可能是由此引起的   Web服务中的内部类型   没有使用的代理   InternalsVisibleToAttribute属性。   请查看内部异常   更多细节。

1 个答案:

答案 0 :(得分:1)

您是否在服务器上的网站上托管了您的silverlight应用程序,以及您在另一台服务器上调用的Web服务?出于安全原因,不允许这样做。要么将它们放在同一台服务器上,要么考虑设置跨域策略文件(参见this post)。