c-jumpstart module 6

Upload: atif-imam

Post on 10-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 C-Jumpstart Module 6

    1/21

    Programming in C# Jump StartJerry Nixon | Microsoft Developer EvangelistDaren May | President & Co-founder, Crank211

  • 7/22/2019 C-Jumpstart Module 6

    2/21

    06 | Advanced C#, Part 2Jerry Nixon | Microsoft Developer EvangelistDaren May | President & Co-founder, Crank211

  • 7/22/2019 C-Jumpstart Module 6

    3/21

    Splitting Assemblies and Projects Diagnostics and Instrumentation

    Module Overview

  • 7/22/2019 C-Jumpstart Module 6

    4/21

    MVA

    Splitting Assemblies and WinMD

  • 7/22/2019 C-Jumpstart Module 6

    5/21

    An assembly is a container for a set of resources and Assemblies can be referenced by other assemblies. Some assemblies are specific to certain technologies. In Visual Studio, an assembly equates to a Project

    What is an assembly?

  • 7/22/2019 C-Jumpstart Module 6

    6/21

    Assembly An assembly is a grouping orphysical container of code Can contain one or more namespace Can be granted security permissions Can be digitally signed Defines a scope

    Namespace A namespace is a grouplogical container of cod Can span multiple files Can span multiple assem Defines a scope

    Assembly versus Namespace

  • 7/22/2019 C-Jumpstart Module 6

    7/21

    Reuse. Shared assemblies allow developers to encapscode so they can be reused across applications and s Building an API (Product)

    Line of Business applications

    Different Platforms Windows Desktop Applications

    Windows Store Apps Windows Phone Apps

    Windows Embedded

    Microsoft Silverlight

    Microsoft XBox

    Why share an assembly?

  • 7/22/2019 C-Jumpstart Module 6

    8/21

    Class Libraries are the Visual Studio project type that assembly that can be shared

    Portable Class Libraries are the Visual Studio project creates an assembly that can be shared across platfo uses only the lowest-common-denominator.

    Windows Component Libraries (WinMD/Windows Methe Visual Studio project type that creates an assembWindows Store Apps that can be shared across langu JavaScript cannot be used to create WinMDs

    How to share assemblies?

  • 7/22/2019 C-Jumpstart Module 6

    9/21

    A Windows Runtime Component is acode library can be consumed by allApp Store development languages Through projection

    Simple Rules Only WinRT types can b No generics can be exp Name cant start with W Polymorphism isnt avai Public classes must be s Public structures can on

    Public members, properevents

    What is a Windows Runtime Componen

  • 7/22/2019 C-Jumpstart Module 6

    10/21

    Windows Runtime Components

  • 7/22/2019 C-Jumpstart Module 6

    11/21

    MVA

    Diagnostics and Instrumentation

  • 7/22/2019 C-Jumpstart Module 6

    12/21

    Instrumentation is code that reports performance info Telemetry aggregates instrumentation for analysis. Diagnostics or Analysis is the use a telemetry to trackerrors or identify trends.

    What is Instrumentation?

  • 7/22/2019 C-Jumpstart Module 6

    13/21

    Performance Counter is a sampling for a single opera You write to a counter by incrementing or decrement

    Trending is accomplished using tooling

    You must have permission Counters are typically categorized

    What is a Performance Counter?

  • 7/22/2019 C-Jumpstart Module 6

    14/21

  • 7/22/2019 C-Jumpstart Module 6

    15/21

    Tracing informative messages during execution

    Strategic placement Fail/Assert adds text to output (condition); implies error

    Write/WriteIf adds text to output (condition)

    WriteLine/WriteLineIf adds text to output w/newline (con

    Volume control (Trace Listeners & Trace Switch) Event logs receive and track major events during ex

    Windows

    Custom

    Other diagnostic techniques

  • 7/22/2019 C-Jumpstart Module 6

    16/21

    h f f l

  • 7/22/2019 C-Jumpstart Module 6

    17/21

    What is Performance Profiler? (026)

    Performance Profiler is a tool built into Visual Studio conducts Performance Sessions

    Performance Session is an execution of your applicatwhich Performance Counters are collected. Sampling method

    Sampling interval

    A Performance Report allows developers to identify hoperations. Call Frequency

    Call Duration

  • 7/22/2019 C-Jumpstart Module 6

    18/21

  • 7/22/2019 C-Jumpstart Module 6

    19/21

    Diagnostics

    M d l R

  • 7/22/2019 C-Jumpstart Module 6

    20/21

    Splitting Assemblies and Projects Diagnostics and Instrumentation

    Module Recap

  • 7/22/2019 C-Jumpstart Module 6

    21/21

    2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trathe U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of

    Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee tprovided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTA