【发布时间】:2011-03-29 14:22:24
【问题描述】:
我有一个 Silverlight 应用程序,运行良好。
我正在尝试使用“超出浏览器”,但遇到了几个问题。首先,我无法访问我的服务。
即使在简单的返回“testString”服务调用中,我也会收到“超时异常”。我在本地主机上。
所以我认为跨域策略可能存在问题。
我试着把这个
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
在 crossdomain.xml 文件中
我也试过这样说:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
但没办法,我仍然遇到 TimeOut 异常,并且在服务器端,我的断点还没有到达。
那么我做错了什么?
我应该把这些文件放在哪里?
因为我有一个本地 IIS 服务器,它只有一个“站点”,这个站点有一个“应用程序”,我的应用程序有一个包含服务的文件夹,所以我应该把它放在哪个级别?
非常感谢
编辑:实际上我不知道这是不是这个跨策略问题,或者是因为当它处于浏览器外模式时,它不能使用 Windows 身份验证模式(NTLM)
【问题讨论】:
-
您是否使用 Fiddler 查看过流量?这将告诉您是否在客户端上获得了正确的跨域策略。
-
事实上,如果我在浏览器之外运行它,我在 fiddler 中看不到此应用的任何流量
-
您已将 Fiddler 设置为所有流量,对吗?不仅仅是网络浏览器?
-
如果看不到流量,肯定有问题。我刚刚测试并将 Fiddler 设置为所有进程让我看到 OOB 流量。
-
等等。这是本地主机?您是否将服务电话设置为ipv4.fiddler:<port>?
标签: .net silverlight cross-domain out-of-browser