Silverlight clientaccesspolicy.xml错误?还是设计?

UKS*_*ots 7 silverlight clientaccesspolicy.xml

在clientaccesspolicy文件的域节点中,您可以为子域或协议指定通配符,但它看起来不适用于端口.

特别是在开发时,如果所使用的服务托管在第三方上,那么从localhost asp.net开发服务器上运行的silverlight应用程序的本地调试版本访问可以正常运行:

<domain uri="*"/>
<domain uri="http://*"/>
<domain uri="http://localhost:1234"/> 
Run Code Online (Sandbox Code Playgroud)

(其中1234是具体确定的端口号)

但如果在表格中指定,它似乎不起作用

<domain uri="http://localhost:*"/>
Run Code Online (Sandbox Code Playgroud)

如果有多个开发人员/项目使用该服务,或者您没有为asp.net开发服务器指定端口,那将非常烦人

如果我只是简单地知道格式不正确,或者这是对Silverlight处理clientaccesspolicy的错误还是疏忽,是否有人知道?

小智 6

您描述的行为符合文档,其中指出:

允许使用三种类型的通配符:

一个独立的'*'通配符.此选项用于允许访问同一方案的所有域.HTTP服务将允许所有HTTP呼叫者.HTTPS服务将允许所有HTTPS呼叫者.

"http://*"文字通配符.此选项显式允许所有HTTP呼叫者,即使这是HTTPS服务.

子域通配符.此选项在路径的第一个段(例如, "http:// .contoso.com")中使用通配符,该通配符允许指定域的所有子域.所以举个例子.http://web.contoso.comhttp://mail.contoso.com将被允许​​.请注意,当通配符不发生作为前缀的URI路径(HTTP://网页. .COM等)是不允许的.

http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx

所以没有任何关于端口的通配符,当你允许主机和域的通配符时(你是对的)没有任何意义.