Development Tools Testing Tools

Total Page:16

File Type:pdf, Size:1020Kb

Development Tools Testing Tools Development tools Testing tools. NUnit Version 7.18 This documentation is provided under restrictions on use and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this documentation, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. © 2021 Creatio. All rights reserved. Table of Contents | 3 Table of Contents Testing tools. NUnit 4 Add tests for the custom class 4 Example implementation algorithm 4 © 2021 Creatio. All rights reserved. Testing tools. NUnit | 4 Testing tools. NUnit Advanced Unit-testing (module testing) is a software development process for verifying the operation capacity of the isolated program components. The tests are usually written by developers for every advanced method of the developed class. This allows to quickly reveal the source code recession – errors in the tested program components. One of the NET-application Unit-testing frameworks is NUnit – Unit-testing environment with an open-source code. A special adapter has been developed to integrate it with Visual Studio. Such adapter can be installed as a Visual Studio extension or as a project NuGet package with the implemented Unit-tests. Use this link to access the 3.x version framework documentation. To create Unit-tests for methods or Creatio custom package class properties: 1. Install NUnit Visual Studio adapter. 2. Switch to the file system development mode. 3. Set up the Unit-test project. 4. Create the tests. 5. Perform testing. Add tests for the custom class Advanced Example. Add tests for the custom class, implemented in the [ Source code ] type UsrNUnitSourceCode schema of the Creatio application sdkNUnit custom package. Example implementation algorithm 1. Install NUnit Visual Studio adapter You can install NUnit Visual Studio adapter either as a Visual Studio extension or as a NuGet package. Installing NUnit adapter as a Visual Studio extension The advantage of installing NUnit adapter as a Visual Studio extension is its availability for any test project since the adapter becomes part of IDE. Another advantage is the automatic extension update. The disadvantage is the necessity to install it for every test project team member. To install NUnit adapter: 1. Download extension from Visual Studio Marketplace *.VSIX-file. © 2021 Creatio. All rights reserved. Testing tools. NUnit | 5 2. Double-click the *.VSIX-file and run the installation. Select the needed Visual Studio versions during installation. Note. As an alternative, you can install NUnit adapter via the Tools > Extensions and Updates menu. Select [ Online ] filter (1) and indicate “NUnit 3 Test Adapter” (2) in the search string. Select NUnit 3 Test Adapter extension in the search results and click [ Download ]. The extension installation starts automatically. Installing NUnit adapter as a NuGet package The advantage of NUnit adapter installation as a NuGet-package is that in this case it becomes part of Visual Studio project and is available for access to all developers who use the project. The disadvantage is the necessity to install it for all Unit-test projects. To install NUnit adapter: 1. Right-click the test project (for instance, Terrasoft.Configuration.Tests.csproj ) and select the [ Manage NuGet Packages... ] command. 2. Indicate “NUnit3TestAdapter” (1) in the search string of the opened NuGet package manager tab. Select the package in the search results (2) and install it (3). © 2021 Creatio. All rights reserved. Testing tools. NUnit | 6 Note. You can find detailed description of NuGet-package installation into Visual Studio projects in the “Package Manager UI” Microsoft article. 2. Switch to the file system development mode Creating Unit-tests for .NET classes, implemented in Creatio packages is only possible in the file system development mode. You can find more information about the Creatio configuration development in the file system, setting up Visual Studio and the server code operation case in “Development in MS Visual Studio”, “IDE settings for development” and “Developing the server code”. The sdkNUnit custom package containing [ Source code ] type UsrNUnitSourceCode schema is used in this case. The UsrNUnitSourceCode C# class containing methods that require writing tests is implemented in this schema source code. Attention. You can access the custom class implementation package at sdkNUnit repository at Github. The sdkNUnit custom package has the following view after it has been uploaded to the file system: © 2021 Creatio. All rights reserved. Testing tools. NUnit | 7 Class source code for testing: namespace Terrasoft.Configuration { public class UsrNUnitSourceCode { // String property. public string StringToTest { get { return "String to test"; } } // The method that verifies the equality of the two strings. public bool AreStringsEqual(string str1, string str2) { return str1 == str2; } } } 3. Set up the Unit-test project The Terrasoft.Configuration.Tests.csproj pre-configured project is used for creating Unit-tests in this case. It is delivered with the Terrasoft.Configuration.sln solution (see “Server code operation in Visual Studio”). Add the NUnit NuGet-package in the project dependency to use NUnit framework for creating tests in the Terrasoft.Configuration.Tests.csproj project. To do this: 1. Right-click the Terrasoft.Configuration.Tests test project in Solution Explorer and select the [ Manage NuGet Packages... ] command. 2. Indicate “NUnit” (1) in the search string of the opened NuGet package manager tab, select the package in the © 2021 Creatio. All rights reserved. Testing tools. NUnit | 8 search results (2) and install it (3). 4. Create the tests Note. It is common practice that the test-containing class name must have the tested class name with “Tests” word in it. It is also convenient to place tests in catalogs to group them in a project. The catalog name should match the tested package name and have “.Tests” ending in it. To create tests for UsrNUnitSourceCode class: 1. Create sdkNUnit.Tests catalog in the Terrasoft.Configuration.Tests.csproj project. 2. Create the new UsrNUnitSourceCodeTests .class in the sdkNUnit.Tests catalog. This class source code will be stored in the UsrNUnitSourceCodeTests.cs file. © 2021 Creatio. All rights reserved. Testing tools. NUnit | 9 3. Add the implementation test methods to the UsrNUnitSourceCodeTests class: using NUnit.Framework; namespace Terrasoft.Configuration.Tests.sdkNUnitTests { [TestFixture] class UsrNUnitSourceCodeTests { // The tested class instance. UsrNUnitSourceCode objToTest = new UsrNUnitSourceCode(); // Testing string. string str = "String to test"; [Test] public void ClassReturnsCorrectStringProperty() { // Testing the string property value. // The value must be populated and match the required value. string res = objToTest.StringToTest; Assert.That(res, Is.Not.Null.And.EqualTo(str)); } [Test] public void StringsMustBeEqual() { // Testing the value equality of the two strings. bool res = objToTest.AreStringsEqual(str, "String to test"); Assert.That(res, Is.True); } [Test] public void StringsMustBeNotEqual() { // Testing the value inequality of the two strings. // This test will fail since the values are equal. bool res = objToTest.AreStringsEqual(str, "String to test"); Assert.That(res, Is.False); } } } The UsrNUnitSourceCodeTests class is decorated by the [ TestFixture ] attribute, which marks it as a test- containing class. Every method testing a specific functionality must be decorated by the [ Test ] attribute. You can find the description of the NUnit framework attributes in the “Attributes” NUnit article. The testing is performed via the Assert.That() method that accepts the tested value and such value limiting © 2021 Creatio. All rights reserved. Testing tools. NUnit | 10 objects as arguments. You can find more information about the assertions, Assert.That() method and limiting model in the “Assertions” and “Constraint Model” NUnit articles. 5. Testing To perform testing, execute the [ Test ] > [ Windows ] > [ Test Explorer ] menu command to open the [ Test Explorer ] window in Visual Studio. Execute the [ Run All ] command to run the tests. The successfully passed tests will be moved to the [ Passed Test ] group, the failed tests will be moved to the [ Failed Test ] group. You can find more information about the [ Test Explorer ] window functionality in the “Run unit tests with Test Explorer” Visual Studio article. © 2021 Creatio. All rights reserved..
Recommended publications
  • Create Mobile Apps with HTML5, Javascript and Visual Studio
    Create mobile apps with HTML5, JavaScript and Visual Studio DevExtreme Mobile is a single page application (SPA) framework for your next Windows Phone, iOS and Android application, ready for online publication or packaged as a store-ready native app using Apache Cordova (PhoneGap). With DevExtreme, you can target today’s most popular mobile devices with a single codebase and create interactive solutions that will amaze. Get started today… ・ Leverage your existing Visual Studio expertise. ・ Build a real app, not just a web page. ・ Deliver a native UI and experience on all supported devices. ・ Use over 30 built-in touch optimized widgets. Learn more and download your free trial devexpress.com/mobile All trademarks or registered trademarks are property of their respective owners. Untitled-4 1 10/2/13 11:58 AM APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE INSIDE Choose a Cloud Network for Government-Compliant magazine Applications Geo-Visualization of SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Government Data Sources Harness Open Data with CKAN, OData and Windows Azure Engage Communities with Open311 THE DIGITAL GOVERNMENT ISSUE Inside the tools, technologies and APIs that are changing the way government interacts with citizens. PLUS SPECIAL GOVERNMENT ISSUE APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE & DEVELOPMENT SPECIAL GOVERNMENT ISSUE APPLICATIONS Enhance Services with Windows Phone 8 Wallet and NFC Leverage Web Assets as Data Sources for Apps APPLICATIONS & DEVELOPMENT SPECIAL GOVERNMENT ISSUE ISSUE GOVERNMENT SPECIAL DEVELOPMENT & APPLICATIONS Untitled-1 1 10/4/13 11:40 AM CONTENTS OCTOBER 2013/SPECIAL GOVERNMENT ISSUE OCTOBER 2013/SPECIAL GOVERNMENT ISSUE magazine FEATURES MOHAMMAD AL-SABT Editorial Director/[email protected] Geo-Visualization of Government KENT SHARKEY Site Manager Data Sources MICHAEL DESMOND Editor in Chief/[email protected] Malcolm Hyson ..........................................
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]
  • Vcpkg, Un Outil Pour Acquérir Et Compiler Plus Simplement Les Librairies Open Source C++ Sur Windows
    043_044_204 24/01/17 21:59 Page43 microsoft 43 # 204 Vcpkg, un outil pour acquérir et compiler plus simplement les librairies open source C++ sur Windows. Eric Mittelette Acquérir une librairie open source, la compiler sur Windows et l’intégrer dans son Microsoft Corp. projet C++ reste une opération délicate, voire une galère. Pour une librairie donnée, il faut trouver les sources, les installer localement, compiler la librairie et enfin la mettre à disposition du projet dans lequel vous souhaitez l’utiliser. a phase de build est de loin la plus subtile et complexe, elle nécessi- source de la librairie. Nous voulions que cette collection de « port files » te souvent un peu d’adaptation (patch) si la librairie n’est pas encore soit open source et que la communauté des développeurs C++ puisse y Ldisponible pour la version de compilateur que vous utilisez, cette contribuer en ajoutant les librairies qu’ils maintiennent ou utilisent. adaptation nécessite encore l’usage d’incantations (sous forme de scripts, L’architecture générale en découle assez naturellement : pas de magie noire…), que seuls les grands « faiseurs » maîtrisent réelle- • Créer une liste de « port file » dans un repo Github ; ment. Nous savons par sondage et les appels au support technique de • Créer un outil en ligne de commande qui exploite cette liste et capable Microsoft que les librairies tierces restent pour plus de 30% des cas le blo- de lancer le processus de compilation au regard des instructions de queur a la migration vers les dernières versions du compilateur C++. Nous chaque « port file » ; savons également que 80% des projets C++ utilisent 2 ou 3 librairies • Installer le résultat de la compilation dans un répertoire local « « LibFolder » ; tierces en moyenne, et que la vaste majorité d’entre elles sont aujourd’hui • Permettre une intégration simple avec Visual studio, CMake ou tout des librairies open source.
    [Show full text]
  • Imagine. Create. Deploy. Inspired? So Are We
    Imagine. Create. Deploy. Inspired? So Are We. Inspiration is all around us. From beautiful screens on the web to well-designed reports. New devices push the development envelope and ask that we consider new technologies. The latest release, DevExpress 12.2, delivers the tools you need to build the multi-channel solutions you can imagine: Windows 8-inspired applications with live tiles perfect for Microsoft Surface, multi-screen iOS and Android apps. It’s all possible. Let’s see what develops. Download your 30-day trial at www.DevExpress.com Copyright 1998-2013 Developer Express, Inc. All rights reserved. All trademarks are property of their respective owners. Untitled-9 1 1/8/13 2:10 PM THE MICROSOFT JOURNAL FOR DEVELOPERS FEBRUARY 2013 VOL 28 NO 2 magazine JavaScript API for Offi ce.........................20 Exploring the New JavaScript API for Offi ce COLUMNS Stephen Oliver and Eric Schmidt ........................................20 CUTTING EDGE Essential Facebook Async Causality Chain Tracking Programming: Andrew Stasyuk ...............................................................32 The JavaScript SDK Dino Esposito, page 6 Building a Simple Comet Application WINDOWS WITH C++ in the Microsoft .NET Framework Creating Desktop Apps Derrick Lau .....................................................................42 with Visual C++ 2012 Kenny Kerr, page 12 Detecting Abnormal Data Using TEST RUN k-Means Clustering Naive Bayes Classifi cation with C# ............................................................. James McCaffrey 54 James McCaffrey,
    [Show full text]
  • Teamcity 7.1 Documentation.Pdf
    1. TeamCity Documentation . 4 1.1 What's New in TeamCity 7.1 . 5 1.2 What's New in TeamCity 7.0 . 14 1.3 Getting Started . 26 1.4 Concepts . 30 1.4.1 Agent Home Directory . 31 1.4.2 Agent Requirements . 32 1.4.3 Agent Work Directory . 32 1.4.4 Authentication Scheme . 33 1.4.5 Build Agent . 33 1.4.6 Build Artifact . 34 1.4.7 Build Chain . 35 1.4.8 Build Checkout Directory . 36 1.4.9 Build Configuration . 37 1.4.10 Build Configuration Template . 38 1.4.11 Build Grid . 39 1.4.12 Build History . 40 1.4.13 Build Log . 40 1.4.14 Build Number . 40 1.4.15 Build Queue . 40 1.4.16 Build Runner . 41 1.4.17 Build State . 41 1.4.18 Build Tag . 42 1.4.19 Build Working Directory . 43 1.4.20 Change . 43 1.4.21 Change State . 43 1.4.22 Clean Checkout . 44 1.4.23 Clean-Up . 45 1.4.24 Code Coverage . 46 1.4.25 Code Duplicates . 47 1.4.26 Code Inspection . 47 1.4.27 Continuous Integration . 47 1.4.28 Dependent Build . 47 1.4.29 Difference Viewer . 49 1.4.30 Guest User . 50 1.4.31 History Build . 51 1.4.32 Notifier . 51 1.4.33 Personal Build . 52 1.4.34 Pinned Build . 52 1.4.35 Pre-Tested (Delayed) Commit . 52 1.4.36 Project . 53 1.4.37 Remote Run . ..
    [Show full text]
  • Didisoft Openssl Library for .NET / 1.4
    DidiSoft OpenSSL Library for .NET / 1.4 1 / 14 Table of contents Introduction .................................................................................................................................... 3 Installation folder ...................................................................................................................... 3 Library contents ....................................................................................................................... 3 Library DLL files ...................................................................................................................... 3 .NET Framework 4.5, 4.6 .................................................................................................. 3 .NET Framework 4.0 ......................................................................................................... 4 .NET Framework 2.0, 3.0, 3.5 .......................................................................................... 4 .NET Core ........................................................................................................................... 4 Referencing ............................................................................................................................. 4 Setup ............................................................................................................................................. 6 Deployment .............................................................................................................................
    [Show full text]
  • Visual Studio Manually Install Nuget Package
    Visual Studio Manually Install Nuget Package Woollen and ectomorphic Husein always revitalizing subglacially and exhumes his galvanizes. Persnickety Trent nibble his threadstransmissibility parasitically. sightsees audibly. Sometimes future Cory decreasing her insipidness apropos, but virile Alden bulk lazily or We check if you want the search for this topic describes a credential provider is not Give rank name the folder location. There a way is not need manual approval. Stay with protect young Padawan, we heard about money learn a lot. But mat you selected flexcel. Unless someone harm you cares a terrible awful and, nothing is rather to own better. Want a nuget website for that in use whatever you can manually add comment is only package manager in your folder source in a failure. It will show as entityframework. Net nuget package and visual studio by another one directory tree to manually if yes, nothing is specified, they are agreeing to? The rightmost value is called a patch version. Startup performance is substantially improved but is still slower than using NUnit directly. The suffer is built into Visual Studio on Windows. By default, console commands operate against taking specific package source free project were set in ride control at bank top label the window. The most popular extensions are displayed initially and you will notice the green check box means they are already installed. Parameterized tests and install your licensed account that out our visitors and install package will do i decided to json packages for that? Are head missing a using directive or an assembly reference? This nuget is nearly impossible for any visual studio.
    [Show full text]
  • NET Hacking & In-Memory Malware
    .NET Hacking & In-Memory Malware Shawn Edwards Shawn Edwards Cyber Adversarial Engineer The MITRE Corporation Hacker Maker Learner Take stuff apart. Change it. Put Motivated by an incessant Devoted to a continuous effort it back together. desire to create and craft. of learning and sharing knowledge. Red teamer. Adversary Numerous personal and emulator. professional projects. B.S. in Computer Science. Adversary Emulation @ MITRE • Red teaming, but specific threat actors • Use open-source knowledge of their TTPs to emulate their behavior and operations • Ensures techniques are accurate to real world • ATT&CK (Adversarial Tactics Techniques and Common Knowledge) • Public wiki of real-world adversary TTPs, software, and groups • CALDERA • Modular Automated Adversary Emulation framework Adversary Emulation @ MITRE • ATT&CK • Adversarial Tactics Techniques and Common Knowledge • Public wiki of real-world adversary TTPs, software, and groups • Lets blue team and red team speak in the same language • CALDERA • Modular Automated Adversary Emulation framework • Adversary Mode: • AI-driven “red team in a box” • Atomic Mode: • Define Adversaries, give them abilities, run operations. Customize everything at will. In-Memory Malware • Is not new • Process Injection has been around for a long time • Typically thought of as advanced tradecraft; not really • Surged in popularity recently • Made easier by open-source or commercial red team tools • For this talk, only discuss Windows malware • When relevant, will include the ATT&CK Technique ID In-Memory
    [Show full text]
  • Componentspace SAML for ASP.NET Core Installation Guide
    ComponentSpace SAML for ASP.NET Core Installation Guide Copyright © ComponentSpace Pty Ltd 2017-2021. All rights reserved. www.componentspace.com ComponentSpace SAML for ASP.NET Core Installation Guide Contents Introduction ............................................................................................................................................ 1 Installation .............................................................................................................................................. 1 NuGet Package Source ........................................................................................................................ 1 NuGet.config ................................................................................................................................... 1 NuGet Package Manager ................................................................................................................ 1 NuGet Package Installation ................................................................................................................. 3 Evaluation vs Licensed Version ............................................................................................................... 5 Upgrading to a Licensed Version ............................................................................................................ 6 Uninstallation .......................................................................................................................................... 7 i ComponentSpace SAML
    [Show full text]
  • Instrument .NET Applications
    Instrument .NET Applications AppDynamics Pro Documentation Version 4.0.x Page 1 Instrument .NET Applications . 3 .NET Supported Environments . 5 Install the .NET Agent . 9 Configure the .NET Agent . 11 Enable SSL for .NET . 15 Instrument Windows Services and Standalone Applications . 20 Name .NET Tiers . 24 Automatically Name .NET Nodes . 26 Unattended Installation for .NET . 27 Upgrade the .NET Agent . 33 Resolve .NET Agent Installation and Configuration Issues . 37 Uninstall the .NET Agent . 48 Install AppDynamics for Windows Azure with NuGet . 49 Register for AppDynamics for Windows Azure . 56 Administer the .NET Agent . 61 .NET Agent Directory Structure . 62 .NET Agent Configuration Properties . 64 Configure Multiple Business Application Support for .NET . 80 Disable Instrumentation for an IIS Application Pool . 87 Configure Application Domain Monitoring . 87 Instrument the DefaultDomain for Standalone Applications . 92 Configure the .NET Machine Agent . 94 Enable Monitoring for Windows Performance Counters . 96 Enable Correlation for .NET Remoting . 97 Enable Thread Correlation for .NET . 100 Enable Instrumentation for WCF Data Services . 101 Configure Machine Snapshots for .NET . 102 Page 2 Instrument .NET Applications On this page: Before You Begin Instrument Your CLR with the .NET Agent Related pages: AppDynamics Essentials Install the .NET Agent AppDynamics for Windows Azure with NuGet Watch the video: Quick Install: .NET Agent Rate this page: For AppDynamics to gather performance data about your .NET applications, you must install the .NET Agent (agent) on the servers where the applications run. You only need to install the agent once per server even if you want to monitor multiple applications on one server. The agent instruments your application and sends performance data back to the AppDynamics Controller.
    [Show full text]
  • Database Synchronization Between Mobile Devices and Classical Relational Database Management Systems
    Faculty of Engineering and Natural Sciences Database synchronization between mobile devices and classical relational database management systems MASTER'S THESIS submitted in partial fulfillment of the requirements for the academic degree Diplom-Ingenieur in the Master's Program SOFTWARE ENGINEERING Submitted by Gergely Kalapos At the Institute for Application Oriented Knowledge Processing Advisor a.Univ.-Prof. Dr. Josef Küng Linz, January, 2015 Eidesstattliche Erklärung Ich erkläre an Eides statt, dass ich die vorliegende Masterarbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt bzw. die wörtlich oder sinngemäß entnommenen Stellen als solche kenntlich gemacht habe. Die vorliegende Masterarbeit ist mit dem elektronisch übermittelten Textdokument identisch. Gergely Kalapos Linz, January 2015 Statutory Declaration I declare that I have developed and written the enclosed master thesis entirely on my own, and have not used sources or means beyond those that are explicitly declared in the text. All thoughts from others and literal quotations are clearly indicated. Gergely Kalapos Linz, January 2015 ii Abstract One significant change in the IT industry in the past years was the rapid expansion of mobile devices. As these devices evolve they became part of different information systems and applications running on these devices communicate with other software components as any other software does. Although the performance of these Smartphones and Tablet-PCs also evolved there are some significant differences between classical PCs, Servers and these mobile devices: The latter will never have the same reliable network as a Server in a server room or a desktop PC connecting to a network via a fixed network cable.
    [Show full text]
  • NET Framework
    .NET Framework #.net 1 1: .NET Framework 2 2 2 . 2 Compact Framework 2 3 Examples 3 C # Hello World 3 Visual Basic .NET Hello World 3 Hello World in F # 4 C ++ / CLI Hello World 4 PowerShell Hello World 4 Nemerle 4 Oxygene 4 Boo Hello World 5 Hello World in Python (IronPython) 5 IL 5 2: .NET 6 6 6 Examples 6 6 3: .NET JSON Newtonsoft.Json 7 7 Examples 7 JSON 7 JSON . 7 4: ADO.NET 8 8 8 Examples 8 SQL 8 - SQL 8 ADO.NET 9 . 10 5: ASP.NET ASP.NET MVC 11 11 Examples 11 11 6: C # SHA1 13 13 Examples 13 # SHA1 13 7: C # SHA1 14 14 Examples 14 # SHA1 14 # 14 8: CLR 15 Examples 15 15 9: DateTime 16 Examples 16 ParseExact 16 TryParse 17 TryParseExact 18 10: HTTP 19 Examples 19 HTTP (HttpListener) 19 HTTP (ASP.NET ) 21 11: HTTP 23 23 Examples 23 System.Net.HttpWebRequest GET 23 System.Net.WebClient GET 23 System.Net.HttpClient GET 24 System.Net.HttpWebRequest POST 24 System.Net.WebClient POST 24 System.Net.HttpClient POST 25 System.Net.Http.HttpClient HTTP 25 12: JIT 27 27 27 Examples 27 27 13: JSON 30 30 Examples 30 System.Web.Script.Serialization.JavaScriptSerializer 30 Json.NET 30 Json.NET 30 - Newtonsoft.Json 31 31 JsonSerializerSettings Json.NET 32 14: LINQ 33 33 33 39 39 ToArray() ToList() ? 39 Examples 39 () 40 () 40 40 OrderByDescending 40 41 41 41 41 () 41 42 42 LastOrDefault 42 SingleOrDefault 42 FirstOrDefault 43 43 44 SelectMany () 44 45 45 45 SequenceEqual 45 46 OfType 46 46 46 46 47 47 GroupBy 47 ToDictionary 48 49 ToArray 49 ToList 49 49 49 ElementAtOrDefault 50 SkipWhile 50 TakeWhile 50 DefaultIfEmpty 50 () 51 51 52 53 54 54 54 55 55 55 15: NuGet 57 57 Examples 57 NuGet 57 UI 58 58 58 59 59 59 (MyGet, Klondike ) 59 UI () Nuget 59 61 16: ReadOnlyCollections 62 62 ReadOnlyCollections ImmutableCollection 62 Examples 62 ReadOnlyCollection 62 62 LINQ 62 62 ReadOnlyCollection 62 : ReadOnlyCollection .
    [Show full text]