- PR -

WCF:WindowsフォームアプリケーションでDuplexを実装したい

1
投稿者投稿内容
どらい
会議室デビュー日: 2007/07/12
投稿数: 6
投稿日時: 2007-07-30 10:41
【前提環境】
Visual Studio 2005 Team Suite
Windows XP Professional Version2002 SP2

@WCFサービスをWindowsフォームアプリケーションで実装(サーバーアプリ)
AWCFサービスをWindowsフォームアプリケーションで利用(クライアントアプリ)

というような状態で、クライアント側からサーバーのメソッドをCallするところまでは
いけているのですが、CallBackの関数を呼ぶところで固まってしまいます。ちなみに
クライアントアプリがコンソールアプリケーションであれば問題なく動作します。
いろいろ試してみたのですが、どうしてもCallBackされず困っています。

WCFさわりはじめの若輩者ですが、よろしくお願いします。

'ソース抜粋

'呼び出し側(クライアント)
Private Sub CallServiceMethod()

'DuplexでProxy作成
Dim callBack As New CallBack
Dim context As InstanceContext = New InstanceContext(callBack)
Dim proxy As MyProxy = New MyProxy( _
context, _
New NetNamedPipeBinding, New EndpointAddress("net.pipe://localhost/XXXXX"))
Call proxy.Method()

End Sub

'提供するサービスメソッド
Public Sub Method() Implements IMyService.Method

Dim callBack As ICallBack = OperationContext.Current.GetCallbackChannel(Of ICallBack)()
callBack.CallBack()

End Sub

'サービスの属性
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerCall, ConcurrencyMode:=ConcurrencyMode.Reentrant)> _
Public Class MyServiceCls
どらい
会議室デビュー日: 2007/07/12
投稿数: 6
投稿日時: 2007-07-30 11:58
<<自己解決>>

クライアント側でサービスの呼び出し処理を別スレッドにすれば問題なく動作しました。理由が分からないところではありますが・・・

1

スキルアップ/キャリアアップ(JOB@IT)