0

我有一个运行良好的 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)

4

1 回答 1

0

我终于找到了问题所在!

这是一个银光问题:

事实上,我在 App.xaml.cs“ApplicationLoaded”事件中进行了 WCF 调用,一旦我收到该方法,我就在设置我的 RootVisual。

看起来,当我们处于浏览器外模式时,您无法在设置 RootVisual 之前进行 WCF 调用。

现在我正在设置 RootVisual,当 RootVisual 被“加载”时,我正在执行我的请求。它有效!

于 2011-03-29T06:22:24.870 回答