この特定のエラー メッセージについて複数の質問が寄せられたことは承知していますが、どれも私が経験していることとは関係がありませんでした。
Silverlight & WCF プロジェクトがあります。wcf サービスを呼び出して、データを正常に取得しています。私のサービスには複数の機能があり、それらはすべてうまく機能します。
私の問題は、作成したばかりの関数を呼び出すと、「リモート サーバーがエラーを返しました: NotFound」というエラー メッセージが表示されることです。理由はわかりません。wcf プロジェクトをビルドし、Silverlight でサービスを更新しました。エラーリストには何も表示されません。
どんな助けでも大歓迎です!!!!
Web サービスであるクラス レベルの変数があります。
Silverlight でのコード:
Private WithEvents Service As WebService.SQLServiceClient = GetNewService()
Private Sub btnSave_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles btnSave.Click
Dim View As PagedCollectionView = dgDeficiences.ItemsSource
Service.SaveChangesAsync(txtLOB.Text, View.SourceCollection)
End Sub
WCF のコード:
<OperationContract()>
Public Function SaveChanges(ByVal LOB As String, ByVal Deficiences As List(Of Deficiences)) As Boolean
Dim DT_Old, DT_New, DT_Changes As DataTable
Dim Conn As New SqlConnection(ConnectionString)
Dim Cmd As New SqlCommand(String.Empty, Conn)
DT_Old = GetSQLData(CommandType.StoredProcedure, "EHL_GetLookups", {"Section", "Data"}, {3, LOB})
If DT_Old.Rows.Count < 1 Then Return False
'Copy deficiencies in sql to DT_New
DT_New = DT_Old.Copy
'Update 3 fields with data user provided
For i As Integer = 0 To Deficiences.Count - 1
'Find deficiency row to update by ID field
For j As Integer = 0 To DT_New.Rows.Count - 1
If DT_New.Rows(j)("DeficiencyID") = Deficiences(i).DeficiencyID Then
DT_New.Rows(j)("Status") = Deficiences(i).Status
DT_New.Rows(j)("PatternOfCare") = Deficiences(i).PatternOfCare
DT_New.Rows(j)("MarketNarrative") = Deficiences(i).MarketNarrative
Continue For 'Next Deficiency
End If
Next
Next
'Set primary key so merge works correctly
DT_Old.PrimaryKey = {DT_Old.Columns("DeficiencyID")}
DT_New.PrimaryKey = {DT_New.Columns("DeficiencyID")}
'Make sure all row status = unchanges
DT_Old.AcceptChanges()
'Merge user's changes to data in database
DT_Old.Merge(DT_New)
'Get rows with changes
DT_Changes = DT_Old.GetChanges()
'Save changes to SQL
For i As Integer = 0 To DT_Changes.Rows.Count - 1
Cmd.CommandText = "UPDATE dbo.EHL_Deficiency_NewEHLTest " _
& "SET Status='" & DT_Changes.Rows(i)("Status") & "', Pattern_Of_Care='" & DT_Changes.Rows(i)("PatternOfCare") & "', Market_Narrative='" & DT_Changes.Rows(i)("PatternOfCare") & "' " _
& "WHERE DeficiencyID=" & DT_Changes.Rows(i)("DeficiencyID")
Cmd.ExecuteNonQuery()
Next
If DT_Changes.Rows.Count < 1 Then Return False Else Return True
End Function