Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署后,WCF服务无法从Silverlight应用程序运行_Wcf_Silverlight 4.0 - Fatal编程技术网

部署后,WCF服务无法从Silverlight应用程序运行

部署后,WCF服务无法从Silverlight应用程序运行,wcf,silverlight-4.0,Wcf,Silverlight 4.0,好吧,我在这里看到了一些非常类似的问题,但似乎没有一个能回答我喜欢的问题。我已经创建了一个Silverlight应用程序,它调用两个服务来填充数据库中的各种组合框。我在本地的机器上没有遇到太多麻烦就成功了 现在我想把它部署到我们的Web服务器上。让ISS7加载Silverlight应用程序相对简单。然而,由于组合框是空的,我的服务似乎都不能正常工作。在IE中,我得到以下错误: 消息:Silverlight应用程序中未处理的错误操作期间发生异常,导致结果无效。检查InnerException以了解

好吧,我在这里看到了一些非常类似的问题,但似乎没有一个能回答我喜欢的问题。我已经创建了一个Silverlight应用程序,它调用两个服务来填充数据库中的各种组合框。我在本地的机器上没有遇到太多麻烦就成功了

现在我想把它部署到我们的Web服务器上。让ISS7加载Silverlight应用程序相对简单。然而,由于组合框是空的,我的服务似乎都不能正常工作。在IE中,我得到以下错误:

消息:Silverlight应用程序中未处理的错误操作期间发生异常,导致结果无效。检查InnerException以了解异常详细信息。位于System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfEssential()处 在MyTestPage.ViewModel.MyService.GetInfoCompletedEventArgs.get_Result()中 在MyTestPage.ViewModel.MainPageViewModel.b_uu2(对象s,GetInfoCompletedEventArgs ea) 在MyTestPage.ViewModel.MyService.MyServiceClient.OnGetInfo完成时(对象状态) 行:1 字符:1 代码:0 URI:

我的问题是,只有在Web服务器上部署时才会发生此错误,我不知道如何调试此问题。错误是要检查InnerException,但我还没有找到答案(经过数小时的搜索)来告诉我应该怎么做

我已经尝试过浏览这些服务,并且我可以使用域名,即。但是,当登录到服务器并使用-这是ServicesReferences.ClientConfig文件中的路径-时,无法找到它

这里的一些答案似乎建议使用clientaccesspolicy.xml文件,但我不明白如果服务与应用程序托管在同一台服务器上,为什么需要这样做——在我的本地计算机上调试时不需要这样做。尽管我有所保留,我还是尝试将clientaccesspolicy.xml文件添加到应用程序的根目录中,但这仍然没有任何区别

所以我有几个问题:

1) 在Web服务器上运行应用程序时,如何访问InnerException?是否有我可以查看或打开的特定日志文件

2) 如果出于某种原因,我试图以跨域方式访问服务(即使它们位于同一台服务器上),我如何配置应用程序以使其不需要

更新:

好的,我可以让追踪工作开始了。我现在可以在页面上看到加载时的跟踪详细信息,但它并没有告诉我任何有用的信息。我还添加了将详细信息写入磁盘的选项。起初这个文件没有被写,我不明白为什么。然后我注意到刷新silverlight应用程序并没有触发对日志的写入。只有当我手动浏览到这些服务时,日志文件才被更新。这似乎向我表明,我的silverlight应用程序根本没有访问服务(出于某种原因)。我尝试剪切视图模型对象并直接从xaml代码隐藏文件中点击服务,但这也没有任何区别

在花了两天多的时间试图弄明白这一点之后,我正在考虑从头开始


在我看来,将在开发机器上工作的东西部署到Web服务器并不难。

我几乎放弃了最初的方法。从这段视频中,我又有了一次尝试。它使用域服务而不是WCF服务,而且实际上在Web服务器上运行它是相当直接的。这个例子已经有两年了,所以现在可能有更好的方法(我愿意接受建议),但至少它在一个小时内就成功了(相比之下,只有2.5天没有成功)。

您是否在Web服务器上安装了WCF Ria服务?是的,我已经使用SERVER=true选项在Web服务器上安装了Ria服务。我想这一定是因为我可以使用域名访问该服务,但在本地主机上浏览时无法访问该服务。DomainService是WCF RIA服务。我认为在您最初的方法中,您使用了正常的WCF服务。查看此页面以获取有关WCF RIA服务的更多信息。是的,这是可能的。我发现例子中使用的术语有时令人困惑。很多例子似乎都以不同的方式做同样的事情,这也无济于事。因此,我很难用Silverlight了解什么是“正确的”或最好的方法。我正在用Silverlight使用WCF RIA服务,对我来说,现在开发和扩展我的系统非常容易。WCF RIA服务的好处在于,访问服务的客户端代码是自动生成的,因此您可以立即使用它。