受URL影响的Silverlight Prism视图切换?

时间:2013-08-26 11:38:57

标签: c# wcf iis-7.5 silverlight-5.0 prism-4

我使用Prism开发了一个Silverlight业务应用程序,要求用户在访问主应用程序之前登录。 Silverlight应用程序托管在IIS 7.5(端口*:8086)上,并调用托管在同一IIS 7.5实例(端口*:8069)上的WCF服务

当我通过http://localhost:8086访问Silverlight应用程序时,所有工作都按预期工作(即成功验证后,加载棱镜模块并正确切换视图)但是当我通过机器名称(http://xps1521-pc:8086访问它时)或IP地址(http://192.168.10.104:8086),它不能按预期工作(即成功验证后,棱镜模块加​​载视图未切换)。我似乎无法弄清楚为什么会发生这种情况,并希望得到一些帮助/指导。

谢谢!

2 个答案:

答案 0 :(得分:1)

仔细检查您提交的异常后,我认为这是问题。

很可能你在ViewModel订阅处理程序中使用某种反射代码(或打开UI对话框),只有在Silverlight以完全信任模式运行时才能执行。

因此,当silverilght应用程序的URL更改为localhost(您的开发服务器)之外的其他内容时,它不再以完全信任模式运行,这就是您获得该异常的原因。

您必须检查是否正在使用[SecurityCritical]属性执行任何方法调用。如果是这样,并且您确实需要执行该方法,则必须以完全信任模式运行Silverlight客户端(不建议这样做,因为这应该仅适用于Intranet方案)。

查看此内容以获取更多info

希望有所帮助

答案 1 :(得分:0)

我已经按照here

所描述的那样将我的困境追溯到MethodAccessException