【发布时间】:2012-05-26 08:32:23
【问题描述】:
我需要在我的 Windows Azure Web 角色中放置一个 crossdomain.xml 文件。但是在哪里?
我试着把它放在:F:\sitesroot\0
但我的 Unity3D Web 应用程序显示:异常:无法连接,因为未找到有效的跨域策略。 我不知道我错过了什么。 Unity 默认使用端口 (843)。
crossdomain.xml 的放置位置
欢迎任何帮助!
【问题讨论】:
我需要在我的 Windows Azure Web 角色中放置一个 crossdomain.xml 文件。但是在哪里?
我试着把它放在:F:\sitesroot\0
但我的 Unity3D Web 应用程序显示:异常:无法连接,因为未找到有效的跨域策略。 我不知道我错过了什么。 Unity 默认使用端口 (843)。
crossdomain.xml 的放置位置
欢迎任何帮助!
【问题讨论】:
CrossDomainPolicy.xml 必须位于应用程序的根目录。
如果您使用单个 Web 角色,只需在应用程序的根目录添加 CrossDomainPolicy.xml 并正确设置如下:
取决于您在角色的 ServiceDefinition.csdef 中有多少“站点”部分,您将获得多少 \sitesroot\0 和 \sitesroot\1 并且 CrossDomainPolicy.xml 将分发给所有取决于您的角色解决方案设置。
我在以下博客中讨论过这个问题: Silverlight front end calling to WCF Service, all in one Windows Azure Web Role Sample
【讨论】:
您提到了端口 843,听起来它需要 Flash 协议,该协议是端口 843 上的 TCP 套接字侦听器,当它接收到文本 <policy-file-request/> 时会以跨域策略进行响应。你需要这样做吗?您的应用使用套接字吗?
如果您只需要通过 Web 应用程序的端口 80 提供 XML 文件的位置,Avkash 的答案是正确的,但如果您需要使用原始套接字,则需要在服务器上运行一些处理。
【讨论】: