Click here to Skip to main content
15,883,705 members
This competition has ended

Best C# Article of July 2017

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

Current Entries

Articles that match the contest criteria are automatically entered. The top 50 entries are shown.

Please Sign up or sign in to vote.
4 Jul 2017Marc Clifton
Ability to self-host multiple HTTPS websites without having to pay for hosting and certificates
Please Sign up or sign in to vote.
7 Jul 2017Leif Simon Goodwin
How to pass strings between managed and unmanaged code
Please Sign up or sign in to vote.
5 Jul 2017LoveJenny
EasyLicense is an open-source license tool for .NET applications.
Please Sign up or sign in to vote.
25 Jul 2017Sharp Ninja
MVC as a design pattern has been strongly defined by the Gang of Four, but in recent years it's been hijacked as a marketing term more than a design pattern. This article aims to simplify and define what the MVC design pattern is and present a simple MVC framework that you can reuse in your project
Please Sign up or sign in to vote.
10 Jul 2017Yaseer Mumtaz
This article helps to understand the architecture and use of simple data grid developed in Angular 4.
Please Sign up or sign in to vote.
26 Feb 2021Sheila Pontes
How to capture the event open of a pop up, stop this event and open them wherever you wish
Please Sign up or sign in to vote.
6 Jul 2017Alexander Sharykin
No more Template copies
Please Sign up or sign in to vote.
5 Jul 2017Steve Naidamast
This piece is actually an addendum to the prior paper on hexagonal maps based on the MonoGame Framework, Hexagonal Maps – Part III, as the subject matter presented here could have or should have been included in that paper as well
Please Sign up or sign in to vote.
9 Jul 2017Marc Clifton
Discovering some of the nuances of IIS and looking under the hood at how Katana/Owin does its initialization.
Please Sign up or sign in to vote.
5 Jul 2017Atlapure Ambrish
Solution to disable request validation for single control - clean approach and without much effort
Please Sign up or sign in to vote.
20 Jul 2017Fiyaz Hasan
This article shows you how to configure the ASP.NET Core 2.0 MVC File action result to write file to response with cache headers.
Please Sign up or sign in to vote.
29 Jul 2017Debashis 10433656
How to create an ASP.NET control for image resizer and cropper keeping aspect ratio
Please Sign up or sign in to vote.
1 Jul 2017Milan Stanacev
This article covers internal workings of LiteApi and explains aspects of creating MVC-like WebAPI middleware running on ASP.NET Core .
Please Sign up or sign in to vote.
4 Jul 2017Khawaja Asim
How to convert a List Object to CSV and download? C# .NET
Please Sign up or sign in to vote.
28 Jul 2017ergohack
This is an article on how to post automated test results to Microsoft's Test Manager Infrastructure from external sources (e.g. your home grown automated test harness).
Please Sign up or sign in to vote.
30 Jul 2017PriyankaUpadhyay05
How to consume RESTful service of channel advisor in AX 365
Please Sign up or sign in to vote.
2 Jul 2017Anton Angelov
Learn how to create .NET Core projects that can run Selenium WebDriver tests. Execute from command line simultaneously MSTest, NUnit and XUnit tests
Please Sign up or sign in to vote.
20 Jul 2017Fiyaz Hasan
This article shows you how to enable API versioning for ASP.NET Core Web API following three different techniques.
Please Sign up or sign in to vote.
11 Jul 2017asutreja
Dragging List items within DevExpress MVC FormLayout control to re-arrange/order by end users
Please Sign up or sign in to vote.
21 Jul 2017Roman Kiss
Design, implementation and usage of invoking WF4 from Azure Function
Please Sign up or sign in to vote.
21 Jul 2017Michael Ecklin
SSRS Reports: Show Data from Non-standard Provider
19 Jul 2017Microsoft
Transport for London wanted a low-cost way of installing Wi-Fi networks and sensors in its cable car cabins and cable car stations on both sides of the river.
Please Sign up or sign in to vote.
11 Jul 2017Marius Bancila
Create COM visible types in C# and consume them from C++
Please Sign up or sign in to vote.
19 Jul 2017malzbiertrinker
Anytime you are developing a project using Entity Framework, you need to create a DataLayer class accessing each object within your model with different methods. This generator will do this stuff for you.
Please Sign up or sign in to vote.
4 Oct 2017CMalcheski
Ditching the slowdowns and applying a little elbow grease can create dramatic speed improvements in GDI image blending.
Please Sign up or sign in to vote.
4 Aug 2017Sharp Ninja
Threading can be a daunting topic. This library takes much of the worry (and mistakes) out of multi-threaded application programming.
Please Sign up or sign in to vote.
20 Jul 2017Rahul Rajat Singh
In this article we will This article we will try to understand what is composite design pattern.
Please Sign up or sign in to vote.
20 Jul 2017Bryian Tan
The author is sharing an article on how to create a help tooltip for a HTML element using Web API, Bootstrap Popover and jQuery UI dialog
Please Sign up or sign in to vote.
19 Jul 2017Rodimus74
Based on the Microsoft Xamarin in Visual Studio tutorial, I have updated for VS2017 and then work through some further improvements.
Please Sign up or sign in to vote.
12 Jul 2017Alexander Sharykin
WPF HexGrid Panel
Please Sign up or sign in to vote.
17 Jul 2017gggustafson
This article presents methods to convert CSV formatted data to and from DataTables
Please Sign up or sign in to vote.
28 Jul 2017israrali
A client side grid display, editing, paging, resizing, filtering and sorting using Knockout and JQuery
Please Sign up or sign in to vote.
28 Aug 2017Andreoli Carlo
Simple terrain generator and representation through WPF Viewport3D
Please Sign up or sign in to vote.
24 Jan 2018Aram Tchekrekjian
Explaining 3 ways to dump object in C#, including the Object Dumper, Json Serializer and Yaml Serializer
Please Sign up or sign in to vote.
1 Aug 2017PrashantRamteke
CRUD Operation using ASP.NET CORE 2 and Angular 4 with EntityFramework Core, primeng component and toastr-ng2
Please Sign up or sign in to vote.
8 Nov 2017Ismael M.
A generic DLL that call any .NET DLL in VB6.
Please Sign up or sign in to vote.
24 Jan 2018Aram Tchekrekjian
In this article, I will be explaining the difference between using String and StringBuilder when dealing with your string values and in which cases you should never use String and other cases where StringBuilder is not the optimal solution.
Please Sign up or sign in to vote.
9 Jul 2017Melkin
A simple overview of my opensource library allowing developers to add a dynamic interface to get values from the properties of object instances in other processes
Please Sign up or sign in to vote.
3 Jul 2017Bessem Bousselmi
ColorPicker with Metro interface
Please Sign up or sign in to vote.
18 Apr 2018Fiyaz Hasan
This article shows you how to work with database triggers in entity framework core using a third party library.
Please Sign up or sign in to vote.
29 Jul 2017Dirk Bahle
A simple example to get started with the Unity Container usually used in Prism
Please Sign up or sign in to vote.
23 Jul 2017Navin_Kamalapur
In this tip, we can see how to set up Angular 2 application in ASP.NET core using webpack, a JavaScript library, so that we can start focusing on writing Angular features rather than spending time in setting up an environment to run.
Please Sign up or sign in to vote.
13 Nov 2017Andrey Rodin
Automation of OPTIONS response in REST-service
Please Sign up or sign in to vote.
23 Jul 2017Praveenkj79
This article describes how to test your .NET core API using MS Test.
Please Sign up or sign in to vote.
25 Jul 2017Sergi Ortiz Gomez
Quick tip for capture ENTER key in a Windows Form combobox
Please Sign up or sign in to vote.
21 Jul 2017winsonet
ServiceStack.OrmLite is an Open Source, Fast, Simple, Typed ORM for .NET, the performance is better than EntityFramework and more flexible. You can find more detail in their GitHub site.And in this article, I will show you how to do the code first with OrmLite and keep the data.
Please Sign up or sign in to vote.
5 Jul 2017Aram Tchekrekjian
Displaying friendly names for enumeration elements using the Description annotation
Please Sign up or sign in to vote.
25 Jul 2017ShantanuKulkarni3
Introduction to WPF DrawingContext api

Current Participants

Those with articles that match the contest criteria are automatically entered.

Russian Federation Russian Federation
Team Leader ATS med
Italy Italy
I started programming at Teinos, in a 5 person software working team in march 2004. I got some experience interfacing our main program to various external applications. All of these experiences allowed me to get in touch with many people: end-user, technician and commercial one; learning how to interface myself with these people. After some period I was moved to 'single' software application development. This led me to learn the whole process of software development. From the definition of the specifications to the software release and many times also the installation of the product to the end-user.

In 2009, I moved to ATS. I was charged as Lead Software Developer in a team for a long term new project: Primo (released for the first time in 2010-Q3). The software part for this project was completely written from scratch. These experience led me to understand how to organize the work of a team and take critical decision.

In 2014, in collaboration with a multinational corporation, we started the development of a completely new machine: ARCO FP (released for the first time in 2015-Q3). The software part for this project was completely written from scratch. This experience teaches me how to integrate our company with the needs and rules of other company and how to mitigate different approaches to the production phases.
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
CEO Automate The Planet
Bulgaria Bulgaria
CTO and Co-founder of Automate The Planet Ltd, inventor of BELLATRIX Test Automation Framework, author of "Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices" in C# and Java. Nowadays, he leads a team of passionate engineers helping companies succeed with their test automation. Additionally, he consults companies and leads automated testing trainings, writes books, and gives conference talks. You can find him on LinkedIn every day.
Architect
Jordan Jordan
A passionate software developer with 13+ years of overall experience in various development languages including C#/vb.net, java. The technologies I mostly focus on are: ASP.NET Core, Android, Angular

I currently work as a Corporate Technical Manager in the Digital Solutions Team at Aramex International in Amman, Jordan.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Lead
India India
My name is Ambrish, I am a passionate software developer with rich experience in .Net technologies including vb.net, c#, MVC, Angular JS, jQuery, Windows Services, Asp.net Web Forms, Asp.net Web Api, javascript, entity framework, WCF, windows forms, SQL server.

Currently I am working as a Technical Lead and handling the project from Design, development and mentoring perspectives.
Software Developer
Tunisia Tunisia
.Net Developer
Software Developer (Senior) EVO Payments International
United States United States
Full stack developer on .Net and related technologies with heavy emphasis on back-end API development and integrations.
Software Developer (Senior)
United States United States
I have over 10 years of experience working with Microsoft technologies. I have earned my Microsoft Certified Technology Specialist (MCTS) certification. I'm a highly motivated self-starter with an aptitude for learning new skills quickly.
Software Developer (Senior) Contract Developer
United States United States
I work as a contract developer, specializing in assembly language driver software for specialized hardware. I also focus on identifying and removing performance bottlenecks in any software, using assembly language modifications, as well as locating hard-to-find bugs. I’m a specialist; I prefer to stay away from everyday, mundane development. I can fix problems in high level languages but as a rule I don’t like working with them for general development. There is no shortage of experienced developers in any language besides assembly. I am very much a niche programmer, a troubleshooter; the closer to the hardware I work, the happier I am. I typically take on the tasks others can’t or don’t want to do.
Software Developer (Senior) NEXA, Dubai
United Arab Emirates United Arab Emirates
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Germany Germany
The Windows Presentation Foundation (WPF) and C# are among my favorites and so I developed Edi

and a few other projects on GitHub. I am normally an algorithms and structure type but WPF has such interesting UI sides that I cannot help myself but get into it.

https://de.linkedin.com/in/dirkbahle
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Geek Hour
Bangladesh Bangladesh
Tech Enthusiast | Contributing Author on Microsoft Docs | Github Country Leader (C# and Typescript)

A .NET and JavaScript enthusiast. Likes to work with different technologies on different platforms. Loves the logic and structure of coding and always strives to write more elegant and efficient code. Passionate about design patterns and applying Software Engineering best practices.

I'm a young coder who did exceedingly well in my education and was offered an internship by Microsoft. I've tried a range of things and realized that what I need is a super creative challenge. I'm hungry for a real role in a challenging startup, something I can stick with for years
Software Developer (Senior)
United States United States
In 1964, I was in the US Coast Guard when I wrote my first program. It was written in RPG (note no suffixing numbers). Programs and data were entered using punched cards. Turnaround was about 3 hours. So much for the "good old days!"

In 1970, when assigned to Washington DC, I started my MS in Mechanical Engineering. I specialized in Transportation. Untold hours in statistical theory and practice were required, forcing me to use the university computer and learn the FORTRAN language, still using punched cards!

In 1973, I was employed by the Norfolk VA Police Department as a crime analyst for the High Intensity Target program. There, I was still using punched cards!

In 1973, I joined Computer Sciences Corporation (CSC). There, for the first time, I was introduced to a terminal with the ability to edit, compile, link, and test my programs on-line. CSC also gave me the opportunity to discuss technical issues with some of the brightest minds I've encountered during my career.

In 1975, I moved to San Diego to head up an IR&D project, BIODAB. I returned to school (UCSD) and took up Software Engineering at the graduate level. After BIODAB, I headed up a team that fixed a stalled project. I then headed up one of the two most satisfying projects of my career, the Automated Flight Operations Center at Ft. Irwin, CA.

I left Anteon Corporation (the successor to CSC on a major contract) and moved to Pensacola, FL. For a small company I built their firewall, given free to the company's customers. An opportunity to build an air traffic controller trainer arose. This was the other most satisfying project of my career.

Today, I consider myself capable.
Brazil Brazil
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Pakistan Pakistan
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer ASIMplify
Pakistan Pakistan
He is Khawaja Asim, A Microsoft Certified Professional, and Specialist. Software Engineer by profession, A Toastmaster, and a blogger. He loves to work on interesting projects.

https://asimplify.com
United Kingdom United Kingdom
C#/WPF/C++ Windows developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Product Manager
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Architect Visma Software
Romania Romania
Marius Bancila is the author of Modern C++ Programming Cookbook and The Modern C++ Challenge. He has been a Microsoft MVP since 2006, initially for VC++ and nowadays for Development technologies. He works as a system architect for Visma, a Norwegian-based company. He works with various technologies, both managed and unmanaged, for desktop, cloud, and mobile, mainly developing with VC++ and VC#. He keeps a blog at http://www.mariusbancila.ro/blog, focused on Windows programming. You can follow Marius on Twitter at @mariusbancila.
Software Developer Joey Software Solutions
United States United States
Mark Caplin has specialized in Information Technology solutions for the past 30 years. Specializing in full life-cycle development projects for both enterprise-wide systems and Internet/Intranet based solutions.

For the past fifteen years, Mark has specialized in the Microsoft .NET framework using C# as his tool of choice. For the past four years Mark has been implementing Single Page Applications using the Angular platform.

When not coding, Mark enjoys playing tennis, listening to U2 music, watching Miami Dolphins football and watching movies in Blu-Ray technology.

In between all this, his wife of over 25 years, feeds him well with some great home cooked meals.

You can contact Mark at mark.caplin@gmail.com

...
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Web Developer
United States United States
Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services, devices and solutions that help people and businesses realize their full potential.
This is a Organisation

1 members
Serbia Serbia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Lead
India India
My name is Prashant Ramteke. I have 11+ years of experience in Microsoft technologies. Currently working as a Senior Team Lead.
Currently focusing on C#, ASP.NET Core, EntityFramework core, JavaScript, Angular,React.js,Redux and Microservices.
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Saudi Arabia Saudi Arabia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect
India India

I Started my Programming career with C++. Later got a chance to develop Windows Form applications using C#. Currently using C#, ASP.NET & ASP.NET MVC to create Information Systems, e-commerce/e-governance Portals and Data driven websites.

My interests involves Programming, Website development and Learning/Teaching subjects related to Computer Science/Information Systems. IMO, C# is the best programming language and I love working with C# and other Microsoft Technologies.

  • Microsoft Certified Technology Specialist (MCTS): Web Applications Development with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Accessing Data with Microsoft .NET Framework 4
  • Microsoft Certified Technology Specialist (MCTS): Windows Communication Foundation Development with Microsoft .NET Framework 4

If you like my articles, please visit my website for more: www.rahulrajatsingh.com[^]

  • Microsoft MVP 2015
Web Developer
Australia Australia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer DrUalcman
Philippines Philippines
I am a programmer with skill in c#, VB, MVC, .NET CORE, JAVASCRPT, HTML, ASP, CSS, windows forms, windows app.

I like help the dev community with my experiencies, and sharing my code to everybody.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Web Developer
Brazil Brazil
The life is good
Software Developer (Senior) Black Falcon Software, Inc.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Web Developer
Hong Kong Hong Kong
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect
United States United States
A Solutions Architect with more than fourteen years of experience in application development. I mostly work in .NET, Angular, MEAN stack technologies and love to share what I do and learn during my day to day job. Please check my tutorials and blog:
https://fullstackhub.io
https://fullstackhubblog.com

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. With the exception of the Everything Else category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and articles could be nominated in the C# and VB.NET competitions, respectively.
  9. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  10. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  17. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility

This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Jul - 31 Jul 2017