2011-03-11 124 views
0

我目前正在开发一个带有WCF服务的Silverlight应用程序。我的项目流程如下。托管Silverlight应用程序页面与WCF服务的错误

Silverlight页面 - > Service1.svc - > SQL Server 2008和背部

当用户点击一个按钮,它调用一个服务引用(Service.svc)什么我Silverligth页面确实是。基本上,服务所做的是查询SQL数据库(SQL Server 2008)并将查询返回给服务,然后服务将结果返回到将显示的Silverlight页面。

当我调试并从Visual Studio 2010 express运行网页时,所有事情都按照计划进行,即当用户单击按钮时,显示从数据库获取的数据。

但是,当我尝试发布它并在Apache服务器或IIS上运行它时,单击按钮时出现错误。即使从另一台内部连接的PC上也可以正确显示网页,但按下按钮时会出现问题。如下所示,显示

的错误消息:

An exception occurred during the operation, making the result invalid. Check InnerException for exception details. 
at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() 
at SilverlightApplication11.ServiceReference1.DoWorkCompletedEventArgs.get_Result() 
at SilverlightApplication11.About.client_DoWorkCompleted(Object sender, DoWorkCompletedEventArgs e) 
at SilverlightApplication11.ServiceReference1.Service1Client.OnDoWorkCompleted(Object state) 

------------------------------ - >

我有abosolutley不知道如何解决这个问题。我对这个东西很新,请大家帮忙,我现在已经坚持了一个星期。

任何代码片段,你们想请评论,所以我可以在这里发布。

在此先感谢=)

回答

0

服务呼叫你让具有等效的事件进军。当操作完成或失败时,您的处理程序将被调用。传递给您的处理程序的事件参数将包含有关您的错误的信息。继续挖掘内部异常,直到有意义。

另外,您的silverlight的App.xaml.cs有能力在引发异常时执行某些操作。有一个称为UnhandledException的事件可以使用。从那里,你可以输出关于InnerException的更多信息。有时第一个异常没有帮助,但Exception中会有一个InnerException,它会有更多的细节。