Je vyžadována podpora jazyka JavaScript
Některé stránky na tomto webu vyžadují podporu jazyka JavaScript. Váš webový prohlížeč jazyk JavaScript nepodporuje nebo jazyk JavaScript není povolen.
Chcete-li zjistit, zda webový prohlížeč podporuje jazyk JavaScript nebo jazyk JavaScript chcete povolit, přečtěte si nápovědu k vašemu webovému prohlížeči.
SilverlightFaultBehavior.cs
Download fileToto je zdrojový kód souboru SilverlightFaultBehavior.cs
Silverlight Fault behavior class.
using System; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; using System.ServiceModel.Description; using System.ServiceModel.Configuration; namespace IMP.Shared { /// <summary> /// Silverlight Fault behavior /// </summary> internal class SilverlightFaultBehavior : BehaviorExtensionElement, IEndpointBehavior { /// <summary> /// Implement to pass data at runtime to bindings to support custom behavior. /// </summary> /// <param name="endpoint">The endpoint to modify.</param> /// <param name="endpointDispatcher">The objects that binding elements require to support the behavior.</param> public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { var inspector = new SilverlightFaultMessageInspector(); endpointDispatcher.DispatchRuntime.MessageInspectors.Add(inspector); } /// <summary> /// Defines the methods that enable custom inspection or modification of inbound and outbound application messages in service applications. /// </summary> public class SilverlightFaultMessageInspector : IDispatchMessageInspector { /// <summary> /// Called after the operation has returned but before the reply message is sent. /// </summary> /// <param name="reply">The reply message. This value is null if the operation is one way.</param> /// <param name="correlationState">The correlation object returned from the System.ServiceModel.Dispatcher.IDispatchMessageInspector.AfterReceiveRequest(System.ServiceModel.Channels.Message@,System.ServiceModel.IClientChannel,System.ServiceModel.InstanceContext) method.</param> public void BeforeSendReply(ref Message reply, object correlationState) { if (reply.IsFault) { HttpResponseMessageProperty property = new HttpResponseMessageProperty(); //Here the response code is changed to 200. property.StatusCode = System.Net.HttpStatusCode.OK; reply.Properties[HttpResponseMessageProperty.Name] = property; } } /// <summary> /// Called after an inbound message has been received but before the message is dispatched to the intended operation. /// </summary> /// <param name="request">The request message.</param> /// <param name="channel">The incoming channel.</param> /// <param name="instanceContext">The current service instance.</param> /// <returns>The object used to correlate state. This object is passed back in the System.ServiceModel.Dispatcher.IDispatchMessageInspector.BeforeSendReply(System.ServiceModel.Channels.Message@,System.Object) method.</returns> public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext) { //Do nothing to the incoming message. return null; } } //The following methods are stubs and not relevant. /// <summary> /// Implement to pass data at runtime to bindings to support custom behavior. /// </summary> /// <param name="endpoint">The endpoint to modify.</param> /// <param name="bindingParameters">The objects that binding elements require to support the behavior.</param> public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { } /// <summary> /// Implements a modification or extension of the client across an endpoint. /// </summary> /// <param name="endpoint">The endpoint that is to be customized.</param> /// <param name="clientRuntime">The client runtime to be customized.</param> public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { } /// <summary> /// Implement to confirm that the endpoint meets some intended criteria. /// </summary> /// <param name="endpoint">The endpoint to validate.</param> public void Validate(ServiceEndpoint endpoint) { } /// <summary> /// Gets the type of behavior. /// </summary> public override Type BehaviorType { get { return typeof(SilverlightFaultBehavior); } } /// <summary> /// Creates a behavior extension based on the current configuration settings. /// </summary> /// <returns>The behavior extension.</returns> protected override object CreateBehavior() { return new SilverlightFaultBehavior(); } } }