从ObjectDataSource Select方法调用MVC服务时出现CommunicationException

问题描述

| 我的Web应用程序中出现以下异常: \“通信对象System.ServiceModel.Channels.ServiceChannel无法用于通信,因为它处于故障状态\” 堆栈跟踪:   \“服务器堆栈跟踪:位于   System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan   超时)在[0]处抛出异常:   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage   reqMsg,IMessage retMsg)   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&   msgData,Int32类型)位于   System.ServiceModel.ICommunicationObject.Close(TimeSpan超时)   在   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(Object   实例)   System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments   参数)在System.Web.UI.WebControls.ObjectDataSource.Select()   在BudgeteerWeb.EditTransaction.Page_Load(Object sender,EventArgs e)   在   C:\\ Develop \\ Budgeteer \\ BudgeteerWeb \\ BudgeteerWeb \\ MemberPages \\ Transactions \\ Edit.aspx.vb:line   27 \“ 我正在从ObjectDataSource使用的select方法调用WCF服务。如果我不使用基于消息的安全性,则一切正常。但是,一旦我打开带有ClientCredentials的wsHttpBinding,我就会收到上述错误。不知道我缺少什么。 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
提前致谢。     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)