8,735
社区成员
发帖
与我相关
我的任务
分享
UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel >
<TextBlock x:Name="text_result" Text="显示结果"></TextBlock>
<Button x:Name="button_get_welcome" Content="测试wcf" Width="100"
Click="button_get_welcome_Click" ></Button>
</StackPanel>
</Grid>
</UserControl>
Partial Public Class MainPage
Inherits UserControl
Private wcf As New ServiceReference1.Service1Client
Private Sub wcf_get_wcf_welcomeCompleted(ByVal s As Object, _
ByVal e As ServiceReference1.get_wcf_welcomeCompletedEventArgs)
text_result.Text = e.Result
End Sub
Public Sub New()
InitializeComponent()
AddHandler wcf.get_wcf_welcomeCompleted, AddressOf wcf_get_wcf_welcomeCompleted
End Sub
Private Sub button_get_welcome_Click(ByVal sender As System.Object, _
ByVal e As System.Windows.RoutedEventArgs)
wcf.get_wcf_welcomeAsync()
End Sub
End Class
<OperationContract()> Public Function get_wcf_welcome() As String
Return "欢迎连接wcf成功。"
End Function
Shared Function getEndpointAddress(ByVal relative_uri As String) As EndpointAddress
Return New EndpointAddress(New Uri(Application.Current.Host.Source, relative_uri))
End Function
Shared Sub use_wcf(ByVal wcf_client_instance As ServiceReferenceOpticalLine.ServiceOpticalLineClient, ByVal end_point_address As String)
Dim _end_point_address As EndpointAddress
_end_point_address = getEndpointAddress(end_point_address) '
' _end_point_address = getEndpointAddress("../Services/Service1.svc")
#If TRACE Then
' 调用wcf超时的解决办法
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 18, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 18, 0)
#Else
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 5, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 5, 0)
#End If
wcf_client_instance.Endpoint.Address = _end_point_address
End Sub
Shared Function getEndpointAddress(ByVal relative_uri As String) As EndpointAddress
Return New EndpointAddress(New Uri(Application.Current.Host.Source, relative_uri))
End Function
Shared Sub use_wcf(ByVal wcf_client_instance As ServiceReferenceOpticalLine.ServiceOpticalLineClient, ByVal end_point_address As String)
'Dim _basic_http_binding As BasicHttpBinding
Dim _end_point_address As EndpointAddress
'_basic_http_binding = getBasicHttpBinding()
_end_point_address = ClassesOptialLineShared.getEndpointAddress(end_point_address) ' _end_point_address = ClassesOptialLineShared.getEndpointAddress("../Services/Service1.svc")
#If TRACE Then
' 调用wcf超时的解决办法
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 18, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 18, 0)
#Else
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 5, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 5, 0)
#End If
wcf_client_instance.Endpoint.Address = _end_point_address
End Sub
Shared Function getEndpointAddress(ByVal relative_uri As String) As EndpointAddress
Return New EndpointAddress(New Uri(Application.Current.Host.Source, relative_uri))
End Function
Shared Sub use_wcf(ByVal wcf_client_instance As ServiceReferenceOpticalLine.ServiceOpticalLineClient, ByVal end_point_address As String)
'Dim _basic_http_binding As BasicHttpBinding
Dim _end_point_address As EndpointAddress
'_basic_http_binding = ClassesOptialLineShared.getBasicHttpBinding()
_end_point_address = ClassesOptialLineShared.getEndpointAddress(end_point_address) ' _end_point_address = ClassesOptialLineShared.getEndpointAddress("../Services/Service1.svc")
#If TRACE Then
' 调用wcf超时的解决办法
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 18, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 18, 0)
#Else
wcf_client_instance.Endpoint.Binding.OpenTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.CloseTimeout = New TimeSpan(0, 1, 0)
wcf_client_instance.Endpoint.Binding.SendTimeout = New TimeSpan(0, 5, 0)
wcf_client_instance.Endpoint.Binding.ReceiveTimeout = New TimeSpan(0, 5, 0)
#End If
wcf_client_instance.Endpoint.Address = _end_point_address
End Sub