Я получаю это исключение:Как убедиться, что вы не получили исключение из состояния Faulted WCF?
Коммуникационный объект System.ServiceModel.Channels.ServiceChannel, не может быть использован для связи , потому что он находится в поврежденном состоянии.
Служба WCF использует по умолчанию wsHttpBinding. Я использую WCF следующим образом, где я использую его:
using (var proxy = new CAGDashboardServiceClient())
{
proxy.Open();
var result = proxy.GetSiteForRegion(ddlRegions.SelectedValue);
ddlSites.DataSource = result;
ddlSites.DataBind();
proxy.Close();
}
Строка ошибки отображается в сообщении, кажется, после последнего proxy.close. Не уверен что происходит. Я запуска сервиса внутри визуальной студии 08.
Вот информация след:
The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
Server stack trace:
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.ClientBase`1.System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.ClientBase`1.Close()
at System.ServiceModel.ClientBase`1.System.IDisposable.Dispose()
at CAGDashboard.UserControls.ucVolunteerCRUDGrid.ddlRegions_SelectedIndexChanged(Object sender, EventArgs e) in C:\Documents and Settings\rballalx\My Documents\Visual Studio 2008\Projects\DashboardCAG\CAGDashboard\UserControls\ucVolunteerCRUDGrid.ascx.cs:line 81
at System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)
at System.Web.UI.WebControls.DropDownList.RaisePostDataChangedEvent()
at System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent()
at System.Web.UI.Page.RaiseChangedEvents()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
спасибо! я попытался без использования инструкции тоже ... без успеха :( – Perpetualcoder
Я написал некоторый код оболочки, который помогает с использованием WCF + с использованием проблемы с блоком http://nimtug.org/blogs/damien-mcgivern/archive/2009/05/26/ ФОС-communicationobjectfaultedexception-Quot-не может-быть использован-для-общений-потому-то-есть-в-нарушенное-состояние-Quot-messagesecurityexception-Quot-ан-ошибки произошли, когда-проверочная-безопасность в наличии the-message-quot.aspx –
Но это IDisposable. «использование» - лучшая практика! –