Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1305376 / SmtpException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security.Permissions; [Serializable] public class SmtpException : Exception, ISerializable { SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure; static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse) { return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse); } static string GetMessageForStatus(SmtpStatusCode statusCode) { switch (statusCode) { default : case SmtpStatusCode.CommandUnrecognized: return SR.GetString(SR.SmtpCommandUnrecognized); case SmtpStatusCode.SyntaxError: return SR.GetString(SR.SmtpSyntaxError); case SmtpStatusCode.CommandNotImplemented: return SR.GetString(SR.SmtpCommandNotImplemented); case SmtpStatusCode.BadCommandSequence: return SR.GetString(SR.SmtpBadCommandSequence); case SmtpStatusCode.CommandParameterNotImplemented: return SR.GetString(SR.SmtpCommandParameterNotImplemented); case SmtpStatusCode.SystemStatus: return SR.GetString(SR.SmtpSystemStatus); case SmtpStatusCode.HelpMessage: return SR.GetString(SR.SmtpHelpMessage); case SmtpStatusCode.ServiceReady: return SR.GetString(SR.SmtpServiceReady); case SmtpStatusCode.ServiceClosingTransmissionChannel: return SR.GetString(SR.SmtpServiceClosingTransmissionChannel); case SmtpStatusCode.ServiceNotAvailable: return SR.GetString(SR.SmtpServiceNotAvailable); case SmtpStatusCode.Ok: return SR.GetString(SR.SmtpOK); case SmtpStatusCode.UserNotLocalWillForward: return SR.GetString(SR.SmtpUserNotLocalWillForward); case SmtpStatusCode.MailboxBusy: return SR.GetString(SR.SmtpMailboxBusy); case SmtpStatusCode.MailboxUnavailable: return SR.GetString(SR.SmtpMailboxUnavailable); case SmtpStatusCode.LocalErrorInProcessing: return SR.GetString(SR.SmtpLocalErrorInProcessing); case SmtpStatusCode.UserNotLocalTryAlternatePath: return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath); case SmtpStatusCode.InsufficientStorage: return SR.GetString(SR.SmtpInsufficientStorage); case SmtpStatusCode.ExceededStorageAllocation: return SR.GetString(SR.SmtpExceededStorageAllocation); case SmtpStatusCode.MailboxNameNotAllowed: return SR.GetString(SR.SmtpMailboxNameNotAllowed); case SmtpStatusCode.StartMailInput: return SR.GetString(SR.SmtpStartMailInput); case SmtpStatusCode.TransactionFailed: return SR.GetString(SR.SmtpTransactionFailed); case SmtpStatusCode.ClientNotPermitted: return SR.GetString(SR.SmtpClientNotPermitted); case SmtpStatusCode.MustIssueStartTlsFirst: return SR.GetString(SR.SmtpMustIssueStartTlsFirst); } } public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode)) { this.statusCode = statusCode; } public SmtpException(SmtpStatusCode statusCode, string message) : base(message) { this.statusCode = statusCode; } public SmtpException() : this(SmtpStatusCode.GeneralFailure) { } public SmtpException(string message) : base(message) { } public SmtpException(string message, Exception innerException) : base(message, innerException) { } protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext) { statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status"); } internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage)) { this.statusCode = statusCode; } internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse)) { } ///[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){ base.GetObjectData(serializationInfo, streamingContext); serializationInfo.AddValue("Status", (int)statusCode, typeof(int)); } public SmtpStatusCode StatusCode { get { return this.statusCode; } set { statusCode = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataSet.cs
- Expressions.cs
- StructuredTypeInfo.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- TdsParserStateObject.cs
- LinkLabelLinkClickedEvent.cs
- JsonClassDataContract.cs
- SqlDataReaderSmi.cs
- LayoutEvent.cs
- MediaElementAutomationPeer.cs
- HttpPostProtocolReflector.cs
- SiteMapPath.cs
- SignedPkcs7.cs
- NameValueSectionHandler.cs
- ListSourceHelper.cs
- ChannelServices.cs
- TableSectionStyle.cs
- ProfileGroupSettingsCollection.cs
- ResponseBodyWriter.cs
- SpotLight.cs
- SmiConnection.cs
- ObjectStateEntry.cs
- SqlXmlStorage.cs
- Propagator.Evaluator.cs
- XmlSchemaSequence.cs
- Configuration.cs
- WebPartDisplayMode.cs
- TypeSource.cs
- AdapterUtil.cs
- CodeSubDirectoriesCollection.cs
- HostedTcpTransportManager.cs
- PropertyCondition.cs
- BinaryWriter.cs
- TextContainerChangedEventArgs.cs
- CompilerParameters.cs
- HostedElements.cs
- DataGridViewRowCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- TCPListener.cs
- SamlAudienceRestrictionCondition.cs
- WebPartZoneAutoFormat.cs
- AdornerDecorator.cs
- ProcessInfo.cs
- DynamicPropertyReader.cs
- RsaSecurityToken.cs
- DataViewManager.cs
- XmlDeclaration.cs
- StorageEntityTypeMapping.cs
- AdornedElementPlaceholder.cs
- Triplet.cs
- ListBindingConverter.cs
- LogicalTreeHelper.cs
- AstTree.cs
- CompressedStack.cs
- OracleDataAdapter.cs
- WebServiceErrorEvent.cs
- ViewKeyConstraint.cs
- CharStorage.cs
- SaveLedgerEntryRequest.cs
- Context.cs
- JavaScriptObjectDeserializer.cs
- CompareInfo.cs
- AdapterDictionary.cs
- ExpressionBuilder.cs
- TransformCollection.cs
- LabelAutomationPeer.cs
- OdbcDataReader.cs
- AtlasWeb.Designer.cs
- Int16Converter.cs
- ObjectPersistData.cs
- MetadataPropertyAttribute.cs
- IisHelper.cs
- DbExpressionRules.cs
- DrawingContextDrawingContextWalker.cs
- DiagnosticTrace.cs
- RoleGroupCollectionEditor.cs
- FreezableDefaultValueFactory.cs
- WebConfigurationManager.cs
- CredentialManagerDialog.cs
- RadialGradientBrush.cs
- ZoneButton.cs
- PropertyKey.cs
- DocumentViewerBaseAutomationPeer.cs
- CompoundFileDeflateTransform.cs
- DataGridViewRowEventArgs.cs
- DataBinder.cs
- ExpressionBinding.cs
- TableProviderWrapper.cs
- DesignerOptions.cs
- SignatureHelper.cs
- TextFormatter.cs
- Table.cs
- odbcmetadatacollectionnames.cs
- TextSearch.cs
- AnimationException.cs
- BitmapDownload.cs
- OleDbRowUpdatedEvent.cs
- KerberosRequestorSecurityToken.cs
- MetadataItemEmitter.cs
- ObjectParameter.cs