1 / 21

Under the Hood on Extending the My Namespace

Under the Hood on Extending the My Namespace. Joe Binder TLN414 Program Manager Microsoft Corporation. Agenda. Design goals My and the .NET Framework Extensibility Model Customizing My, Step-by-Step Deploying My Extensions and Customizations Questions. The My Namespace Vision.

Olivia
Download Presentation

Under the Hood on Extending the My Namespace

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Under the Hood on Extending the My Namespace Joe Binder TLN414 Program Manager Microsoft Corporation

  2. Agenda • Design goals • My and the .NET Framework • Extensibility Model • Customizing My, Step-by-Step • Deploying My Extensions and Customizations • Questions

  3. The My Namespace Vision … To provide a highly approachable, unified runtime environment for Visual Basic developers.

  4. Design Pillars • Task-based APIs • Default configurations for extensible components • Promote best-practice usage patterns • Use .NET Framework constructs directly

  5. Example Interaction ModelMy.Application.Log .NET Framework 2.0 contains powerful and extensible tracing architecture • Highly factored design • Enterprise scenarios require extension to existing services • Configuration is hard! My.Application.Log provides a simple entry point and default configuration

  6. My.Application.Log

  7. — Add new top-level properties Devices Inside The My NamespaceExtensibility Points — Customize application model, events, … — Add device support, hardware events, … — Custom authorization and authentication — Use external store (e.g., settings) for settings

  8. WindowsApplication1 Namespace My ReadOnly Property Application As MyApplication ... Class MyApplication Inherits ApplicationServices.ApplicationBase End Class End Namespace Microsoft.VisualBasic.dll Namespace ApplicationServices Public Class ApplicationBase ReadOnly Property Log As Log … End Class End Namespace Inside The My NamespaceArchitectural Overview

  9. Extending My at the Root-Level Adding My.Devices to the Hierarchy

  10. Application ModelArchitectural Overview Shared Sub Main(ByVal Args As String()) My.Application.Run(Args) End Sub Namespace My Partial Friend Class MyApplication Inherits WindowsFormsApplicationBase End Class End Namespace Startup Namespace Microsoft.VisualBasic.ApplicationServices Class WindowsFormsApplicationBase Inherits ConsoleApplicationBase End Class End Namespace NetStatusChanged …

  11. Extending the Application Model

  12. My.Settings Architectural Overview SettingsBase SettingsProvider ApplicationSettingsBase LocalFileSettingsProvider <userSettings> <WindowsApplication1.My.MySettings> <setting name="FavoriteColor"> <value>0, 192, 0</value> </setting> </WindowsApplication1.My.MySettings> </userSettings> My.Settings Property FavoriteColor As Color Property LastLoggedIn As Date …

  13. Implementing a Custom Settings Provider

  14. Customizing My.User • Thin wrapper atop IPrincipal/IIdentity • WindowsPrincipal used as default • Custom Authentication and Authorization are wired in through IPrincipal/IIdentity IPrincipal WindowsPrincipal My.User IIdentity WindowsIdentity

  15. Customizing My.User Leveraging ASP.NET Personalization in Windows Forms

  16. Extending the My NamespaceDesign Guidelines • Stateless APIs when appropriate • Global Instances. • Simple Parameter Types • Factory Methods • Thread-safe • .NET Framework Guidelines still apply!

  17. Extending the My NamespaceDeployment • Class libraries factored into standalone assemblies • Extensibility code factored into Visual Studio Template • All components packaged and deployed as .VSI MyAppExtension.vb .vsi .vstemplate CustomTypes.dll

  18. Where to go from here? • Attend HOL TLN023! • Stop by Tools & Language Track Lounge! • Additional resources: • http://msdn.microsoft.com/msdnmag/issues/05/07/My/default.aspx • http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnvs05/html/vbmy.asp

  19. Questions Email: jbinder@microsoft.com

  20. Please Complete An Evaluation FormYour Input Is Important! Two ways to access Online Evaluation Forms: CommNet stations located throughout conference venues From any wired or wireless connection to: http://www.MyTechReady.com For more information please refer to your Pocket Guide

  21. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

More Related