Silverlight フロントエンドから csv ファイルのレコードを DB にインポートしたいと考えています。DB操作を実行するためにWCFサービスを使用しています。ファイル パス全体 (ハード コード) を渡すと、DB にレコードを追加できますが、Silverlight の OpenFileDialog では (セキュリティ上の理由により) ファイル パスを取得できないため、WCF サービスを使用して渡してみました。 FileInfo プロパティまたは StreamReader のいずれかを取得してから、操作を実行します。しかし、それは私に例外を与えています。私は次のコードを持っています -
1) StreamReader Page.xaml.vb ファイルを渡す
Dim service As New ServiceReference1.Service1Client
dlg.ShowDialog()
Dim Reader As System.IO.StreamReader
If dlg.File IsNot Nothing Then
Reader = dlg.File.OpenText
End If
service.ImportPersonInfoAsync(Reader)
'Service1.svc.vb ファイル
<OperationContract()> _
Public Sub ImportPersonInfo(ByVal Reader As System.IO.StreamReader)
'Code to add records to DB table
End Sub
例外が発生しました - リモート サーバーがエラーを返しました: NotFound (EndInvoke メソッド内)
Public Sub EndImportPersonInfo(ByVal result As System.IAsyncResult) Implements ServiceReference1.Service1.EndImportPersonInfo
Dim _args((0) - 1) As Object
MyBase.EndInvoke("ImportPersonInfo", _args, result)
End Sub
2) FileInfo を渡す
Page.xaml.vb ファイル
If dlg.File IsNot Nothing Then
ImportFile = dlg.File
End If
service.ImportPersonInfoAsync(ImportFile)
Service1.svc.vb ファイル
Public Sub ImportPersonInfo(ByVal ImportFile As System.IO.FileInfo)
Dim Reader As System.IO.StreamReader = ImportFile.OpenText
'Do operation
End Sub
BeginInvoke メソッドで例外が発生しました - メソッドにアクセスしようとして失敗しました: System.IO.FileSystemInfo.get_Attributes()
Silverlightを使用してcsvからDBプログラムにレコードをインポートするための解決策またはより良いアプローチを提案/提案してください。
ありがとう!