Course: Defensive Programming in C#

$131.89 incl. vat


duration: 6 hours |

Language: English (US) |

access duration: 90 days |


In this C# training course you will learn the basics of defensive programming in C#. You will learn the entry applications, testing, error handling, planning and methods. You will also learn to recognize the risks of C# and you will learn the best way to deal with input from a user and to secure WCF applications. Among subjects that covered are Visual Studio, UI applications, .NET applicaties, DLL highjacking, using dynamic SQL and far more.


After completing this course you are familiar with defensive programming in C#.


There is no specific knowledge required.

Target audience

Software Developer


Defensive Programming in C#

6 hours

Defensive Coding Fundamentals for C#

  • start the course
  • describe the potential risks faced by software applications
  • identify the key reasons why risks are a recurring issue
  • recognize the key features of defensive coding
  • list some key approaches to preventing problems during the planning stage
  • recognize what clean code is
  • identify the key features of iterative design
  • use pseudocode to develop programming solutions
  • use assertions in your programming code
  • apply pre and post conditions to C#
  • identify how to perform low level design inspections
  • describe the benefits of testing your code
  • recognize how to write testable code in C#
  • recognize how to perform unit tests using Visual Studio for C#
  • create examples of defensible methods in C#
  • identify the techniques for applying defensive techniques for method parameters and return values in C# methods
  • recognize how to implement variable declarations for defendable code
  • identify how to use null values in creating defendable code
  • identify how to use if and switch statements in creating defendable code
  • identify error handling techniques to promote defensive coding
  • demonstrate how to use exceptions to handle errors
  • create a C# application that incorporates error codes and messages into its error handling
  • recognize how to use error processing and global objects
  • identify how to handle errors locally in C# code
  • recognize how to anticipate potential errors in C# code
  • write clean, testable code

Defensive Coding for C#

  • start the course
  • list potential risks to C# UI applications
  • describe what buffer overflows are and their impact
  • identify how to prevent buffer overflows
  • identify what form injection attacks typically take in C# applications
  • describe how to mitigate injection attacks in C# applications
  • identify how to prevent shatter attacks in .NET applications
  • recognize how to prevent DLL highjacking in .NET applications
  • use exceptions in C# applications
  • specify how to deal with bad data in your C# applications
  • how to use input validation in a C# application
  • how to use regular expressions to help in input validation
  • recognize how to constrain user input to prevent bad data input
  • describe what SQL injection attacks are
  • recognize how to use Stored Procedures to aid in the defense of SQL injection attacks
  • describe some of the pitfalls of using dynamic SQL
  • illustrate how authentication works in WCF
  • recognize how to verify service identities
  • identify how to prevent NTLM attacks
  • recognize how to work with the WindowsIdentity class
  • describe potential XML risks in ASP.NET applications
  • identify how to prevent against XML Entity expansion attacks
  • list the potential problems that path traversal may cause
  • recognize how to prevent path traversal attacks
  • use defensive coding techniques to create secure C# application

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 


Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten


Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service


Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!