首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Silverlight 4服务

Silverlight 4服务
EN

Stack Overflow用户
提问于 2011-05-21 07:25:14
回答 2查看 1.5K关注 0票数 1

我在一个虚拟机器上运行Windows Server 2008,其中包含托管我的silverlight应用程序的IIS with服务器。当我尝试从localhost:80上的服务器(VM)浏览应用程序时,一切正常,并且找到了服务。但当我尝试从网络上的另一台计算机浏览应用程序时,我可以看到主屏幕,silverlight加载了所有内容,但当它调用服务时,我得到了一个异常:

SCRIPT5022: Silverlight应用程序中未处理的错误在操作过程中发生异常,导致结果无效。有关异常详细信息,请查看InnerException。at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() at alisaWebApp.SecurityService.EncryptCompletedEventArgs.get_Result() at alisaWebApp.LoginPage.securityClient_EncryptCompleted(Object sender,EncryptCompletedEventArgs e) at alisaWebApp.SecurityService.SecurityServiceClient.OnEncryptCompleted(Object状态)

我不太确定这是什么意思,但我猜服务是找不到的?但是服务不应该从web服务器调用吗?当我从服务器运行应用程序时,一切都会正常工作。也许我错过了一些关于端口转发的东西?任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2011-05-21 22:10:45

如果您在Silverlight代码中调用服务,则将从用户浏览器中运行的Silverlight应用程序调用该服务。您需要允许特定ip或所有ip使用clientaccesspolicy.xml通过http或https访问服务。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
    <access-policy>
        <cross-domain-access>
            <policy>
                <allow-from http-request-headers= "SOAPAction">
                    <domain uri="http://*"/>
                </allow-from>
                <grant-to>
                    <resource path="/" include-subpaths="true"/>
               </grant-to>
           </policy>
        </cross-domain-access>
    </access-policy>

此文件需要位于web应用的根目录中。

您可能还需要设置一些安全性,除非您希望全世界都能使用您的服务。

另一个问题可能是ClientConfig文件。如果服务端点地址当前设置为localhost (到您的服务器ip),则需要更改其中的服务端点地址。

票数 2
EN

Stack Overflow用户

发布于 2011-05-21 19:54:08

你可能会得到一个跨域的异常。当SilverLight应用程序驻留在本地主机上时,不会强制执行与服务访问关联的安全性。

如果这是正确的,请查看cross domain access上的这篇文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6078519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档