cipher mailing system

Upload: delhiguy

Post on 03-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Cipher Mailing System

    1/49

    OVERVIEW OF DOT NET FRAMEWORK

    C Sharp (programming language)C# (pronounced / si rp/ see sharp ) is a multi-paradigm programming language encompassing imperative , declarative , functional , generic , object-oriented (class-based ),and component-oriented programming disciplines. It was developed by Microsoft withinthe . !" initiative and later approved as a standard by !cma (!#M$-%%&) and I' (I' /I!# % *+). # is one of the programming languages designed for the #ommon

    anguage Infrastructure .

    # is intended to be a simple, modern, general-purpose, object-oriented programminglanguage. Its development team is led by $nders ejlsberg . "he most recent version is# &.+, which was released on $pril , + +.

    Design goals

    "he !#M$ standard lists these design goals for # 0

    # language is intended to be a simple, modern, general-purpose, object-oriented programming language.

    "he language, and implementations thereof, should provide support for softwareengineering principles such as strong type chec1ing , array bounds chec1ing ,detection of attempts to use uninitiali2ed variables, and automatic garbagecollection . 'oftware robustness, durability, and programmer productivity areimportant.

    "he language is intended for use in developing software components suitable fordeployment in distributed environments.

    'ource code portability is very important, as is programmer portability, especiallyfor those programmers already familiar with # and #33.

    'upport for internationali2ation is very important. # is intended to be suitable for writing applications for both hosted and

    embedded systems , ranging from the very large that use sophisticated operatingsystems , down to the very small having dedicated functions.

    $lthough # applications are intended to be economical with regard to memoryand processing power re4uirements, the language was not intended to competedirectly on performance and si2e with # or assembly language.

    Name

    "he name 5# sharp5 was inspired by musical notation where a sharp indicates that thewritten note should be made a semitone higher in pitch . "his is similar to the languagename of #33 , where 5335 indicates that a variable should be incremented by .

    6ue to technical limitations of display (standard fonts, browsers, etc.) and the fact thatthe sharp symbol (73 889 M7'I# ' $:; 'I< ( "M 0 = >?%>@)) is not present on

    http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:Pronunciation_respelling_keyhttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/C_Sharp_4.0http://en.wikipedia.org/wiki/Strongly_typed_programming_languagehttp://en.wikipedia.org/wiki/Bounds_checkinghttp://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Software_componentshttp://en.wikipedia.org/wiki/Software_componentshttp://en.wikipedia.org/wiki/Internationalization_and_localizationhttp://en.wikipedia.org/wiki/Internationalization_and_localizationhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Clock_ratehttp://en.wikipedia.org/wiki/Musical_notationhttp://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Semitonehttp://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:Pronunciation_respelling_keyhttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Anders_Hejlsberghttp://en.wikipedia.org/wiki/C_Sharp_4.0http://en.wikipedia.org/wiki/Strongly_typed_programming_languagehttp://en.wikipedia.org/wiki/Bounds_checkinghttp://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Software_componentshttp://en.wikipedia.org/wiki/Internationalization_and_localizationhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Clock_ratehttp://en.wikipedia.org/wiki/Musical_notationhttp://en.wikipedia.org/wiki/Sharp_(music)http://en.wikipedia.org/wiki/Semitonehttp://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Sharp_(music)
  • 8/12/2019 Cipher Mailing System

    2/49

    the standard 1eyboard, the number sign (73++ % 7MA!: 'I< ( "M 0 = %B@)) waschosen to represent the sharp symbol in the written name of the programming language."his convention is reflected in the !#M$-%%& # anguage 'pecification. owever,when it is practical to do so (for eCample, in advertising or in boC art)@ Microsoft uses theintended musical symbol.

    "he 5sharp5 suffiC has been used by a number of other . !" languages that are variantsof eCisting languages, including D (a . !" language also designed by Microsoft which isderived from Dava . ), $ (from $da ), and the functional 9 . "he originalimplementation of !iffel for . !" was called !iffel , a name since retired since the full

    !iffel language is now supported. "he suffiC has also been used for libraries , such as

  • 8/12/2019 Cipher Mailing System

    3/49

    they do not affect the generated byte code because the compiler performs type erasure onthe generic type information after it has verified its correctness.

    9urthermore, # has added several major features to accommodate functional-style programming, culminating in their I F eCtensions released with # %.+ and itssupporting framewor1 of ambda !Cpressions , !Ctension Methods , and anonymousclasses. "hese features enable # programmers to use functional programmingtechni4ues, such as closures , when it is advantageous to their application. "he I FeCtensions and the functional imports help developers reduce the amount of 5boilerplate5code that is included in common tas1s li1e 4uerying a database, parsing an Cml file, orsearching through a data structure, shifting the emphasis onto the actual program logic tohelp improve readability and maintainability.

    # used to have a mascot called $ndy (named after $nders ejlsberg). It was retired on> Dan ++&.

    Features

    Ay design, # is the programming language that most directly reflects the underlying#ommon anguage Infrastructure (# I). Most of its intrinsic types correspond to value-

    types implemented by the # I framewor1. owever, the language specification does notstate the code generation re4uirements of the compiler0 that is, it does not state that a #compiler must target a #ommon anguage :untime, or generate #ommon Intermediate

    anguage (#I ), or generate any other specific format. "heoretically, a # compilercould generate machine code li1e traditional compilers of #33 or 9ortran .

    'ome notable distinguishing features of # are0

    "here are no global variables or functions. $ll methods and members must bedeclared within classes. 'tatic members of public classes can substitute for globalvariables and functions.

    ocal variables cannot shadow variables of the enclosing bloc1, unli1e # and #33. ariable shadowing is often considered confusing by #33 teCts. # supports a strict Aoolean datatype , bool . 'tatements that ta1e conditions, such

    as while and if , re4uire an eCpression of a type that implements the true operator, such as the boolean type. hile #33 also has a boolean type, it can befreely converted to and from integers, and eCpressions such as if(a) re4uire onlythat a is convertible to bool, allowing a to be an int, or a pointer. # disallows this5integer meaning true or false5 approach on the grounds that forcing programmersto use eCpressions that return eCactly bool can prevent certain types of common

    programming mista1es in # or #33 such as if (a = b) (use of assignment = instead of e4uality == ).

    In # , memory address pointers can only be used within bloc1s specificallymar1ed as unsafe , and programs with unsafe code need appropriate permissions torun. Most object access is done through safe object references, which alwayseither point to a 5live5 object or have the well-defined null value@ it is impossibleto obtain a reference to a 5dead5 object (one which has been garbage collected), orto a random bloc1 of memory. $n unsafe pointer can point to an instance of avalue-type, array, string, or a bloc1 of memory allocated on a stac1. #ode that is

    http://en.wikipedia.org/wiki/Type_erasurehttp://en.wikipedia.org/wiki/LINQhttp://en.wikipedia.org/wiki/Lambda_Calculushttp://en.wikipedia.org/wiki/Lambda_Calculushttp://en.wikipedia.org/wiki/Extension_methodhttp://en.wikipedia.org/wiki/Extension_methodhttp://en.wikipedia.org/wiki/Closure_(computer_science)http://web.archive.org/web/20060208020139/msdn.microsoft.com/vcsharp/art/csharp_team.gifhttp://web.archive.org/web/20060208020139/msdn.microsoft.com/vcsharp/art/csharp_team.gifhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Variable_shadowinghttp://en.wikipedia.org/wiki/Boolean_datatypehttp://en.wikipedia.org/wiki/Nullable_typehttp://en.wikipedia.org/wiki/Type_erasurehttp://en.wikipedia.org/wiki/LINQhttp://en.wikipedia.org/wiki/Lambda_Calculushttp://en.wikipedia.org/wiki/Extension_methodhttp://en.wikipedia.org/wiki/Closure_(computer_science)http://web.archive.org/web/20060208020139/msdn.microsoft.com/vcsharp/art/csharp_team.gifhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Fortranhttp://en.wikipedia.org/wiki/Variable_shadowinghttp://en.wikipedia.org/wiki/Boolean_datatypehttp://en.wikipedia.org/wiki/Nullable_type
  • 8/12/2019 Cipher Mailing System

    4/49

    not mar1ed as unsafe can still store and manipulate pointers through theSystem.IntPtr type, but it cannot dereference them.

    Managed memory cannot be eCplicitly freed@ instead, it is automatically garbagecollected.

  • 8/12/2019 Cipher Mailing System

    5/49

    comparisons for value types compare the actual data values within the instances, unlessthe corresponding operators are overloaded. alue types are derived fromSystem.ValueType , always have a default value, and can always be created and copied.'ome other limitations on value types are that they cannot derive from each other (butcan implement interfaces) and cannot have an eCplicit default (parameterless)constructor. !Camples of value types are all primitive types, such as int (a signed % -bitinteger), float (a % -bit I!!! floating-point number), char (a 8-bit 7nicode code unit),and System. ateTime (identifies a specific point in time with nanosecond precision).

    ther eCamples are enum (enumerations) and struct (user defined structures).

    In contrast, reference types have the notion of referential identity - each instance of areference type is inherently distinct from every other instance, even if the data within both instances is the same. "his is reflected in default e4uality and ine4ualitycomparisons for reference types, which test for referential rather than structural e4uality,unless the corresponding operators are overloaded (such as the case for System.String ).In general, it is not always possible to create an instance of a reference type, nor to copyan eCisting instance, or perform a value comparison on two eCisting instances, thoughspecific reference types can provide such services by eCposing a public constructor orimplementing a corresponding interface (such as I!loneable or I!omparable ).!Camples of reference types are object (the ultimate base class for all other # classes),System.String (a string of 7nicode characters), and System."rray (a base class for all

    # arrays).

    ADO NETADO NET is a set of computer software components that programmers can use to accessdata and data services. It is a part of the base class library that is included with theMicrosoft . !" 9ramewor1 . It is commonly used by programmers to access and modifydata stored in relational database systems , though it can also access data in non-relationalsources. $6 . !" is sometimes considered an evolution of $ctiveN 6ata bjects ($6 ) technology, but was changed so eCtensively that it can be considered an entirely

    new product.

    Architecture$6 . !" is conceptually divided into consumers and data providers . "he consumersare the applications that need access to the data, and the providers are the softwarecomponents that implement the interface and thereby provides the data to the consumer.

    ADO.NET and isual Studio

    9unctionality eCists in the isual 'tudio I6! to create speciali2ed subclasses of the6ata'et classes for a particular database schema, allowing convenient access to each fieldthrough strongly typed properties . "his helps catch more programming errors at compile-time and ma1es the I6!Hs Intellisense feature more beneficial.

    Entity Framework

    http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/w/index.php?title=ADO.NET_consumer&action=edit&redlink=1http://en.wikipedia.org/wiki/ADO.NET_providerhttp://en.wikipedia.org/wiki/ADO.NET_providerhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Propertieshttp://en.wikipedia.org/wiki/Intellisensehttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/w/index.php?title=ADO.NET_consumer&action=edit&redlink=1http://en.wikipedia.org/wiki/ADO.NET_providerhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Propertieshttp://en.wikipedia.org/wiki/Intellisense
  • 8/12/2019 Cipher Mailing System

    6/49

    "he ADO NET En!i!" Frame or$ is a set of data-access $;Is for the Microsoft . !"9ramewor1 , similar to the Dava ;ersistence $;I , targeting the version of $6 . !" thatships with . !" 9ramewor1 &.+ . $6 . !" !ntity 9ramewor1 is included with . !"9ramewor1 &.+ and isual 'tudio + + , released in $pril + +. $n !ntity 9ramewor1

    Entity is an object which has a 1ey representing the primary 1ey of a logical datastoreentity. $ conceptual Entity Data Model (!ntity-relationship model ) is mapped to adatastore schema model. 7sing the !ntity 6ata Model, the !ntity 9ramewor1 allows datato be treated as entities independently of their underlying datastore representations.

    Entity SQL , a 'F -li1e language, serves for 4uerying the !ntity 6ata Model (instead ofthe underlying datastore). 'imilarly, I F eCtension LINQ to Entities provides typed4uerying on the !ntity 6ata Model. !ntity 'F and I F to !ntities 4ueries areconverted internally into a Canonical Query Tree which is then converted into a 4ueryunderstandable to the underlying datastore (e.g. into 'F in the case of a relationaldatabase ). "he entities can use their relationships, with their changes committed bac1 tothe datastore.

    AS% NETAS% NET is a web application framewor1 developed and mar1eted by Microsoft toallow programmers to build dynamic web sites , web applications and web services . Itwas first released in Danuary ++ with version .+ of the . !" 9ramewor1 , and is thesuccessor to MicrosoftHs $ctive 'erver ;ages ($';) technology. $';. !" is built on the#ommon anguage :untime (# :), allowing programmers to write $';. !" codeusing any supported . !" language . "he $';. !" ' $; eCtension framewor1 allows$';. !" components to process ' $; messages.

    History

    $fter the release of Internet Information 'ervices &.+ in >>*, Microsoft beganresearching possibilities for a new web application model that would solve commoncomplaints about $';, especially with regard to separation of presentation and content and being able to write 5clean5 code. Mar1 $nders , a manager on the II' team, and 'cott>* after graduating from 6u1e 7niversity , weretas1ed with determining what that model would loo1 li1e. "he initial design wasdeveloped over the course of two months by $nders and *.

    "he initial prototype was called 5N';5@

  • 8/12/2019 Cipher Mailing System

    7/49

    success of the # :, which, li1e N';, was still in the early stages of development, somuch so that the N'; team was the first team at Microsoft to target the # :.

    ith the move to the #ommon anguage :untime, N'; was re-implemented in # (1nown internally as 5;roject #ool5 but 1ept secret from the public), and the namechanged to $';3, as by this point the new platform was seen as being the successor to$ctive 'erver ;ages , and the intention was to provide an easy migration path for $';developers.

    Mar1 $nders first demonstrated $';3 at the $'; #onnections conference in ;hoeniC,$ri2ona on May , +++. 6emonstrations to the wide public and initial beta release of$';3 (and the rest of the . !" 9ramewor1) came at the +++ ;rofessional 6evelopers#onference on Duly , +++ in rlando, 9lorida . 6uring Aill

  • 8/12/2019 Cipher Mailing System

    8/49

    Code-behind model

    Microsoft recommends dealing with dynamic program code by using the code-behindmodel, which places this code in a separate file or in a specially designated script tag.#ode-behind files typically have names li1e My age!asp"!cs or My age!asp"!v# whilethe page file is My age!asp" (same filename as the page file ($';N), but with the finaleCtension denoting the page language). "his practice is automatic in Microsoft isual'tudio and other I6!s . hen using this style of programming, the developer writes codeto respond to different events, li1e the page being loaded, or a control being clic1ed,rather than a procedural wal1 through of the document.

    $S !NET% s code-behind model mar1s a departure from #lassic $'; in that it encouragesdevelopers to build applications with separation of presentation and content in mind. Intheory, this would allow a web designer, for eCample, to focus on the design mar1up withless potential for disturbing the programming code that drives it. "his is similar to theseparation of the controller from the view in ModelO iewO#ontroller (M #)framewor1s.

    Directives

    $ directive is special instructions on how $';. !" should process the page. "he most

    common directive is PQR ;age QS which can specify many things, such as which programming language is used for the server-side code.

    User controls

    &ser controls are encapsulations of sections of pages which are registered and used ascontrols in $';. !". 7ser controls are created as $'#N mar1up files. "hese filesusually contain static ( N) "M mar1up, as well as mar1up defining server-side webcontrols. "hese are the locations where the developer can place the re4uired static anddynamic content. $ user control is compiled when its containing page is re4uested and isstored in memory for subse4uent re4uests. 7ser controls have their own events which are

    handled during the life of $';. !" re4uests. $n event bubbling mechanism provides theability to pass an event fired by a user control up to its containing page. 7nli1e an$';. !" page, a user control cannot be re4uested independently@ one of its containing

    pages is re4uested instead.

    Custom controls

    ;rogrammers can also build custom controls for $';. !" applications. 7nli1e usercontrols, these controls do not have an $'#N mar1up file, having all their code compiledinto a dynamic lin1 library (6 ) file. 'uch custom controls can be used across multipleweb applications and isual 'tudio projects

    Rendering techni ue

    $';. !" uses a visited composites rendering techni4ue. 6uring compilation, thetemplate (.aspC) file is compiled into initiali2ation code which builds a control tree (thecomposite) representing the original template. iteral teCt goes into instances of the

    iteral control class, and server controls are represented by instances of a specific controlclass. "he initiali2ation code is combined with user-written code (usually by the assembly

    http://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controllerhttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Dynamic-link_libraryhttp://en.wikipedia.org/wiki/Dynamic-link_libraryhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controllerhttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Dynamic-link_libraryhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studio
  • 8/12/2019 Cipher Mailing System

    9/49

    of multiple partial classes) and results in a class specific for the page. "he page doublesas the root of the control tree.

    $ctual re4uests for the page are processed through a number of steps. 9irst, during theinitiali2ation steps, an instance of the page class is created and the initiali2ation code iseCecuted. "his produces the initial control tree which is now typically manipulated by themethods of the page in the following steps. $s each node in the tree is a controlrepresented as an instance of a class, the code may change the tree structure as well asmanipulate the properties/methods of the individual nodes. 9inally, during the renderingstep a visitor is used to visit every node in the tree, as1ing each node to render itself usingthe methods of the visitor. "he resulting "M output is sent to the client.

    $fter the re4uest has been processed, the instance of the page class is discarded and withit the entire control tree. "his is a source of confusion among novice $';. !"

    programmers who rely on class instance members that are lost with every pagere4uest/response cycle.

    !tate management

    $';. !" applications are hosted by a web server and are accessed using the stateless ""; protocol. $s such, if an application uses stateful interaction, it has to implement

    state management on its own. $';. !" provides various functions for statemanagement. #onceptually, Microsoft treats 5state5 as

  • 8/12/2019 Cipher Mailing System

    10/49

  • 8/12/2019 Cipher Mailing System

    11/49

    Ser er 'i*e &a&hing

    $';. !" offers a 5#ache5 object that is shared across the application and can also beused to store various objects. "he 5#ache5 object holds the data only for a specifiedamount of time and is automatically cleaned after the session time-limit elapses.

    O!her

    ther means of state management that are supported by AS% NET are coo'ies ( caching ,and using the 4uery string .

    "emplate engine

    hen first released, $';. !" lac1ed a template engine . Aecause the . !" 9ramewor1 isobject-oriented and allows for inheritance , many developers would define a new baseclass that inherits from 5'ystem. eb.7I.;age5, write methods there that render "M ,and then ma1e the pages in their application inherit from this new class. hile this allowsfor common elements to be reused across a site, it adds compleCity and miCes sourcecode with mar1up . 9urthermore, this method can only be visually tested by running theapplication - not while designing it. ther developers have used include files and othertric1s to avoid having to implement the same navigation and other elements in every

    page.

    $';. !" .+ introduced the concept of 5master pages5, which allow for template -based page development. $ web application can have one or more master pages, which, beginning with $';. !" .+, can be nested. Master templates have place-holdercontrols, called Content lace)olders to denote where the dynamic content goes, as wellas "M and Dava'cript shared across child pages.

    #hild pages use those #ontent;lace older controls, which must be mapped to the place-holder of the master page that the content page is populating. "he rest of the page isdefined by the shared parts of the master page, much li1e a mail merge in a word

    processor . $ll mar1up and server controls in the content page must be placed within the#ontent;lace older control.

    hen a re4uest is made for a content page, $';. !" merges the output of the content page with the output of the master page, and sends the output to the user.

    "he master page remains fully accessible to the content page. "his means that the content page may still manipulate headers, change title, configure caching etc. If the master page

    eCposes public properties or methods (e.g. for setting copyright notices) the content pagecan use these as well.

    http://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Query_stringhttp://en.wikipedia.org/wiki/Template_engine_(web)http://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Method_(computer_science)http://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Markup_languagehttp://en.wikipedia.org/wiki/Header_filehttp://en.wikipedia.org/wiki/Header_filehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Mail_mergehttp://en.wikipedia.org/wiki/Mail_mergehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Query_stringhttp://en.wikipedia.org/wiki/Template_engine_(web)http://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Method_(computer_science)http://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Markup_languagehttp://en.wikipedia.org/wiki/Header_filehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Mail_mergehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Server_(computing)
  • 8/12/2019 Cipher Mailing System

    12/49

    SCREENS+OTS,

    -) .ogin Form,

    E/plana!ion,

    9rom "his form the :egistered user enters his 7ser ame and ;assword and clic1s onthe 'ign in button from where he will reach to the InboC page where all the receivedmails can be viewed by him/her.

    owever for the on-:egistered 7sers they will have to fill up the :egistration 9ormAy clic1ing on the T#reate an accountU in1 and complete their registration. nly after "his they will be able to 'ign in from the ogin ;age.If any :egistered 7ser forgets his/her password then they can clic1 on the TcanUt accessVour accountU in1 from where they can 1now their respective passwords and then can'ign in.

    T$bout #ipherMailU in1 gives you the general description of the #ipher Mailing'ystem in detail.

    0) In1o/ Form,

  • 8/12/2019 Cipher Mailing System

    13/49

    E/plana!ion,

    9rom this page the signin user can view all the received mails from which he can addthem in the T'pamU option from the T:eport 'pamU Autton or delete them from theT6eleteU Autton and add them in the T"rashU option .if the user clic1s on any mailsubject the completed message will be visible to him/her according to how the sender

    as forwarded the mail in normal or encrypted form in the T iew MessageU 9orm.

    $ in1 of T#hange ;asswordU is available on this form from where the user canchange his eCisting password to a new one according to his/her wish.

    2) Vie Me''age Form,

  • 8/12/2019 Cipher Mailing System

    14/49

    E/plana!ion,

    If the message was send in normal form then normal teCt message will be visible tothe recipient of the mail.

  • 8/12/2019 Cipher Mailing System

    15/49

    n the other hand if the message was send in encrypted form then it will also bevisible to the recipient of the mail in encrypted form. "o view it in normal form theuser will firstly have to enter the Eey re4uired for 6ecryption and finally clic1 onthe T6ecrypt thisU in1. $s soon as the user clic1s on this in1 the teCt messagewould be visible to him/her in normal form.

  • 8/12/2019 Cipher Mailing System

    16/49

    3) Compo'e Mail Form 0

  • 8/12/2019 Cipher Mailing System

    17/49

    E/plana!ion,

    9rom this page the sign in user can send the mails to all the other users either innormal form from the T'endU Autton or in !ncrypted 9orm from the T " '! 6! #:V;"!6 M!''$

    be sent mail will

  • 8/12/2019 Cipher Mailing System

    18/49

    If the user wants to send the mail in encrypted form then he/she will clic1 on theT" '! 6 ! #:V;"!6 M!''$

  • 8/12/2019 Cipher Mailing System

    19/49

    4) En&r"p!Me''age Form

    E/plana!ion,

    9rom this page the user will enter the teCt message which he/she wants to encrypt and

    the specified 1ey for encrypting the message and then clic1 on the T!ncryptU Auttonfrom where a new form gets opened.

    5) Vie 6Sen*En&r"p!Me''age Form,

  • 8/12/2019 Cipher Mailing System

    20/49

    E/plana!ion,

    n this page the user can view the message to be send in encrypted form. "hen ifhe/she wants view that message in normal or decrypted form clic1 on the T6ecryptthisU in1. $fter that a new 9orm iew6ecryptedMessage gets opened.

    7) Vie De&r"p!e*Me''age Form,

  • 8/12/2019 Cipher Mailing System

    21/49

    r else if the user wants to send the encrypted message to another then he/she willhave to clic1 on the T'endU in1 from the iew='end!ncryptMessage 9orm fromwhere a new 9orm as 'end!ncryptedMessage gets opened.

    8) Sen*En&r"p!e*Me''age Form,

  • 8/12/2019 Cipher Mailing System

    22/49

    E/plana!ion,

    9rom this page the user will enter the name of the recipient of the encrypted mail alongwith the subject and clic1 on the T'endU Autton.

    9) Me''ageSen! Form,

  • 8/12/2019 Cipher Mailing System

    23/49

    E/plana!ion,

    "his form shows the user that his sent mails whether in normal or encrypted form has been sent successfully to the other user which he/she can view in the 'ent Mail ption.

    -:) Sen!Mail Form,

  • 8/12/2019 Cipher Mailing System

    24/49

    E/plana!ion,

    "his page gives the complete information to the user about all the sent mails byhim/her from which he can add them in the T'pamU option from the T:eport 'pamUAutton or delete them from the T6eleteU Autton and add them in the T"rashU option.

    --) Dra;!' Form,

  • 8/12/2019 Cipher Mailing System

    25/49

    E/plana!ion,

    ere all the mails will be visible to the user which he/she has saved from the T'ave owU Autton in #ompose Mail form to which he/she can remove permanently byselecting the mail and clic1ing on the T6iscard 6raftsU Autton if it is no longernecessary to be sent.

    -0) Spam Form,

  • 8/12/2019 Cipher Mailing System

    26/49

    E/plana!ion,

    ere all the mails will be visible to the user which he/she has sent from the T:eport'pamU Autton in InboC and 'entMail form to which he/she can remove permanently

    by selecting the mail and clic1ing on the T6elete 9oreverU Autton if it is no longerre4uired.

    -2) Tra'h Form,

  • 8/12/2019 Cipher Mailing System

    27/49

    E/plana!ion,

    ere all the mails will be visible to the user which he/she has sent from the T6eleteUAutton in InboC and 'entMail form to which he/she can remove permanently byselecting the mail and clic1ing on the T6elete 9oreverU Autton if it is no longerre4uired.

    -3) Regi'!ra!ion Form,

  • 8/12/2019 Cipher Mailing System

    28/49

    E/plana!ion,

    "his form gets opened when any user clic1s on the T#reate an $ccountU in1 fromthe ogin page . ere the user will have to mention all the details after that he/shewill clic1 n the 'ubmit Autton and a conformation message of 'uccessful:egistration will be visible once the registration process is completed.

  • 8/12/2019 Cipher Mailing System

    29/49

    -4) Forgo!%a'' or* Form,

  • 8/12/2019 Cipher Mailing System

    30/49

    E/plana!ion,

    "his form gets opened when any user clic1s on the TcanUt access your accountU in1from the ogin page . ere the user will have to mention details such as his user id

    $fter that he/she will clic1 on the T'how 'ecurity FuestionU which will show their :espective security 4uestion entered at the time of their registration and enter the

    $nswer corresponding to that particular 4uestion. 9inally he/she will clic1 on the

    'ubmit Autton and their password will be generated to them.

    -5) A1ou!u' Form,

  • 8/12/2019 Cipher Mailing System

    31/49

    E/plana!ion,

    "his form tells about the features been implemented in the #ipher Mail Mailing'ystem to any user who is viewing the site for their general information.

    -7) Change%a'' or* Form,

  • 8/12/2019 Cipher Mailing System

    32/49

    E/plana!ion,

    "his form gets opened when the signed in user clic1s on the T#hange ;asswordU in1from the InboC page . ere the user will have to mention details such as his old;assword, new password and then retype or confirm new password. 9inally he/shewill clic1 on the 'ubmit Autton and a conformation message as TVour ;assword#hanged successfullyU will be shown on the screen. ow the user has been assigned

    a new password for ogin in the Mailing ebsite.

  • 8/12/2019 Cipher Mailing System

    33/49

    S!ore* %ro&e*ure',

    -) a**'pammail'

  • 8/12/2019 Cipher Mailing System

    34/49

    0) &he&$pa'' or*

  • 8/12/2019 Cipher Mailing System

    35/49

  • 8/12/2019 Cipher Mailing System

    36/49

    3) 'ho *ra;!mail'

  • 8/12/2019 Cipher Mailing System

    37/49

    4) 'ho re&ei e*mail'

  • 8/12/2019 Cipher Mailing System

    38/49

    5) 'ho 'en!mail'

  • 8/12/2019 Cipher Mailing System

    39/49

    T"pe' o; oin, inner join is used to combine the data from different tables having commonvalues in a single result set.

    Da!a1a'e u'e*, mailing'"'!em

    Ta1le',

    -) Sign in

  • 8/12/2019 Cipher Mailing System

    40/49

  • 8/12/2019 Cipher Mailing System

    41/49

    2) MailDe!ail'

  • 8/12/2019 Cipher Mailing System

    42/49

    3) Dra;!Mail'

  • 8/12/2019 Cipher Mailing System

    43/49

    4) SpamMail'

  • 8/12/2019 Cipher Mailing System

    44/49

    5) Tra'hMail'

  • 8/12/2019 Cipher Mailing System

    45/49

    TESTIN?

    "esting presents an interesting anomaly for the software engineer. "heengineer creates of test cases that are intended to LdemolishG the software that has been

    built. 6uring earlier software engineering activities, the engineer attempts to buildsoftware from an abstract concept to a tangible product. In fact, testing is the one step inthe software process that could be viewed (psychologically at least) as destructive ratherthan constructive.

    'oftware engineers are by their nature constructive people. "esting re4uiresthat the developer discard preconceived notions of the LcorrectnessG of software justdeveloped and overcome a conflict of interest that occurs when errors are uncovered.

    "he design of tests for software and other engineered products can be aschallenging as the initial design of the product itself. $ system should always be testedthoroughly before implementing it, as regards its individual programs, the system as awhole, user acceptance, etc., this is because implementing a new system is a major job,which re4uires lot of man-hours and lot of other resources. 'o an error not detected

    before implementation may cost a lot. !ffective testing early in process translates directlyinto long term cost savings from a reduced numbers of errors.

    "esting is the process f eCecuting the programs with the intention of findingerrors. 6uring testing the problem is eCecuted with a set of test cases and output of the

    program for the test cases is evaluated to determine the efficacy of the program to see thatit fulfills the eCpected re4uirements, which will lead to an error free system.

  • 8/12/2019 Cipher Mailing System

    46/49

    TESTIN? O@

  • 8/12/2019 Cipher Mailing System

    47/49

    "he first test approach is called 1la&$ B 1o/ B !e'!ing and the second, hi!e B1o/ !e'!ing

    W+ITE B @O TESTIN?

    hite O boC testing, sometimes called gla'' B 1o/ !e'!ing is a test casedesign method that uses the control structure of the procedural design to derive test cases.7sing white O boC testing methods, the software engineer can derive test cases that O

    .

  • 8/12/2019 Cipher Mailing System

    48/49

    Incorrect of missing functions.Interface errors.!rrors in data structures of eCternal database access.Aehavior or performance errors, andInitiali2ation and termination errors.

    7nli1e white O boC testing, which is performed early in the testing process, blac1 O boC testing tends to be applied during latter stages of testing. Aecause blac1 O boCtesting purposely disregards control structure, attention is focused on the information

    domain.

    TESTIN? %ROCESSES

    Mainly there are three types of testing processes O

    =ni! !e'!ing B the testing of individual modules (unit module) was completedduring the development itself. #reating some test data at time of coding testedeach module and necessary change was made thereon to ma1e sure that a moduleis wor1ing satisfactorily. 9or the unit testing we had tested each and every line ofour main program individually for the errors. 'o each unit of the whole projecthas been debugged.

    In!egra!ion !e'!ing B on completely developing and testing individual module(unit module), we start adding unit modules, each time on adding those unitmodule we chec1 system for errors and recover them if any error found. $bovesteps successfully runs for throughout process.

    "he object is to ta1e unit tested components and build a program structurethat has been dictated by design or as specified in system re4uirement specification.

    S"'!em !e'!ing B after a successful testing of individual programs the system runsthrough a series of test to ensure the wor1ing of the system as a whole. "heobjective of testing the entire system is to verify that the programs meet theoriginal programming specification. 'ystem testing is done with the original dataof national (natural) resources information system.

    @[email protected]?RA%+

    6uring the development of the project we have consulted the following boo1s0

    ) Aeginning $';. et . , roC publication.) ;rofessional $';. et . , roC publication.

    %) Aeginning 'F 'erver +++, roC publication.&) ;rofessional 'F 'erver +++, roC publication.

    eb 'ites consulted0

  • 8/12/2019 Cipher Mailing System

    49/49

    ) www.p p.wroC.com) www.dotnetuncle.com

    http://www.p2p.wrox.com/http://www.dotnetuncle.com/http://www.p2p.wrox.com/http://www.dotnetuncle.com/