Session Title Session Sub Title (Optional)

Total Page:16

File Type:pdf, Size:1020Kb

Session Title Session Sub Title (Optional) Pandurang Nayak Client Platform Evangelist Microsoft Corporation .NET Framework and Tools Roadmap 2006 .NET Framework 3.0 VS 2005 Extensions for .NET 3.0 (CTP) 2007 .NET Framework 3.5 Visual Studio 2008 Expression Blend 1.0 2008 .NET Framework 3.5 SP1 Visual Studio 2008 SP1 Expression Blend 2.0 .NET Framework Roadmap .NET Framework 3.5 SP1 WPF Enhancements Other Enhancements (ASP.NET, etc.) .NET Framework 3.5 WF & WCF WPF 3.5 LINQ Add-in Framework Enhancements .NET Framework 3.0 WPF WCF WF CardSpace .NET Framework 2.0 WinForms/ CLR Base Class Library ASP.NET WPF in a nutshell Rich Windows Applications Great Architecture + Great Graphics Rapid Prototyping 2D, 3D, Vector, Document Flow, Layouts, Composition, etc. WPF 3.5 Enhancements • .NET Framework • Interactive 2D on 3D • Cold Startup Client Profile • Pixel Shaders and Improvements • ~25MB client subset Effects Model • Several perf of .NET Framework • DirectX Interop enhancements • Customized install • New Controls • Profiling tools and experiences instrumentation Deployment Graphics Performance .NET Client Profile ~25MB Client-only Subset of .NET Fx Includes WinForms, WPF, LINQ, etc. Excludes ASP.NET, WCF, etc. 200KB fully customizable Bootstrapper .NET Framework Client Profile Using the Client Profile Deployment option in Visual Studio 2008 SP1 WPF 3.0 Graphics Recap Rich set of 2D drawing primitives Basic 3D functionality via Viewport3D Rich Media Integration Extensive Animation System Advanced Text Stack Bitmap Effects Imaging Compositor WPF 3.5 Graphics Enhancements True Interactive 2D-on-3D Pixel Shaders Effects Model Hardware-Accelerated HLSL Support DirectX Interop Interop Bitmap Replaces Writeable Bitmap Faster Layered Window Support Animation Fixes Graphics Enhancements Interactive 2D on 3D Pixel Shader Effects New Controls Web Browser Control Interop between HTML and WPF content WPF -> HTML WPF application can call script methods in HTML with WebBrowser.InvokeScript HTML -> WPF Script in HTML can call methods and access properties on WebBrowser.ObjectForScripting that are COM- Visible with window.external Load hosted HTML content from a stream or string Access the document object loaded in the WebBrowser New Controls DataGrid Control Available from WPF Toolkit (www.codeplex.com/wpf) CTP Release with several features, being further improved upon Ribbon-UI Control Part of a future release with other controls and style templates New Controls Web Browser, Ribbon and DataGrid Performance Enhancements Greatly improved cold start time >15% cold start gains for small apps >35% cold start gains for large apps XBAP cold start improvements (real + perceived) ~10% faster XBAP cold start in addition to gains above by improving the concurrency of the ClickOnce download sequence Instant (HTML) download progress UX to improves perceived XBAP startup Performance Enhancements Splash Screen to improve perceived startup for Standalone apps New public SplashScreen APIs Intuitive VS integration (3 clicks to enable) “Add / New Item…/SplashScreen (WPF)” Sample code available for existing apps or for downlevel targeting Downloadable VS Template from WPF Futures (www.codeplex.com/wpf) Perf Tools Snoop Generally useful to understand your app, view element tree. WPFPerf Suite Perf “power toy”, a set of diagnostic tools Visual Studio Profiler Great for CPU profiling VS Developer Edition and VS Team Suite CLR Profiler for .NET Shows managed memory usage and leaks Perf Tools Snoop Use to understand the size of the app Visual tree Useful to detect Virtualization related issues & large app trees Perf Tools Snoop Customer app lessons learned: Watch for conditions that may turn virtualization off: • Make sure ScrollViewer.CanContentScroll=True • Make sure VirtualizingStackPanel.IsVirtualizing=True • Keep VirtualizingStackPanel as your default panel …or write own virtualized panel. • Avoid Grouping # of elements can grow also when using rich templates Use Snoop to watch element count Perf Tools WPF Perf Suite Available for external download (WPF SDK & forums) Initial diagnosis of over-invalidation & software rendering A set of tools: Perforator: Analyzes general rendering behavior Visual Profiler: Provides breakdown of an object's use of WPF services, such as rendering and layout String profiler (new): Analyzes where strings are being allocated Event Trace: Analyze events and generating event log files Trace Viewer: Record, display, and browse ETW log files in a WPF user-interface format Perf Tools WPF Perf Suite: Perforator To detect low perf b/c SW rendering: Tint SW rendering: Draws purple when falling back to SW (or when SW api used, old driver, card, layered windows on XP, etc) # SW Render Targets: If not 0, significant perf problem (old card, layered windows on XP) # HW Render Targets: # should be equal to the number of app windows times # of display adapters. Indicates app running in HW Low perf indicators Large # of Intermediate Render Targets: additional images that WPF needs in order to get content ready for drawing Maximum SW/HW IRTs per Frame: Shows max # of surfaces needed to render any one frame of the application. Usually caused by the use of DrawingBrush, VisualBrush, Opacity, or Tile modes on a TileBrush. If # high (e.g. > 7), indicates a potential perf issue Perf Tools - Perforator Perf Tools WPF Perf Suite: Visual Profiler Inspect the Visual Tree Show “hot path” of layout time: Tints the elements in the tree based on their time spent in layout Shows inclusive/exclusive times and element counts History graph of time breakdown: Helps identify whether an application’s bottlenecks lie in layout, rendering, animation, etc Perf Tools - Visual Profiler Perf Tools ETW Event Trace & Event Trace Viewer Useful to view low-level WPF ETW events. WClientUceNotifyPresent: Use to calculate frames-per-second rendering perf (e.g. during animation, video, etc) WClientLayout: Use to calculate time app spends in laying out controls (e.g. during resize) Can also use Xperf/Xperfinfo photoSuru WPF 3.5 Application Running Snoop on photoSuru References What’s new in WPF 3.5 SP1? http://windowsclient.net/wpf/wpf35/wpf-whats-new-35sp1.aspx Introducing .NET Framework Client Profile http://windowsclient.net/wpf/wpf35/wpf-intro-client-profile.aspx Optimizing WPF App Performance MSDN paper http://msdn2.microsoft.com/en-us/library/aa970683.aspx Snoop tool http://www.blois.us/Snoop Various performance related blog http://blogs.msdn.com/jgoldb Contact Blog Address www.thinkingMS.com/pandurang Email Address [email protected] © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the 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 this presentation. Because 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 the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION..
Recommended publications
  • A Programmer's Guide to C
    Download from Wow! eBook <www.wowebook.com> For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance Preface ����������������������������������������������������������������������������������������������������������������������� xxv About the Author ����������������������������������������������������������������������������������������������������� xxvii About the Technical Reviewer ����������������������������������������������������������������������������������� xxix Acknowledgments ����������������������������������������������������������������������������������������������������� xxxi Introduction ������������������������������������������������������������������������������������������������������������� xxxiii ■■Chapter 1: C# and the .NET Runtime and Libraries �����������������������������������������������������1 ■■Chapter 2: C# QuickStart and Developing in C# ����������������������������������������������������������3 ■■Chapter 3: Classes 101 ����������������������������������������������������������������������������������������������11 ■■Chapter 4: Base Classes and Inheritance ������������������������������������������������������������������19 ■■Chapter 5: Exception Handling ����������������������������������������������������������������������������������33 ■■Chapter 6: Member Accessibility and Overloading ���������������������������������������������������47 ■■Chapter 7: Other Class Details �����������������������������������������������������������������������������������57
    [Show full text]
  • Solid Code Ebook
    PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2009 by Donis Marshall and John Bruno All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Library of Congress Control Number: 2008940526 Printed and bound in the United States of America. 1 2 3 4 5 6 7 8 9 QWT 4 3 2 1 0 9 Distributed in Canada by H.B. Fenn and Company Ltd. A CIP catalogue record for this book is available from the British Library. Microsoft Press books are available through booksellers and distributors worldwide. For further infor mation about international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at fax (425) 936-7329. Visit our Web site at www.microsoft.com/mspress. Send comments to [email protected]. Microsoft, Microsoft Press, Active Desktop, Active Directory, Internet Explorer, SQL Server, Win32, Windows, Windows NT, Windows PowerShell, Windows Server, and Windows Vista are either registered trademarks or trademarks of the Microsoft group of companies. Other product and company names mentioned herein may be the trademarks of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. This book expresses the author’s views and opinions. The information contained in this book is provided without any express, statutory, or implied warranties.
    [Show full text]
  • Appref-Ms Abuse for Code Execution & C2
    National Cybersecurity Assessment s and Technical Services Appref-ms Abuse for Code Execution & C2 William J. Burke IV Information Security Specialist Advanced Operations Table of Contents Background ..................................................................................................................................... 4 Initial Requirements .................................................................................................................................. 4 Process Summary ...................................................................................................................................... 4 Microsoft Applications Overview.................................................................................................... 5 Application Publishing Overview - Online & Offline Availability ............................................................... 5 Application Deployment Process .............................................................................................................. 7 Application Installation Process .............................................................................................................. 10 Appref-ms abuse for payload delivery .......................................................................................... 12 Pre-Deployment Requirements............................................................................................................... 12 Initial Access - Phishing via OLE Delivery................................................................................................
    [Show full text]
  • Adding Self-Healing Capabilities to the Common Language Runtime
    Adding Self-healing capabilities to the Common Language Runtime Rean Griffith Gail Kaiser Columbia University Columbia University [email protected] [email protected] Abstract systems can leverage to maintain high system availability is to perform repairs in a degraded mode of operation[23, 10]. Self-healing systems require that repair mechanisms are Conceptually, a self-managing system is composed of available to resolve problems that arise while the system ex- four (4) key capabilities [12]; Monitoring to collect data ecutes. Managed execution environments such as the Com- about its execution and operating environment, performing mon Language Runtime (CLR) and Java Virtual Machine Analysis over the data collected from monitoring, Planning (JVM) provide a number of application services (applica- an appropriate course of action and Executing the plan. tion isolation, security sandboxing, garbage collection and Each of the four functions participating in the Monitor- structured exception handling) which are geared primar- Analyze-Plan-Execute (MAPE) loop consumes and pro- ily at making managed applications more robust. How- duces knowledgewhich is integral to the correct functioning ever, none of these services directly enables applications of the system. Over its execution lifetime the system builds to perform repairs or consistency checks of their compo- and refines a knowledge-base of its behavior and environ- nents. From a design and implementation standpoint, the ment. Information in the knowledge-base could include preferred way to enable repair in a self-healing system is patterns of resource utilization and a “scorecard” tracking to use an externalized repair/adaptation architecture rather the success of applying specific repair actions to detected or than hardwiring adaptation logic inside the system where it predicted problems.
    [Show full text]
  • Visual Studio 2010 Tools for Sharepoint Development
    Visual Studio 2010 for SharePoint Open XML and Content Controls COLUMNS Toolbox Visual Studio 2010 Tools for User Interfaces, Podcasts, Object-Relational Mappings SharePoint Development and More Steve Fox page 44 Scott Mitchell page 9 CLR Inside Out Profi ling the .NET Garbage- Collected Heap Subramanian Ramaswamy & Vance Morrison page 13 Event Tracing Event Tracing for Windows Basic Instincts Collection and Array Initializers in Visual Basic 2010 Generating Documents from SharePoint Using Open XML Adrian Spotty Bowles page 20 Content Controls Data Points Eric White page 52 Data Validation with Silverlight 3 and the DataForm John Papa page 30 Cutting Edge Data Binding in ASP.NET AJAX 4.0 Dino Esposito page 36 Patterns in Practice Functional Programming Core Instrumentation Events in Windows 7, Part 2 for Everyday .NET Developers MSDN Magazine Dr. Insung Park & Alex Bendetov page 60 Jeremy Miller page 68 Service Station Building RESTful Clients THIS MONTH at msdn.microsoft.com/magazine: Jon Flanders page 76 CONTRACT-FIRST WEB SERVICES: Schema-Based Development Foundations with Windows Communication Foundation Routers in the Service Bus Christian Weyer & Buddihke de Silva Juval Lowy page 82 TEST RUN: Partial Anitrandom String Testing Concurrent Affairs James McCaffrey Four Ways to Use the Concurrency TEAM SYSTEM: Customizing Work Items Runtime in Your C++ Projects Rick Molloy page 90 OCTOBER Brian A. Randell USABILITY IN PRACTICE: Getting Inside Your Users’ Heads 2009 Charles B. Kreitzberg & Ambrose Little Vol 24 No 10 Vol OCTOBER 2009 VOL 24 NO 10 OCTOBER 2009 VOLUME 24 NUMBER 10 LUCINDA ROWLEY Director EDITORIAL: [email protected] HOWARD DIERKING Editor-in-Chief WEB SITE MICHAEL RICHTER Webmaster CONTRIBUTING EDITORS Don Box, Keith Brown, Dino Esposito, Juval Lowy, Dr.
    [Show full text]
  • Programming with Windows Forms
    A P P E N D I X A ■ ■ ■ Programming with Windows Forms Since the release of the .NET platform (circa 2001), the base class libraries have included a particular API named Windows Forms, represented primarily by the System.Windows.Forms.dll assembly. The Windows Forms toolkit provides the types necessary to build desktop graphical user interfaces (GUIs), create custom controls, manage resources (e.g., string tables and icons), and perform other desktop- centric programming tasks. In addition, a separate API named GDI+ (represented by the System.Drawing.dll assembly) provides additional types that allow programmers to generate 2D graphics, interact with networked printers, and manipulate image data. The Windows Forms (and GDI+) APIs remain alive and well within the .NET 4.0 platform, and they will exist within the base class library for quite some time (arguably forever). However, Microsoft has shipped a brand new GUI toolkit called Windows Presentation Foundation (WPF) since the release of .NET 3.0. As you saw in Chapters 27-31, WPF provides a massive amount of horsepower that you can use to build bleeding-edge user interfaces, and it has become the preferred desktop API for today’s .NET graphical user interfaces. The point of this appendix, however, is to provide a tour of the traditional Windows Forms API. One reason it is helpful to understand the original programming model: you can find many existing Windows Forms applications out there that will need to be maintained for some time to come. Also, many desktop GUIs simply might not require the horsepower offered by WPF.
    [Show full text]
  • Proceedings of Hotos IX: the 9Th Workshop on Hot Topics in Operating Systems
    USENIX Association Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating Systems Lihue, Hawaii, USA May 18–21, 2003 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 2003 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. Magpie: online modelling and performance-aware systems Paul Barham, Rebecca Isaacs, Richard Mortier, and Dushyanth Narayanan Microsoft Research Ltd., Cambridge, UK. Abstract A B Understanding the performance of distributed systems requires correlation of thousands of interactions be- Event Tracing Event Tracing tween numerous components — a task best left to a com- puter. Today’s systems provide voluminous traces from each component but do not synthesise the data into con- cise models of system performance. Models Models Performance We argue that online performance modelling should be Queries Query Engine a ubiquitous operating system service and outline sev- The diagram shows how requests move through different soft- eral uses including performance debugging, capacity ware components across multiple machines in a distributed sys- tem. Magpie synthesizes event traces from each machine into planning, system tuning and anomaly detection. We de- models that can be queried programatically. scribe the Magpie modelling service which collates de- tailed traces from multiple machines in an e-commerce Figure 1.
    [Show full text]
  • Appendixes APPENDIX A
    PART 8 Appendixes APPENDIX A COM and .NET Interoperability The goal of this book was to provide you with a solid foundation in the C# language and the core services provided by the .NET platform. I suspect that when you contrast the object model provided by .NET to that of Microsoft’s previous component architecture (COM), you’ll no doubt be con- vinced that these are two entirely unique systems. Regardless of the fact that COM is now considered to be a legacy framework, you may have existing COM-based systems that you would like to inte- grate into your new .NET applications. Thankfully, the .NET platform provides various types, tools, and namespaces that make the process of COM and .NET interoperability quite straightforward. This appendix begins by examin- ing the process of .NET to COM interoperability and the related Runtime Callable Wrapper (RCW). The latter part of this appendix examines the opposite situation: a COM type communicating with a .NET type using a COM Callable Wrapper (CCW). ■Note A full examination of the .NET interoperability layer would require a book unto itself. If you require more details than presented in this appendix, check out my book COM and .NET Interoperability (Apress, 2002). The Scope of .NET Interoperability Recall that when you build assemblies using a .NET-aware compiler, you are creating managed code that can be hosted by the common language runtime (CLR). Managed code offers a number of ben- efits such as automatic memory management, a unified type system (the CTS), self-describing assemblies, and so forth. As you have also seen, .NET assemblies have a particular internal compo- sition.
    [Show full text]
  • Key Benefits of Microsoft® Visual Studio® 2008
    Key Benefits of Microsoft® Visual Studio® 2008 White Paper December 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because 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 the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form, by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. © 2007 Microsoft Corporation. All rights reserved.
    [Show full text]
  • CLR Profiling Apis Work Only for Managed Code
    Profiling Common Language Runtime Profiling This is preliminary documentation and subject to change Last updated: 2 July 2001 Page 2 Profiling Table of Contents 1 Profiling – Introduction ...........................................................................8 2 Goals for the Profiling APIs ......................................................................8 3 Non-goals for the Profiling APIs................................................................9 4 Profiling APIs – Overview ........................................................................9 5 Profiling APIs – Recurring Concepts ........................................................11 5.1 IDs................................................................................................11 5.2 Return Values .................................................................................12 5.3 Notification Thread ..........................................................................12 5.4 Nesting of Notifications ....................................................................12 5.5 GC-Safe Callouts.............................................................................13 5.6 How to profile a NT Service ..............................................................13 6 ICorProfilerCallback – Details.................................................................14 6.1 Runtime.........................................................................................14 6.1.1 Initialize....................................................................................14
    [Show full text]
  • Clickonce Application Deployment Support Library Not Working
    Clickonce Application Deployment Support Library Not Working Ricardo misfiles faultlessly if censorious Mordecai overstudies or telescope. Gallagher refashion luxuriantly as wanting Sargent dammed her Katanga sulk lushly. Unsavoury and osseous Bartie still rusticates his walky-talky reflectively. In an entry function when you where possible to groups of both manifests, not working application deployment The clickonce application deployment working flawlessly, marking an image. Similarly, I emailed some of the people who had left comments to see what their status was. It might return an internal error. These with be bound same location, a back Access security warning is prompted, you can delete all quarantined objects by going to expect appropriate section of the program or restore kit of them heard it turned out enough after quarantining something building your software contract to work incorrectly. The PowerShell library mentioned in this blog post said some ClickOnce support. Use VS 2010 on 32-bit machine to wag a ClickOnce app that uses Crystal. They cannot be started by opening a URL that points to a shortcut file on a remote server. Optimize you set as application. Now model your place to support section offers more information on that make up my application. Processing of deployment manifest has successfully completed. Pro WPF in C 2010 Windows Presentation Foundation has NET 4. Here is present list of settings not supported The verification process is. ClickOnce deployment overcomes three major issues in deployment Difficulties in updating applications. This deployment of applications that you want to support files in some of a working through email address is not appear once from deployment strategy in the.
    [Show full text]
  • A Hands-On Guide with Real-World Examples — Vaskaran Sarcar Foreword by Priya Shimanthoor
    Design Patterns in C# A Hands-on Guide with Real-World Examples — Vaskaran Sarcar Foreword by Priya Shimanthoor www.EBooksWorld.ir Design Patterns in C# A Hands-on Guide with Real-World Examples Vaskaran Sarcar Foreword by Priya Shimanthoor www.EBooksWorld.ir Design Patterns in C# Vaskaran Sarcar Whitefield, Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-3639-0 ISBN-13 (electronic): 978-1-4842-3640-6 https://doi.org/10.1007/978-1-4842-3640-6 Library of Congress Control Number: 2018946636 Copyright © 2018 by Vaskaran Sarcar This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the author nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]