Web アプリケーションで以下の例外が発生します。
" サーバー スタック トレース: System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan タイムアウト) で [0] で再スローされる例外: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) で System.Runtime. System.ServiceModel.ICommunicationObject.Close(TimeSpan タイムアウト)
で System.ServiceModel.ClientBase1.System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout) at System.ServiceModel.ClientBase
1.Close() で System.ServiceModel.ClientBase`1.System.IDisposable.Dispose() で System.Web.UI.WebControls.ObjectDataSourceView.ReleaseInstance(オブジェクト インスタンス) で System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect( C:\Develop\Budgeteer\BudgeteerWeb\BudgeteerWeb\MemberPages\Transactions\Edit.aspx の BudgeteerWeb.EditTransaction.Page_Load(オブジェクト送信者、EventArgs e) の System.Web.UI.WebControls.ObjectDataSource.Select() vb:27行目"
ObjectDataSource で使用される select メソッド内から WCF サービスを呼び出しています。メッセージベースのセキュリティを使用していなければ、すべて問題なく動作します。しかし、ClientCredentials で wsHttpBinding をオンにするとすぐに、上記のエラーが発生します。何が欠けているのかわからない。
ASP コード:
コード ビハインド: objectDataSource select メソッドで使用される関数:
Protected Function getTransaction(ByVal userID As String, ByVal transactionID As Int64)
As BudgeteerService.Transaction
Dim transaction As BudgeteerService.Transaction = New BudgeteerService.Transaction
transaction = wcfProxy.GetTransaction(userID, transactionID)
Return transaction
End Function
Try
transactionID = Int64.Parse(Request.QueryString("TransactionID"))
Dim userIdParm As Parameter = New Parameter
TransactionDataSource.Select() '**EXCEPTION GETS THROWN HERE**
FormView1.DataSource = TransactionDataSource
FormView1.DataBind()
Catch timeOutEx As TimeoutException
Throw timeOutEx
Catch comEx As CommunicationException
Throw comEx
Catch ex As Exception
Throw New Exception("An error occured while trying to retrieve this transaction")
End Try
前もって感謝します。