我使用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
),它不能按预期工作(即成功验证后,棱镜模块加载但视图未切换)。我似乎无法弄清楚为什么会发生这种情况,并希望得到一些帮助/指导。
谢谢!
答案 0 :(得分:1)
仔细检查您提交的异常后,我认为这是问题。
很可能你在ViewModel订阅处理程序中使用某种反射代码(或打开UI对话框),只有在Silverlight以完全信任模式运行时才能执行。
因此,当silverilght应用程序的URL更改为localhost(您的开发服务器)之外的其他内容时,它不再以完全信任模式运行,这就是您获得该异常的原因。
您必须检查是否正在使用[SecurityCritical]属性执行任何方法调用。如果是这样,并且您确实需要执行该方法,则必须以完全信任模式运行Silverlight客户端(不建议这样做,因为这应该仅适用于Intranet方案)。
查看此内容以获取更多info
希望有所帮助
答案 1 :(得分:0)
我已经按照here
所描述的那样将我的困境追溯到MethodAccessException