2012-10-29 48 views
2

我有一個Silverlight 5應用程序通過HTTPS在通過IIS 6託管的單獨域(服務器)上向WCF數據服務發送請求(說mydomain.com/service.svc)。Silverlight 5 clientaccesspolicy.xml

Silverlight應用程序獲取一個SecurityException,我認爲它與未找到適當的clientaccesspolicy.xml文件有關。我在mydomain.com的wwwroot文件夾中定義的clientaccesspolicy.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> 

怪異的是,在看提琴手業務時,從未有一個請求嘗試爲mydomain.com/clientaccesspolicy.xml。

另一件事是clientaccesspolicy.xml只通過https服務(該服務器上的IIS設置只允許ssl/tls連接),所以這可能是問題的一部分?

+2

他們都在同一個(內聯網/互聯網)區? – potatopeelings

+0

@potatopeelings無法使用或不使用提琴手,所以我不認爲這是代理問題 – user1783084

回答

2

你可以嘗試添加HTTPS://中明確您的允許 - 從:

<allow-from http-request-headers="*"> 
    <domain uri="http://*"/> 
    <domain uri="https://*" /> 
</allow-from> 

我認爲,當你嘗試直接打你看到它的文件(IIS實際上是爲它服務)。

+0

是的!看起來'uri =「*」'不能替代這個。看來'*'只能用同一協議工作。所以如果你在本地調試一個'http://'URL並試圖通過https://' 訪問一個遠程服務,這可能是一個很好的解決方案。當然,這取決於你來回發送的內容,你可能不想允許http訪問。 –

0

試試這個:

<allow-from http-request-headers="*"> 
    <domain uri="*"/> 
    <domain uri="https://*" /> 
</allow-from> 
相關問題