#眉標=Silverlight #副標=Silverlight開發技術(12) #大標=Silverlight 2.0中的網路通訊方式 #作者=文/圖 董大偉 ============= 程式1 Imports System.ServiceModel Imports System.ServiceModel.Activation _ _ Public Class Service1 _ Public Function GetData() As String() Dim cn As New Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=""...\cNorthWind.MDF"";Integrated Security=True;User Instance=True") cn.Open() Dim da As New Data.SqlClient.SqlDataAdapter("select * from 客戶", cn) Dim dt As New DataTable da.Fill(dt) Dim buf As New ArrayList For Each row As DataRow In dt.Rows buf.Add(row.Item("公司名稱")) Next Return buf.ToArray(GetType(String)) End Function End Class ================ ============= 程式2 Dim WithEvents srv1 As ServiceReference1.Service1Client Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click '初始化 Dim binding As System.ServiceModel.BasicHttpBinding = New System.ServiceModel.BasicHttpBinding() Dim addr As System.ServiceModel.EndpointAddress = New System.ServiceModel.EndpointAddress("http://localhost:1835/Service1.svc") '建立services srv1 = New ServiceReference1.Service1Client(binding, addr) '非同步調用 srv1.GetDataAsync() End Sub ================ ============= 程式3 Private Sub srv1_GetDataCompleted(ByVal sender As Object, ByVal e As ServiceReference1.GetDataCompletedEventArgs) Handles srv1.GetDataCompleted '取回結果 For Each item As String In e.Result Me.ListBox1.Items.Add(item) Next End Sub ================       ============= 程式4 _ Public Function GetData() As String() Dim db As New cNorthWindMLDataContext Dim result = From c In db.客戶s Select c.公司名稱 Return result.ToArray() End Function ================ ============= 程式5                            ================ ============= 程式6 ================