Jul 2, 2014

Windows Communication Foundation (WCF) Tools


Windows Communication Foundation Tools


Microsoft Windows Communication Foundation (WCF) tools are designed to make it easier for you to create, deploy, and manage WCF applications. You can run all the tools from the command line.

WCF Test Client (WcfTestClient.exe)
A GUI tool that allows you to input parameters of arbitrary types, submit that input to the service, and view the response the service sends back.
You can locate this tool in below location:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\

WCF Service Host (WcfSvcHost.exe)
Hosts WCF services contained in libraries (*.dll) files. WCF Service Host enumerates the services in a WCF service project, loads the project’s configuration, and instantiates a host for each service that it finds. The tool is integrated into Visual Studio through the WCF Service template and is invoked when you start to debug your project. By using WCF Service Host, you can host a WCF service (in a WCF service library project) without writing extra code or committing to a specific host during development.

Service Trace Viewer Tool (SvcTraceViewer.exe)
Helps you view, group, and filter trace messages so that you can diagnose, repair, and verify issues with WCF services.

ServiceModel Registration Tool (ServiceModelReg.exe)
Manages the registration and un-registration of ServiceModel on a single machine. This command-line tool provides the ability to manage the registration of WCF and WF components on a single machine. Under normal circumstances you should not need to use this tool as WCF and WF components are configured when installed. But if you are experiencing problems with service activation, you can try to register the components using this tool.
Examples:
ServiceModelReg.exe -ia
  Installs all components
ServiceModelReg.exe -i -c:httpnamespace -c:etw
  Installs HTTP namespace reservation and ETW manifests
ServiceModelReg.exe -u -c:etw
  Uninstalls ETW manifests
ServiceModelReg.exe -r
  Repairs an extended install


Configuration Editor Tool (SvcConfigEditor.exe)
Creates and modifies configuration settings for WCF services. The Windows Communication Foundation (WCF) Service Configuration Editor (SvcConfigEditor.exe) allows administrators and developers to create and modify configuration settings for WCF services using a graphical user interface. With this tool, you can manage settings for WCF bindings, behaviors, services, and diagnostics without having to directly edit XML configuration files. Service Configuration Editor can be found in the C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin folder.



Jul 1, 2014

Visual Studio Online


Visual Studio Online


Visual Studio Online (VSO) is a cloud based offering from Microsoft for teams that are developing software. It includes foundation services like source repository, tools for project planning and tracking and execution of build for Continuous Integration. Since Team Foundation Service (TFS) is in the cloud, teams can start working on these features without spending any time in installation and configuration.The infrastructure provisioning and maintenance required for these services is taken care of by Microsoft. 

Visual Studio Online connects to Visual Studio, Eclipse, Xcode, and other Git clients to support development for a variety of platforms and languages. Each Visual Studio Online account comes with five free users. As your team expands or your needs grow, mix and match user plans and resources to give each user what they need. Visual Studio with MSDN subscribers are free to join account projects exclusive of the included five free users.


Host your code in the cloud (Code Repository)
Host your code in the cloud to access it anytime, anywhere. Pick a traditional, centralized version control system using Team Foundation Version Control, or if you prefer a distributed approach, use Git repository. Whether you need to support a few, or a few thousand developers, host your source control in the cloud with advanced branching, merging and visualization capabilities.

Manage your work in one place (Agile Portfolio Management)
Manage your project in the cloud, too. Quickly plan, manage, and track work across all your backlogs and teams with easy-to-use, fully integrated tools for agile planning and portfolio management.

Build your applications in the cloud (Continuous Integration)
Create and manage build processes that automatically compile and test your applications in the cloud, either on demand or as part of an automated continuous integration strategy. Automate your cloud builds to run nightly or after every check-in to ensure your code builds and is ready for deployment.

Visual Studio Online Application Insights is a new cloud-based service (currently in preview) that collects rich operational, performance, and customer usage information from client/device apps or server applications – whether they run on-premises, in Microsoft Azure, a third-party cloud provider, or a combination of all three. See how your application is behaving behind the scenes and pinpoint bottlenecks with rich dashboards that allow you identify potential issues.

You can download Visual Studio online from here


Jun 30, 2014

IIS 8.5 Features

IIS 8.5 Features



Microsoft has released IIS 8.5 with Windows Server 2012 R2 and Windows 8.1, This version includes lot of useful features like Idle worker-Process page-out, Dynamic Site Activation, Enhanced Logging, ETW logging, and Automatic Certificate Rebind.


Idle worker-Process page-out
In IIS 8.5, the administrator has the option of suspending an idle worker process rather than terminating it. To do this, need to select desired AppPool and click on "Advanced Settings" under Process Model, select Suspend for the value of "Idle Time-out Action" to suspend a worker process when the time-out value is reached, paging it out to disk. Select Terminate to shut down the worker process. Apart from this you can enter value in minutes for "Idle Time-out(minutes)", default value is 20 minutes.

Dynamic Site Activation
In IIS 8.5, when there are a large number of configured sites (100 or greater, by default), the service will not activate any of the sites when the service is started. IIS will activate each site only when it receives the first request for the site. We can do this mentioning value for "dynamicRegistrationThreshold" under "system.applicationHost/webLimits" in "Configuration Editor" for a server in IIS.


Enhanced Logging
Administrator has the option of logging additional custom fields from request or response headers, or from server variables. Need to follow below steps to do this:
  1. Select the site or server in the Connections pane, and then double-click Logging. Note that enhanced logging is available only for site-level logging - if you select the server in the Connections pane, then the Custom Fields section of the W3C Logging Fields dialog is disabled.
  2. In the Format field under Log File, select W3C and then click Select Fields....
  3. In the W3C Logging Fields dialog, click Add Field.... Note that enhanced logging is available only for site-level logging - if you selected the server in the Connections pane, then Add Field... is disabled. 
  4. In the Add Custom Field dialog, enter a Field Name to identify the custom field within the log file. Please note that the field name cannot contain spaces.
  5. Select the Source Type. You can select Request Header, Response Header, or Server Variable (note that enhanced logging cannot log a server variable with a name that contains lower-case characters - to include a server variable in the event log just make sure that its name consists of all upper-case characters).
  6. Select Source, which is the name of the HTTP header or server variable (depending on the Source Type you selected) that contains a value that you want to log. You also can enter your own custom source string. For example, to record the custom HTTP Header "X-FORWARDED-FOR", enter that string in Source.


Event Tracing for Windows (ETW) logging
Administrator has the option of sending logging information to Event Tracing for Windows (ETW). This option gives the administrator the ability to use standard query tools, or create custom tools, for viewing real-time logging information in ETW. This provides a significant advantage over parsing text-based log files that are not updated in real time.

Instructions to install IIS 8.5 can be found here.



Jun 26, 2014

ASP.Net MVC 5

ASP.Net MVC 5


ASP.NET MVC 5 is a framework for building scalable, standards-based web applications using well-established design patterns and the power of ASP.NET and the .NET Framework.

For detailed life cycle of ASP.Net MVC 5 click here.

Main Features:
ASP.NET Identity: The MVC project templates have been updated to use ASP.NET Identity for authentication and identity management. ASP.NET MVC 5 enables users to log in using OAuth 2.0  with credentials from an external authentication provider, such as Facebook, Twitter, LinkedIn, Microsoft, or Google.

Attribute Routing: ASP.NET MVC now supports attribute routing. Attribute routing uses attributes to define routes. Attribute routing gives you more control over the URIs in your web application.
For example:
{productId:int}/{productTitle} 
Mapped to ProductsController.Show(int id)
{username} 
Mapped to ProfilesController.Show(string username)

ASP.NET Scaffolding: ASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. It makes it easy to add boilerplate code to your project that interacts with a data model. In previous versions of Visual Studio, scaffolding was limited to ASP.NET MVC projects. With Visual Studio 2013, you can now use scaffolding for any ASP.NET project, including Web Forms.

Filter Override: One can now override which filters apply to a given action method or controller, by specifying an override filter. Override filters specify a set of filter types that should not run for a given scope (action or controller). This allows you to add global filters, but then exclude some from specific actions or controllers.

Bootstrap: The MVC project template has been updated to use Bootstrap to provide a sleek and responsive look and feel that you can easily customize. Bootstrap makes front-end web development faster and easier. It's made for folks of all skill levels, devices of all shapes, and projects of all sizes.

For further details about ASP.Net MVC 5 click here.

Google Web Starter Kit

Google Web Starter Kit


Google recently announced Web Starter Kit in San Francisco.  
It's a  toolkit to develop multi-device responsive boilerplate with better performance. It uses HTML5 boilerplate.

Main Features:
Responsive Layout: Responsive layout is included with the kit that adapts to fit the device your user is viewing it on. This helps you hit the ground running with an experience that looks good everywhere.
Cross-device Synchronization: Synchronize clicks, scrolls, forms and live-reload across multiple devices as you edit your project. Powered by BrowserSync.
Live Browser Reloading: Reload the browser in real-time anytime an edit is made without the need for an extension.
Built in HTTP Server: A built in server for previewing your site means you can test your pages without messing with other tools.
PageSpeed Insights Reporting: Web performance metrics showing how well your site performs on mobile and desktop.

To understand about setting up environment and building your site, click on below URL:
https://developers.google.com/web/fundamentals/tools/


Apr 28, 2014

Humanizer



Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.
One can install Humanizer as a nuget package: 
Install-Package Humanizer

Features
  • Humanize: Humanize string extensions allow you turn an otherwise computerized string into a more readable human-friendly one.
  • Dehumanize: Much like you can humanize a computer friendly into human friendly string you can dehumanize a human friendly string into a computer friendly one
  • Transform: There is a Transform method that supersedes LetterCasing, ApplyCase and Humanize overloads that accept LetterCasing.
  • Truncate: You can truncate a string using the Truncate method
  • Humanize DateTime: You can Humanize an instance of DateTime and get back a string telling how far back or forward in time.
  • Inflector methods: There are also a few inflector methods:
    • Pluralize: Pluralize pluralizes the provided input while taking irregular and uncountable words into consideration.
    • Singularize: Singularize singularizes the provided input while taking irregular and uncountable words into consideration.
    • ToQuantity: Many times you want to call Singularize and Pluralize to prefix a word with a number; e.g. "2 requests", "3 men".
    • Ordinalize: Ordinalize turns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
  • Number to words: Humanizer can change numbers to words using the ToWords extension



Few examples of above features:
  • "PascalCaseInputStringIsTurnedIntoSentence".Humanize() => "Pascal case input string is turned into sentence"
  • "CanReturnTitleCase".Humanize(LetterCasing.Title) => "Can Return Title Case"
  • "Pascal case input string is turned into sentence".Dehumanize() => "PascalCaseInputStringIsTurnedIntoSentence"
  • "Sentence casing".Transform(To.SentenceCase) => "Sentence casing"
  • "Long text to truncate".Truncate(10) => "Long text…"
  • "Long text to truncate".Truncate(2, Truncator.FixedNumberOfWords, TruncateFrom.Left) => "…to truncate"
  • DateTime.UtcNow.AddHours(30).Humanize() => "tomorrow"
  • DateTime.UtcNow.AddHours(2).Humanize() => "2 hours from now"
  • "Man".Pluralize() => "Men"
  • "Men".Singularize() => "Man"
  • "case".ToQuantity(0) => "0 cases"
  • 1.Ordinalize() => "1st"
  • 122.ToWords() => "one hundred and twenty-two"


You can download from here also.

Apr 8, 2014

WebMaker


WebMaker is a Mozilla project dedicated to helping you create something amazing on the web. Tools, events and teaching guides allow webmakers to not only create the content that makes the web great, but — perhaps more importantly — understand how the web works. With this knowledge, everyone can make a web without limits. That's the philosophy behind webmaker.org.

Few related links:

Apr 7, 2014

.Net Foundation


Microsoft announced the formation of the .NET Foundation, an independent organization created to foster open development and collaboration around the growing collection of open source technologies for .NET.  The .NET Foundation will serve as a forum for commercial and community developers alike with a set of practices and processes that strengthen the future .NET ecosystem.

The .NET Foundation will start with 24 .NET open source projects under its stewardship, including the .NET Compiler Platform (“Roslyn”) and the ASP.NET family of open source projects, as well as the MimeKit and Mailkit libraries from Xamarin.

.NET Foundation goals:

  • Open the development process for .NET: The .NET Foundation brings under a common umbrella existing and new relevant open source projects for the .NET platform, such as ASP.NET, Entity Framework and the recently released .NET Compiler Platform (“Roslyn”). The .NET Foundation will help establish this as the norm moving forward, so more and more .NET components and libraries can benefit from an open process that is transparent and welcomes participation.
  • Encourage customers, partners and the broader community to participate: The .NET Foundation will foster the involvement and direct code contributions from the community, both through its board members as well as directly from individual developers, through an open and transparent governance model that strengthens the future of .NET.
  • Promote innovation by a vibrant partner ecosystem and open source community: The .NET Foundation will encourage commercial partners and open source developers to build solutions that leverage the platform openness to provide additional innovation to .NET developers. This includes extending .NET to other platforms, extending Visual Studio to create new experiences, providing additional tools and extending the framework and libraries with new capabilities.


Apr 3, 2014

Dynamic Website Activation in IIS 8.5

Dynamic Website Activation in IIS 8.5 


Recently I heard about very interesting new feature in IIS 8.5 i.e., Dynamic Website Activation. IIS will activate all the websites which are configured in it. This means automatic activation of all the configured sites is ready to respond whenever the first request arrives. This will help in proper memory management by IIS.

Even we can set threshold level i.e, number of sites to be started at system boot-up using proper configuration. 

Source: http://www.iis.net/learn/get-started/whats-new-in-iis-85/dynamic-site-activation-in-iis85