1 //------------------------------------------------------------------------------
2 // <copyright file="ProtocolViolationException.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //------------------------------------------------------------------------------
8 using System.Diagnostics.CodeAnalysis;
9 using System.Runtime.Serialization;
10 using System.Security.Permissions;
14 /// An exception class used when an attempt is made to use an invalid
19 public class ProtocolViolationException : InvalidOperationException, ISerializable {
22 /// Creates a new instance of the <see cref='System.Net.ProtocolViolationException'/>class.
25 public ProtocolViolationException() : base() {
30 /// Creates a new instance of the <see cref='System.Net.ProtocolViolationException'/>
31 /// class with the specified message.
34 public ProtocolViolationException(string message) : base(message) {
37 protected ProtocolViolationException(SerializationInfo serializationInfo, StreamingContext streamingContext)
38 : base(serializationInfo, streamingContext) {
43 [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
44 [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter, SerializationFormatter=true)]
45 void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) {
46 base.GetObjectData(serializationInfo, streamingContext);
50 [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
51 [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
52 public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext)
54 base.GetObjectData(serializationInfo, streamingContext);
56 }; // class ProtocolViolationException
59 } // namespace System.Net