Options pattern in ASP.NET Core
|
|
- Bruno Lucas
- 5 years ago
- Views:
Transcription
1 Options pattern in ASP.NET Core By Luke Latham The options pattern uses classes to represent groups of related settings. When configuration settings are isolated by scenario into separate classes, the app adheres to two important software engineering principles: The Interface Segregation Principle (ISP): Scenarios (classes) that depend on configuration settings depend only on the configuration settings that they use. Separation of Concerns: Settings for different parts of the app aren't dependent or coupled to one another. View or download sample code (how to download) This article is easier to follow with the sample app. Prerequisites Add a package reference to the Microsoft.Extensions.Options.ConfigurationExtensions package. Basic options configuration Basic options configuration is demonstrated as Example #1 in the sample app. An options class must be non-abstract with a public parameterless constructor. The following class, MyOptions, has two properties, Option1 and Option2. Setting default values is optional, but the class constructor in the following example sets the default value of Option1. Option2 has a default value set by initializing the property directly (Models/MyOptions.cs): public class MyOptions public MyOptions() // Set default value. Option1 = "value1_from_ctor"; public string Option1 get; set; public int Option2 get; set; = 5; The MyOptions class is added to the service container with Configure<TOptions>(IServiceCollection, IConfiguration) and bound to configuration:
2 // Example #1: Basic options // Register the Configuration instance which MyOptions binds against. services.configure<myoptions>(configuration); The following page model uses constructor dependency injection with IOptions<TOptions> to access the settings (Pages/Index.cshtml.cs): private readonly MyOptions _options; public IndexModel( IOptions<MyOptions> optionsaccessor, IOptions<MyOptionsWithDelegateConfig> optionsaccessorwithdelegateconfig, IOptions<MySubOptions> suboptionsaccessor, IOptionsSnapshot<MyOptions> snapshotoptionsaccessor, IOptionsSnapshot<MyOptions> namedoptionsaccessor) _options = optionsaccessor.value; _optionswithdelegateconfig = optionsaccessorwithdelegateconfig.value; _suboptions = suboptionsaccessor.value; _snapshotoptions = snapshotoptionsaccessor.value; _named_options_1 = namedoptionsaccessor.get("named_options_1"); _named_options_2 = namedoptionsaccessor.get("named_options_2"); // Example #1: Simple options var option1 = _options.option1; var option2 = _options.option2; SimpleOptions = $"option1 = option1, option2 = option2"; The sample's appsettings.json file specifies values for option1 and option2: JSON "option1": "value1_from_json", "option2": -1, "subsection": "suboption1": "subvalue1_from_json", "suboption2": 200, "Logging": "LogLevel": "Default": "Warning", "AllowedHosts": "*" When the app is run, the page model's OnGet method returns a string showing the option class values: HTML option1 = value1_from_json, option2 = -1
3 Note When using a custom ConfigurationBuilder to load options configuration from a settings file, confirm that the base path is set correctly: var configbuilder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true); var config = configbuilder.build(); services.configure<myoptions>(config); Explicitly setting the base path isn't required when loading options configuration from the settings file via CreateDefaultBuilder. Configure simple options with a delegate Configuring simple options with a delegate is demonstrated as Example #2 in the sample app. Use a delegate to set options values. The sample app uses the MyOptionsWithDelegateConfig class (Models/MyOptionsWithDelegateConfig.cs): public class MyOptionsWithDelegateConfig public MyOptionsWithDelegateConfig() // Set default value. Option1 = "value1_from_ctor"; public string Option1 get; set; public int Option2 get; set; = 5; In the following code, a second IConfigureOptions<TOptions> service is added to the service container. It uses a delegate to configure the binding with MyOptionsWithDelegateConfig: // Example #2: Options bound and configured by a delegate services.configure<myoptionswithdelegateconfig>(myoptions => myoptions.option1 = "value1_configured_by_delegate"; myoptions.option2 = 500; ); Index.cshtml.cs:
4 private readonly MyOptionsWithDelegateConfig _optionswithdelegateconfig; public IndexModel( IOptions<MyOptions> optionsaccessor, IOptions<MyOptionsWithDelegateConfig> optionsaccessorwithdelegateconfig, IOptions<MySubOptions> suboptionsaccessor, IOptionsSnapshot<MyOptions> snapshotoptionsaccessor, IOptionsSnapshot<MyOptions> namedoptionsaccessor) _options = optionsaccessor.value; _optionswithdelegateconfig = optionsaccessorwithdelegateconfig.value; _suboptions = suboptionsaccessor.value; _snapshotoptions = snapshotoptionsaccessor.value; _named_options_1 = namedoptionsaccessor.get("named_options_1"); _named_options_2 = namedoptionsaccessor.get("named_options_2"); // Example #2: Options configured by delegate var delegate_config_option1 = _optionswithdelegateconfig.option1; var delegate_config_option2 = _optionswithdelegateconfig.option2; SimpleOptionsWithDelegateConfig = $"delegate_option1 = delegate_config_option1, " + $"delegate_option2 = delegate_config_option2"; You can add multiple configuration providers. Configuration providers are available in NuGet packages. They're applied in the order that they're registered. Each call to Configure<TOptions> adds an IConfigureOptions<TOptions> service to the service container. In the preceding example, the values of Option1 and Option2 are both specified in appsettings.json, but the values of Option1 and Option2 are overridden by the configured delegate. When more than one configuration service is enabled, the last configuration source specified wins and sets the configuration value. When the app is run, the page model's OnGet method returns a string showing the option class values: HTML delegate_option1 = value1_configured_by_delgate, delegate_option2 = 500 Suboptions configuration Suboptions configuration is demonstrated as Example #3 in the sample app. Apps should create options classes that pertain to specific scenario groups (classes) in the app. Parts of the app that require configuration values should only have access to the configuration values that they use. When binding options to configuration, each property in the options type is bound to a configuration key of the form property[:sub-property:]. For example, the
5 MyOptions.Option1 property is bound to the key Option1, which is read from the option1 property in appsettings.json. In the following code, a third IConfigureOptions<TOptions> service is added to the service container. It binds MySubOptions to the section subsection of the appsettings.json file: // Example #3: Sub-options // Bind options using a sub-section of the appsettings.json file. services.configure<mysuboptions>(configuration.getsection("subsection")); The GetSection extension method requires the Microsoft.Extensions.Options.ConfigurationExtensions NuGet package. If the app uses the Microsoft.AspNetCore.App metapackage (ASP.NET Core 2.1 or later), the package is automatically included. The sample's appsettings.json file defines a subsection member with keys for suboption1 and suboption2: JSON "option1": "value1_from_json", "option2": -1, "subsection": "suboption1": "subvalue1_from_json", "suboption2": 200, "Logging": "LogLevel": "Default": "Warning", "AllowedHosts": "*" The MySubOptions class defines properties, SubOption1 and SubOption2, to hold the options values (Models/MySubOptions.cs): public class MySubOptions public MySubOptions() // Set default values. SubOption1 = "value1_from_ctor"; SubOption2 = 5; public string SubOption1 get; set; public int SubOption2 get; set;
6 The page model's OnGet method returns a string with the options values (Pages/Index.cshtml.cs): private readonly MySubOptions _suboptions; public IndexModel( IOptions<MyOptions> optionsaccessor, IOptions<MyOptionsWithDelegateConfig> optionsaccessorwithdelegateconfig, IOptions<MySubOptions> suboptionsaccessor, IOptionsSnapshot<MyOptions> snapshotoptionsaccessor, IOptionsSnapshot<MyOptions> namedoptionsaccessor) _options = optionsaccessor.value; _optionswithdelegateconfig = optionsaccessorwithdelegateconfig.value; _suboptions = suboptionsaccessor.value; _snapshotoptions = snapshotoptionsaccessor.value; _named_options_1 = namedoptionsaccessor.get("named_options_1"); _named_options_2 = namedoptionsaccessor.get("named_options_2"); // Example #3: Sub-options var suboption1 = _suboptions.suboption1; var suboption2 = _suboptions.suboption2; SubOptions = $"suboption1 = suboption1, suboption2 = suboption2"; When the app is run, the OnGet method returns a string showing the sub-option class values: HTML suboption1 = subvalue1_from_json, suboption2 = 200 Options provided by a view model or with direct view injection Options provided by a view model or with direct view injection is demonstrated as Example #4 in the sample app. Options can be supplied in a view model or by injecting IOptions<TOptions> directly into a view (Pages/Index.cshtml.cs): private readonly MyOptions _options; public IndexModel( IOptions<MyOptions> optionsaccessor, IOptions<MyOptionsWithDelegateConfig> optionsaccessorwithdelegateconfig, IOptions<MySubOptions> suboptionsaccessor, IOptionsSnapshot<MyOptions> snapshotoptionsaccessor, IOptionsSnapshot<MyOptions> namedoptionsaccessor) _options = optionsaccessor.value; _optionswithdelegateconfig = optionsaccessorwithdelegateconfig.value;
7 _suboptions = suboptionsaccessor.value; _snapshotoptions = snapshotoptionsaccessor.value; _named_options_1 = namedoptionsaccessor.get("named_options_1"); _named_options_2 = namedoptionsaccessor.get("named_options_2"); // Example #4: Bind options directly to the page MyOptions = _options; For direct injection, inject IOptions<MyOptions> with IOptions<MyOptions> ViewData["Title"] = "Using Options Sample"; <h1>@viewdata["title"]</h1> When the app is run, the options values are shown in the rendered page:
8 Reload configuration data with IOptionsSnapshot Reloading configuration data with IOptionsSnapshot is demonstrated in Example #5 in the sample app. IOptionsSnapshot supports reloading options with minimal processing overhead. IOptionsSnapshot is a snapshot of IOptionsMonitor<TOptions> and updates automatically whenever the monitor triggers changes based on the data source changing. The following example demonstrates how a new IOptionsSnapshot is created after appsettings.json changes (Pages/Index.cshtml.cs). Multiple requests to the server return constant values provided by the appsettings.json file until the file is changed and configuration reloads. private readonly MyOptions _snapshotoptions; public IndexModel(
9 IOptions<MyOptions> optionsaccessor, IOptions<MyOptionsWithDelegateConfig> optionsaccessorwithdelegateconfig, IOptions<MySubOptions> suboptionsaccessor, IOptionsSnapshot<MyOptions> snapshotoptionsaccessor, IOptionsSnapshot<MyOptions> namedoptionsaccessor) _options = optionsaccessor.value; _optionswithdelegateconfig = optionsaccessorwithdelegateconfig.value; _suboptions = suboptionsaccessor.value; _snapshotoptions = snapshotoptionsaccessor.value; _named_options_1 = namedoptionsaccessor.get("named_options_1"); _named_options_2 = namedoptionsaccessor.get("named_options_2"); // Example #5: Snapshot options var snapshotoption1 = _snapshotoptions.option1; var snapshotoption2 = _snapshotoptions.option2; SnapshotOptions = $"snapshot option1 = snapshotoption1, " + $"snapshot option2 = snapshotoption2"; The following image shows the initial option1 and option2 values loaded from the appsettings.json file: HTML snapshot option1 = value1_from_json, snapshot option2 = -1 Change the values in the appsettings.json file to value1_from_json UPDATED and 200. Save the appsettings.json file. Refresh the browser to see that the options values are updated: HTML snapshot option1 = value1_from_json UPDATED, snapshot option2 = 200 Options factory, monitoring, and cache IOptionsMonitor is used for notifications when TOptions instances change. IOptionsMonitor supports reloadable options, change notifications, and IPostConfigureOptions. Accessing options during startup IOptions can be used in Startup.Configure, since services are built before the Configure method executes. public void Configure(IApplicationBuilder app, IOptions<MyOptions> optionsaccessor) var option1 = optionsaccessor.value.option1;
10 IOptions shouldn't be used in Startup.ConfigureServices. An inconsistent options state may exist due to the ordering of service registrations. Additional resources Configuration in ASP.NET Core
Simple Injector Documentation
Simple Injector Documentation Release 2 Simple Injector Contributors November 09, 2014 Contents 1 Quick Start 3 1.1 Overview................................................. 3 1.2 Getting started..............................................
More informationObject oriented programming. Encapsulation. Polymorphism. Inheritance OOP
OOP Object oriented programming Polymorphism Encapsulation Inheritance OOP Class concepts Classes can contain: Constants Delegates Events Fields Constructors Destructors Properties Methods Nested classes
More informationIndex. Bower, 133, 352 bower.json file, 376 Bundling files, 157
Index A Action results. See Controllers Actions. See Controllers Application model, 986 action constraints, 1000 Areas. See Routing Arrow functions. See Lambda expressions ASP.NET Core MVC (see Model View
More informationComponentSpace SAML v2.0 Developer Guide
ComponentSpace SAML v2.0 Developer Guide Copyright ComponentSpace Pty Ltd 2017-2018. All rights reserved. www.componentspace.com Contents Introduction... 1 Visual Studio and.net Core Support... 1 Application
More informationReal-Time SignalR. Overview
Real-Time SignalR Overview Real-time Web applications feature the ability to push server-side content to the connected clients as it happens, in real-time. For ASP.NET developers, ASP.NET SignalR is a
More informationBringing Together One ASP.NET
Bringing Together One ASP.NET Overview ASP.NET is a framework for building Web sites, apps and services using specialized technologies such as MVC, Web API and others. With the expansion ASP.NET has seen
More informationTen good practices for ASP.NET MVC applications
Ten good practices for ASP.NET MVC applications Dino Esposito JetBrains dino.esposito@jetbrains.com @despos facebook.com/naa4e Options for Web development Fully serverside Fully clientside Hybrid SPA And
More informationBuilding a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core. Gill
Building a mobile enterprise application with Xamarin.Forms, Docker, MVVM and.net Core Gill Cleeren @gillcleeren www.snowball.be Agenda Overall application structure The Xamarin application architecture
More information5.1 Registration and Configuration
5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration
More informationDESCRIPTION OF TYPICAL NETWORK SERVICES ON SERVERS
DESCRIPTION OF TYPICAL NETWORK SERVICES ON SERVERS Before you start Objectives: Familiarize yourself with the services such as File and Print, WWW, FTP, E- mail, Faxing, Remote Access, DHCP, DNS and WINS.
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationINSTALLATION GUIDE FOR ACPL FM220 RD WINDOWS APPLICATION INDEX
INSTALLATION GUIDE FOR ACPL FM220 RD WINDOWS APPLICATION INDEX CONTENT PAGE No. Setup FM220 RD Service 2 Setup FM220 RD Service Support Tool 5 Instructions to enable HTTPS in RD Service 8 RD Service troubleshooting
More informationWeb API Best Practices
Web API Best Practices STEVE SMITH ARDALIS.COM @ARDALIS STEVE@DEVIQ.COM DEVIQ.COM Learn More After Today 1) DevIQ ASP.NET Core Quick Start http://aspnetcorequickstart.com DEVINTFALL17 20% OFF! 2) Microsoft
More informationThe core of Tapestry's form support is the Form component. The Form component encloses (wraps around) all the other field components such
Forms and Validation Forms are the traditional way for most web applications to gather significant information from the user. Whether it's a search form, a login screen or a multi-page registration wizard,
More informationCSCI 201 Google Chrome DevTools
CSCI 201 Google Chrome DevTools This semester, our Factory code and assignments are written for use in Google Chrome. We will be taking advantage of Google Chrome DevTools, an assortment of web development
More informationASP.NET Core Middleware
ASP.NET Core Middleware Dino Esposito @despos facebook.com/naa4e Press IIS and ASP.NET forever together Then it came OWIN OWIN is a specification on how web servers and web applications should be built
More informationAuthorization in ASP.NET Core. Brock Allen
Authorization in ASP.NET Core Brock Allen brockallen@gmail.com http://brockallen.com @BrockLAllen Authorization in ASP.NET Core Complete re-write support for unauthorized vs forbidden better separation
More informationMethod Slots: Supporting Methods, Events, and Advices by a Single Language Construct
Method Slots: Supporting Methods, Events, and Advices by a Single Language Construct YungYu Zhuang and Shigeru Chiba The University of Tokyo More and more paradigms are supported by dedicated constructs
More informationANGULAR2 OVERVIEW. The Big Picture. Getting Started. Modules and Components. Declarative Template Syntax. Forms
FORMS IN ANGULAR Hello Cluj. I m Alex Lakatos, a Mozilla volunteer which helps other people volunteer. I want to talk to you today about Angular forms. What s a form you ask? A form creates a cohesive,
More informationC++ Modern and Lucid C++ for Professional Programmers
Informatik C++ Modern and Lucid C++ for Professional Programmers part 13 Prof. Peter Sommerlad Institutsleiter IFS Institute for Software Rapperswil, HS 2015 Inheritance and dynamic Polymorphism base classes,
More information3 Days Training Program
3 Days Training Program What is AngularJS? A JavaScript framework for creating dynamic web applications Open Source GitHub: https://github.com/angular/angular.js MIT License Uses jquery jquery 1.7.1 or
More informationT his article is downloaded from
Some of the performance tips v ery useful during dev elopment, production and testing 1) Set debug="false" during deployment of your application NEVER deploy your web application to production with debug
More informationArgument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.
Local Variable Initialization Unlike instance vars, local vars must be initialized before they can be used. Eg. void mymethod() { int foo = 42; int bar; bar = bar + 1; //compile error bar = 99; bar = bar
More informationCreating and Sharing a Google Calendar
Creating and Sharing a Google Calendar How to Create a Google Calendar You can only create new calendars on a browser on your computer or mobile device. Once the calendar is created, you'll be able to
More informationDependency Inversion, Dependency Injection and Inversion of Control. Dependency Inversion Principle by Robert Martin of Agile Fame
Dependency Inversion, Dependency Injection and Inversion of Control Dependency Inversion Principle by Robert Martin of Agile Fame Dependency Inversion Principle History Postulated by Robert C. Martin Described
More information55191: Advanced SharePoint Development
Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com
More informationOffice 365 Calendar Sharing and Scheduling Assistant (Refer to Office 365 Features Handout for an overview of the Calendar)
Office 365 Calendar Sharing and Scheduling Assistant (Refer to Office 365 Features Handout for an overview of the Calendar) http://www.jeffersonstate.edu/resources-for-instructors-de/ Select the Calendar
More informationMicrosoft Visual Basic 2005: Reloaded
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects Objectives After studying this chapter, you should be able to: Define a class Instantiate an object from a class
More informationC#.NET TRAINING / /
C#.NET TRAINING.NET ENTERPRISE ARCHITECTURE Introduction to the.net platform Common Language Run Time(CLR) The Common Type Specification(CTS) The Common Language Specification(CLS) Microsoft Intermediate
More informationHierarchical inheritance: Contains one base class and multiple derived classes of the same base class.
1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity
More informationCHAPTER 1: INTRODUCING C# 3
INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications
More informationLiskov Substitution Principle
Liskov Substitution Principle Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ SOLID Class Design Principles
More informationComponentSpace SAML v2.0 Examples Guide
ComponentSpace SAML v2.0 Examples Guide Copyright ComponentSpace Pty Ltd 2017-2018. All rights reserved. www.componentspace.com Contents Introduction... 1 Visual Studio Solution Files... 1 Visual Studio
More informationbla bla OX App Suite User Guide
bla bla OX App Suite User Guide OX App Suite OX App Suite: User Guide Publication date Wednesday, 10. April 2013 Version 7.0.1 Copyright 2006-2013 OPEN-XCHANGE Inc., This document is the intellectual property
More informationAPACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Dynamic Components using SPA Concepts Andon Sikavica, Bojana Popovska
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014 Dynamic Components using SPA Concepts Andon Sikavica, Bojana Popovska Dynamic Components adaptto() 2014 2 Dynamic vs Static Components Count
More information(12-1) OOP: Polymorphism in C++ D & D Chapter 12. Instructor - Andrew S. O Fallon CptS 122 (April 3, 2019) Washington State University
(12-1) OOP: Polymorphism in C++ D & D Chapter 12 Instructor - Andrew S. O Fallon CptS 122 (April 3, 2019) Washington State University Key Concepts Polymorphism virtual functions Virtual function tables
More informationHow To Uninstall Wsus 3.0 Sp2 And Its Related Components
How To Uninstall Wsus 3.0 Sp2 And Its Related Components Further following hotfixes for WSUS 3.0 SP2 were also installed on the sytem. renaming software distribution folder & reseting Window Update Component.
More informationLab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet
Lab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet 1. Macros 1.1 What is a macro? A macro is a set of one or more actions
More informationStep by Step ASR, Azure Site Recovery
Prepared by: Mohammad Asmayal Jawad linkedin.com/in/asmayal/ August 14, 2017 V1.0 Table of Contents WORK LOADS PROTECTED... 1 DEPLOYMENT STEPS... 1 PREREQUISITES...2 LIMITATIONS... 3 SET UP AZURE... 4
More informationThe Great SharePoint 2016/2013 Adventure for Developers
The Great SharePoint 2016/2013 Adventure for Developers Developing for SharePoint 2016/2013 On-premises Course Code Audience Format Length Course Description Student Prerequisites GSA2016 Professional
More informationImplementing DHCP for IPv6
Implementing DHCP for IPv6 Last Updated: December 19, 2011 This module describes how to configure Dynamic Host Configuration Protocol (DHCP) for IPv6 prefix delegation on your networking devices. Finding
More informationPatterns Continued and Concluded. July 26, 2017
Patterns Continued and Concluded July 26, 2017 Review Quiz What is the purpose of the Singleton pattern? A. To advertise to other developers that the object should only be modified by `main()` B.To prevent
More information20486: Developing ASP.NET MVC 4 Web Applications
20486: Developing ASP.NET MVC 4 Web Applications Length: 5 days Audience: Developers Level: 300 OVERVIEW In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework
More informationMarkLogic Server. Database Replication Guide. MarkLogic 6 September, Copyright 2012 MarkLogic Corporation. All rights reserved.
Database Replication Guide 1 MarkLogic 6 September, 2012 Last Revised: 6.0-1, September, 2012 Copyright 2012 MarkLogic Corporation. All rights reserved. Database Replication Guide 1.0 Database Replication
More informationImgur.API Documentation
Imgur.API Documentation Release 3.7.0 Damien Dennehy May 13, 2017 Contents 1 Quick Start 3 1.1 Get Image................................................ 3 1.2 Get Image (synchronously - not recommended).............................
More informationConfiguring and Managing Embedded Event Manager Policies
Configuring and Managing Embedded Event Manager Policies The Cisco IOS XR Software Embedded Event Manager (EEM) functions as the central clearing house for the events detected by any portion of the Cisco
More informationConfiguration for Microprofile. Mark Struberg, Emily Jiang 0.3,
Configuration for Microprofile Mark Struberg, Emily Jiang 0.3, 2017-01-18 Table of Contents Microprofile Config......................................................................... 2 Architecture................................................................................
More informationSHAREPOINT DEVELOPMENT FOR 2016/2013
SHAREPOINT DEVELOPMENT FOR 2016/2013 Course Code: AUDIENCE: FORMAT: LENGTH: SP16-310-GSA (CP GSA2016) Professional Developers Instructor-led training with hands-on labs 5 Days COURSE INCLUDES: 5-days of
More informationEMARSYS FOR MAGENTO 2
EMARSYS FOR MAGENTO 2 Integration Manual July 2017 Important Note: This PDF was uploaded in July, 2017 and will not be maintained. For the latest version of this manual, please visit our online help portal:
More informationASP.NET Training Course Duration. 30 Working days, daily one and half hours. ASP.NET Training Course Overview
ASP.NET Training Course Duration 30 Working days, daily one and half hours ASP.NET Training Course Overview Introduction To Web Applications [Prerequisites] Types of Applications Web, Desktop & Mobile
More informationEnhancing Web Dynpro Table Performance
Enhancing Web Dynpro Table Performance Bertram Ganz, Andreas Rössler, NW ESI Foundation - Web Dynpro Foundation for Java Overview The existing Web Dynpro table selection behavior is automatically combined
More informationAPPLICATION INTERFACE
WEB PLATFORM OVERVIEW v.1.4.0 APPLICATION INTERFACE Start view and server selection options: Test progress view: Summary view: Mobile view: USER INTERFACE FIREPROBE is a platform designed for Internet
More informationHow to be a Good Bean
How to be a Good Bean A JavaBeans component, or simply a Bean, is a reusable software component that can be manipulated visually in a builder tool. The JavaBeans 1.0 architecture specifies how a JavaBeans
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationQuickStart Guide for Managing Computers. Version
QuickStart Guide for Managing Computers Version 10.2.0 copyright 2002-2018 Jamf. All rights reserved. Jamf has made all efforts to ensure that this guide is accurate. Jamf 100 Washington Ave S Suite 1100
More informationMATE: A Flex Framework Extreme Makeover
MATE: A Flex Framework Extreme Makeover Our Agenda Introductions What Is MATE? Why Use MATE? Take A Look At The Original App - ClipSafe It s Time for an Extreme Makeover! Extending MATE Summary Introductions
More informationDI Why? Getting a Grip on Dependency Injection. Jeremy Clark
DI Why? Getting a Grip on Dependency Injection Jeremy Clark www.jeremybytes.com @jeremybytes What Is Dependency Injection? Dependency Injection is a software design pattern that allows a choice of component
More informationASP.NET State Management Techniques
ASP.NET State Management Techniques This article is for complete beginners who are new to ASP.NET and want to get some good knowledge about ASP.NET State Management. What is the need of State Management?
More informationWorking with Controllers
Controller 1 Objectives 2 Define and describe controllers Describe how to work with action methods Explain how to invoke action methods Explain routing requests Describe URL patterns Working with Controllers
More informationBuild Testable Client and Service Applications
Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP
More informationEXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year!
EXAMGOOD QUESTION & ANSWER Exam Good provides update free of charge in one year! Accurate study guides High passing rate! http://www.examgood.com Exam : 070-492 Title : Upgrade your MCPD: Web Developer
More informationExtranet User Manager
Extranet User Manager Prerequisite Guide v3.1 March 11, 2015 Envision IT 7145 West Credit Avenue Suite 100, Building 3 Mississauga, ON L5N 6J7 Table of Contents ENVISION IT EXTRANET USER MANAGER... 1 VERSION
More informationUser Guide LC4. Before using this product, please read the guide carefully to avoid any damage to the product.
User Guide LC4 Before using this product, please read the guide carefully to avoid any damage to the product. 1. Product Description 1.1 Packing list IP Camera User Manual Before using this product, please
More informationDEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE
70-487 DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE ACCESSING DATA(20 TO 25%) 1) Choose data access technologies a) Choose a technology (ADO.NET, Entity Framework, WCF Data Services, Azure
More informationWhen the Servlet Model Doesn't Serve. Gary Murphy Hilbert Computing, Inc.
When the Servlet Model Doesn't Serve Gary Murphy Hilbert Computing, Inc. glm@hilbertinc.com Motivation? Many decision makers and programmers equate Java with servlets? Servlets are appropriate for a class
More informationMicrosoft Dynamics Road To Repeatability Technical Deep Dive Server Extensibility in Microsoft Dynamics NAV. Vjekoslav Babić, MVP
Microsoft Dynamics Road To Repeatability Technical Deep Dive Server Extensibility in Microsoft Dynamics NAV Vjekoslav Babić, MVP About the Presenter Vjekoslav Babić consultant, trainer, blogger, author
More informationConsent Management Platform (CMP) Full Documentation
Consent Management Platform (CMP) 1.1.0 Full Documentation (Effective May, 2018) Introduction This document contains instructions to install the Rakuten Consent Management Platform (CMP) on your site.
More information1. Product Description
1. Product Description Hardware Description Note: The magnetic base can stick to any metal surface as per below diagram. This allows for better and more solid placement of the camera. 2. Installation 2.1
More informationProxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24
Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority
More informationAngularJS Fundamentals
AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM
More informationGeneral. Analytics. MCS Instance Has Predefined Storage Limit. Purge Analytics Data Before Reaching Storage Limit
Oracle Cloud Mobile Cloud Service Known Issues 18.1.3 E93163-01 February 2018 General MCS Instance Has Predefined Storage Limit Each MCS instance has a set storage space that can t be changed manually.
More information5. Application Layer. Introduction
Book Preview This is a sample chapter of Professional PHP - Building maintainable and secure applications. The book starts with a few theory chapters and after that it is structured as a tutorial. The
More informationGoogle Groups. Using, joining, creating, and sharing. content with groups. What's Google Groups? About Google Groups and Google Contacts
Google Groups Using, joining, creating, and sharing content with groups What's Google Groups? Google Groups is a feature of Google Apps that makes it easy to communicate and collaborate with groups of
More informationGWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google
GWT: The Technical Advantage Presenter: Anirudh Dewani Company Name: Google What is GWT? 2 How it works Google Web Toolkit Weekly Report 09/01/2008-09/08/200 Code against Java UI libraries 3 How it works
More informationDeveloping ASP.NET MVC 4 Web Applications
Developing ASP.NET MVC 4 Web Applications Duration: 5 Days Course Code: 20486B About this course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
More informationThe 12-Factor app and IBM Bluemix IBM Corporation
The 12-Factor app and IBM Bluemix After you complete this section, you should understand: The characteristics of a 12-Factor app Examples of following 12-Factor App methodology in Bluemix 2 What are the
More informationDeveloping Web Applications Using Microsoft Visual Studio 2008 SP1
Developing Web s Using Microsoft Visual Studio 2008 SP1 Introduction This five day instructor led course provides knowledge and skills on developing Web applications by using Microsoft Visual Studio 2008
More informationDeveloping a Web Server Platform with SAPI support for AJAX RPC using JSON
94 Developing a Web Server Platform with SAPI support for AJAX RPC using JSON Assist. Iulian ILIE-NEMEDI Informatics in Economy Department, Academy of Economic Studies, Bucharest Writing a custom web server
More informationTop 5 Tips to Excel as an Episerver Developer
25 th October 2017 Top 5 Tips to Excel as an Developer Moderator: Marc Erodotou Presenter: Mark Price Presenter: Mark Price Moderator: Marc Erodotou Copyright AB 1 Top 5 Tips to Excel as an Developer Agenda
More informationNetCoreControls Documentation
NetCoreControls Documentation Release 0.1.0 Joao Pereira Jun 15, 2018 Get started 1 Features 3 1.1 Setup and Overview........................................... 3 1.2 Basic Usage...............................................
More informationComponentSpace SAML v2.0 IdentityServer4 Integration Guide
ComponentSpace SAML v2.0 IdentityServer4 Integration Guide Copyright ComponentSpace Pty Ltd 2017-2018. All rights reserved. www.componentspace.com Contents Introduction... 1 IdentityServer4 as the Service
More informationFinancial. AngularJS. AngularJS.
Financial http://killexams.com/exam-detail/ Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview Questions with their answers hidden in a box to challenge
More informationDeploy Cisco Directory Connector
Cisco Directory Connector Deployment Task Flow, page 1 Install Cisco Directory Connector, page 3 Sign In To Cisco Directory Connector, page 4 Configure General Settings for Directory Connector, page 7
More informationThis document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project.
MVVMStarter Guide This document contains a general description of the MVVMStarter project, and specific guidelines for how to add a new domain class to the project. Table of Content Introduction...2 Purpose...2
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationRelease Notes: GRANTA MI Version 10.0 Update 1
Release Notes: GRANTA MI Version 10.0 Update 1 April 2017 Granta Design produces regular updates to major version releases of GRANTA MI. These update releases are distributed in two forms: As a full product
More informationSOLID Principles. Equuleus Technologies. Optional Subheading October 19, 2016
SOLID Principles Optional Subheading October 19, 2016 Why SOLID Principles? The traits of well designed software are as follows Maintainability - The ease with which a software system or component can
More informationFactory Method. Factory Method. Resource Mgt in App Framework. An Example: A Framework for Productivity ( Office ) Applications
Factory Method Factory Method A method to instantiate a class and initializes a class instance without using its constructors Uses a regular (i.e., non-constructor) method. Lets a class defer instantiation
More informationIntroduction to IdentityServer
Introduction to IdentityServer The open source OIDC framework for.net Brock Allen http://brockallen.com @BrockLAllen brockallen@gmail.com @IdentityServer Dominick Baier http://leastprivilege.com @leastprivilege
More informationFinancial. AngularJS. AngularJS. Download Full Version :
Financial AngularJS AngularJS Download Full Version : https://killexams.com/pass4sure/exam-detail/angularjs Section 1: Sec One (1 to 50) Details:This section provides a huge collection of Angularjs Interview
More informationChatter Answers Implementation Guide
Chatter Answers Implementation Guide Salesforce, Spring 16 @salesforcedocs Last updated: April 27, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
More informationNew Face of z/os Communications Server: V2R1 Configuration Assistant
New Face of z/os Communications Server: V2R1 Configuration Assistant Kim Bailey (ktekavec@us.ibm.com) IBM August 14, 2013 Session # 13630 Agenda What is the Configuration Assistant and how can it help
More informationLAT-TD-xxxxx-xx May 21, 2002
Document # Date LAT-TD-xxxxx-xx May 21, 2002 Author(s) Supersedes Page 1 of 12 LAT TECHNICAL NOTE System or Sponsoring Office Science Analysis Software Document Title SAS Recommendations for Code Documentation
More informationLab 2 (More Inheritance, Interfaces, Delegates)
I. Inheritance Lab 2 (More Inheritance, Interfaces, Delegates) Goals of this activity: Learn how inheritance works Understand rules of construction with inheritance Learn the difference between static
More informationLecture 10 Declarations and Scope
Lecture 10 Declarations and Scope Declarations and Scope We have seen numerous qualifiers when defining methods and variables public private static final (we'll talk about protected when formally addressing
More information5.1 Configuring Authentication, Authorization, and Impersonation. 5.2 Configuring Projects, Solutions, and Reference Assemblies
LESSON 5 5.1 Configuring Authentication, Authorization, and Impersonation 5.2 Configuring Projects, Solutions, and Reference Assemblies 5.3 Publish Web Applications 5.4 Understand Application Pools MTA
More informationChatter Answers Implementation Guide
Chatter Answers Implementation Guide Salesforce, Summer 18 @salesforcedocs Last updated: July 26, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationQlik NPrinting. September 2018 Copyright QlikTech International AB. All rights reserved.
Qlik NPrinting Qlik NPrinting September 2018 Copyright 1993-2018 QlikTech International AB. All rights reserved. Contents 1 What is Qlik NPrinting? 22 1.1 How does Qlik NPrinting work? 22 Qlik NPrinting
More informationSyllabus of Dont net C#
Syllabus of Dont net C# 1. What is.net? 2. Why do we require Framework/IDE 3. Fundamentals of.net Framework 4..Net Architecture 5. How to create first Console application 6. Statements, Expressions, operators
More information