在Azure应用中托管Silverlight应用程序的步骤

在本文中,将探讨如何在Azure应用中托管Silverlight应用程序。这是一个逐步的过程,涉及到添加Silverlight项目到Azure解决方案,链接Silverlight应用程序到Web服务,以及设置跨域访问策略。这个过程可能会遇到一些挑战,但通过细致的操作,可以成功地完成设置。

添加Silverlight项目到Azure解决方案

首先,需要将Silverlight项目添加到Azure解决方案中。这可以通过以下步骤完成:

1. 右键点击解决方案,然后选择“添加新项目”。

2. 选择“Silverlight应用程序”,为Silverlight应用程序命名,然后点击“确定”。

3. 当点击“确定”按钮时,会出现一个新的窗口,用于创建将托管Silverlight应用程序的Web应用程序。由于已经有了一个Web应用程序,即WebRole,因此选择第三个选项——“将此Silverlight控件链接到现有网站”,如果它还没有被选中的话。

4. 在底部的三个选项中,确保选择第一个选项,将从这个页面获取一些代码。取消选择“将其设置为起始页面”,并选择“启用Silverlight调试”选项。

5. 有一个已知的WCF服务SDK问题可能会导致至少收到一个非常烦人的消息:“此操作不支持相对URI”。虽然这不是致命的,可以忽略它,但作为一个好的编程习惯,倾向于尽可能消除尽可能多的警告消息。要修复它,打开machine.config(包括x86和x64版本),并删除以下部分:

<endpoint address="" binding="netTcpRelayBinding" contract="IMetadataExchange" name="sb" />

Silverlight应用程序链接到Web服务

现在,来将Silverlight应用程序链接到Web服务。这可以通过以下步骤完成:

1. 右键点击上次创建的Silverlight应用程序,然后选择“添加服务引用”。

2. 点击“发现”按钮,它将搜索解决方案中的Web服务。给命名空间一个合理的名称,然后点击“确定”。

3. 转到Silverlight客户端的ServiceReferences.ClientConfig文件,这是在链接Web服务时创建的。查找客户端标签;

<client> <endpoint address="http://localhost:51159/SimplicitaServices.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISimplicitaServices" contract="SimplicitaServices.ISimplicitaServices" name="BasicHttpBinding_ISimplicitaServices" /> </client>

4. 将端口号更改为Azure项目执行的端口号。在开发环境中,这通常是81,对于环境可能会有所不同。

<access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> </allow-from> </policy> </cross-domain-access> </access-policy>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485