CommunicationException при вызове службы MVC из метода ObjectDataSource Select

В моем веб-приложении я получаю исключение, приведенное ниже: "Объект связи, System.ServiceModel.Channels.ServiceChannel, не может быть использован для связи, поскольку он находится в состоянии" Ошибка "" Трассировка стека:

"Трассировка стека сервера: в System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout) Исключение, переброшенное в [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsgtime) в System.Ru.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, тип Int32) в System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout)
в System.ServiceModel.ClientBase 1.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(Аргументы DataSourceSelectArguments) в System.Web.UI.WebControls.ObjectDataSource.Select() в BudgeteerWeb.EditTransaction.Page_Load(Отправитель объекта, EventArgs e) в C:\Develop\Budgeteer\BudgeteerWeb\BudgeteerWeb\ BudgeteerWeb \Edit.asp. VB: линия 27"

Я вызываю службу WCF из метода выбора, используемого ObjectDataSource. Все работает хорошо, если я не использую безопасность на основе сообщений. Но как только я включаю wsHttpBinding с ClientCredentials, я получаю вышеуказанную ошибку. Не уверен, что мне не хватает.

ASP код:

Код позади: Функция, используемая методом выбора objectDataSource:

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

Заранее спасибо.

0 ответов

Другие вопросы по тегам