2011-04-15 59 views
0

我正在關注一個教程來創建一個使用datagrid並從表中提取數據的silverlight web應用程序,但我一直收到的服務器錯誤只是NotFound而沒有進一步的細節。不知道如何跟蹤錯誤。silverlight應用程序 - 服務器錯誤沒有找到

Imports System.ServiceModel 
Imports System.ServiceModel.Activation 

Public Class Service2 

<OperationContract()> 
Public Function DoWork() As List(Of RealTimeCount) 
    Try 
     Dim df As New DataClasses2DataContext 
     Dim counts = (From record In df.RealTimePostCounts Order By record.pollDate, record.boxFeed, record.boxCount Select record) 
     Dim list As New List(Of RealTimeCount) 
     For Each d In counts 
      list.Add(New RealTimeCount With {.getDate = d.pollDate, .boxItem = d.boxFeed, .boxSum = d.boxCount}) 
     Next 

     Return list 

    Catch ex As Exception.... 

end try 
end function 
end class 



Public Class MainPage 
Inherits UserControl 

Private WithEvents mservice As New ServiceReference1.Service2Client() 


Public Sub New() 
    InitializeComponent() 
End Sub 


Private Sub btnLoad_Click 
    (ByVal sender As System.Object, 
     ByVal e As System.Windows.RoutedEventArgs) Handles btnLoad.Click 
    mservice.DoWorkAsync() 

End Sub 

Private Sub mservice_DoWorkCompleted 
    (ByVal sender As Object, 
    ByVal e As ServiceReference1.DoWorkCompletedEventArgs) 
    Handles mservice.DoWorkCompleted 
    DataGrid1.ItemsSource = e.Result 
    DataGrid1.Visibility = Windows.Visibility.Visible 
End Sub 
End Class 
+1

右鍵單擊YourService.svc並選擇在瀏覽器中查看。發生了什麼? – Nario 2011-04-15 22:55:24

+0

要測試此服務,您需要創建一個客戶端並使用它來調用該服務。您可以使用命令行中的svcutil.exe工具使用以下語法執行此操作:..出現在瀏覽器中 – vbNewbie 2011-04-16 13:51:14

回答

1

該錯誤是非常誤導和沮喪。當我遇到它時,我運行fiddler2(http://www.fiddler2.com),它捕獲網絡流量並會給出導致失敗的確切原因。我見過的最常見的問題是合同不匹配和客戶端訪問策略錯誤。

+0

無法在提琴手中追蹤 – vbNewbie 2011-04-16 14:36:00

+0

在這種情況下,我會建議創建一個快速且髒的非Silverlight客戶端並點擊那個服務。 – NateTheGreat 2011-04-17 13:31:06

1

看起來您並未將服務添加到您的Silverlight應用程序中。
您可以使用WCF或WCF RIA服務。
Here is使用RIA服務的教程。它使用DataGrid控件,代碼可用於VB和C#。
Silverlight 3: Displaying SQL Server Data是使用WCF服務在DataGrid控件上顯示數據的其他示例。

希望這會幫助你。

相關問題