Contents tagged with .NET

  • Released Today: Visual Studio 2015, ASP.NET 4.6, ASP.NET 5 & EF 7 Previews

    Today is a big day with major release announcements for Visual Studio 2015, Visual Studio 2013 Update 5, and .NET Framework 4.6. All these releases have been covered in great detail on Soma’s Blog, Visual Studio Blog, and .NET Blog

    Join us online for the Visual Studio 2015 Release Event, where you can see Soma, Brian Harry, Scott Hanselman, and many other demo new Visual Studio 2015 features and technologies. This year, in a new segment called “In The Code”, we share how a team of Microsoft engineers created a real app in 3 days. There will be opportunities along the way to interact in live Q&A with the team on subjects such as Agile development, web and cloud development, cross-platform mobile dev and much more. 

    In this post I’d like to specifically talk about some of the ground we have covered in ASP.NET and Entity Framework.  In this release of Visual Studio, we are releasing ASP.NET 4.6, updating our Visual Studio Web Development Tools, and updating the latest beta release of our new ASP.NET 5 framework.  Below are details on just a few of the great updates available today:

    ASP.NET Tooling Improvements

    Today’s VS 2015 release delivers some great updates for web development.  Here are just a few of the updates we are shipping in this release:

    JSON Editor

    JSON has become a first class experience in Visual Studio 2015 and we are now giving you a great editor to allow you to maintain your JSON content.  With support for JSON Schema validation, intellisense, and support for SchemaStore.org writing and producing JSON content has never been as easy.  We’ve also added intellisense support for bower.json and package.json files for bower and npm package manager use.

    image

    HTML Editor Updates

    Our HTML editor received a lot of attention in this update.  We wanted to deliver an editor that kept up with HTML 5 standards and provided rich support for popular new frameworks and libraries.  We previously shipped the bootstrap responsive web framework with our ASP.NET templates, and we are now providing intellisense for their classes with an indicator icon to show that they are bootstrap CSS classes.

    image

     

    This helps you keep clear the classes that you wrote in your project, like the page-inner class above, and the bootstrap classes marked with the B icon.

    We are also keeping up with support for the emerging web components standard with the import link for the web components that markup imports.

     image

    We are also providing intellisense for AngularJS directives and attributes with an appropriate Angular icon so you know you’re triggering AngularJS functionality

     image

    JavaScript Editor Improvements

    With the VS 2015 release we are introducing support for AngularJS structures including controllers, services, factories, directives and animations.  There is also support for the new EcmaScript 6 features such as classes, arrow functions, and template strings. We are also bringing a navigation bar to the editor to help you navigate between the major elements of your JavaScript.  With JSDoc support to deliver intellisense, JavaScript development gets easier.

     image

    ReactJS Editor Support

    We spent some time with the folks at Facebook to make sure that we delivered first class capabilities for developers using their ReactJS framework.  With appropriate syntax highlighting and intellisense for React methods, developers should be very comfortable building React applications with the new Visual Studio:

     image

    Support for JavaScript package managers like Grunt and Gulp and Task Runners

    JavaScript and modern web development techniques are the new recommended way to build client-side code for your web application.  We support these tools and programming techniques with our new Task Runner Explorer that executes grunt and gulp task runners.  You can open this tool window with the Ctrl+Alt+Backspace hotkey combination.

     image

    Execute any of the tasks defined in your gruntfile.js or gulpfile.js by right-clicking on the task name in the left panel and choosing “Run” from the context menu that appears.  You can even use this context menu to attach grunt or gulp tasks to project build events in Visual Studio like “After Build” as shown in the figure above.  Every time the .NET objects in your web project are completed compiling, the ‘build’ task will be executed from the gruntfile.js

    Combined with the intellisense support for JavaScript and JSON editors, we think that developers wanting to use grunt and gulp tasks will really enjoy this new Visual Studio experience.  You can add grunt and gulp tasks with the newly integrated npm package manager capabilities.  When you create a package.json file in your web project, we will install and upgrade local copies of all packages referenced.  Not only do we deliver syntax highlighting and intellisense for package.json terms, we also provide package name and version lookup against the npmjs.org gallery.

     image

    The bower package manager is also supported with great intellisense, syntax highlighting and the same package name and version support in the bower.json file that we provide for package.json.

     image

    These improvements in managing and writing JavaScript configuration files and executing grunt or gulp tasks brings a new level of functionality to Visual Studio 2015 that we think web developers will really enjoy.

  • Introducing ASP.NET 5

    The first preview release of ASP.NET 1.0 came out almost 15 years ago.  Since then millions of developers have used it to build and run great web applications, and over the years we have added and evolved many, many capabilities to it. 

    I'm excited today to post about a new release of ASP.NET that we are working on that we are calling ASP.NET 5.  This new release is one of the most significant architectural updates we've done to ASP.NET.  As part of this release we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized.  The ASP.NET 5 preview is now available as a preview release, and you can start using it today by downloading the latest CTP of Visual Studio 2015 which we just made available.

    ASP.NET 5 is an open source web framework for building modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC 6 framework, which now combines the features of MVC and Web API into a single web programming framework.  ASP.NET 5 will also be the basis for SignalR 3 - enabling you to add real time functionality to cloud connected applications. ASP.NET 5 is built on the .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility.

    With ASP.NET 5 we are making a number of architectural changes that makes the core web framework much leaner (it no longer requires System.Web.dll) and more modular (almost all features are now implemented as NuGet modules - allowing you to optimize your app to have just what you need).  With ASP.NET 5 you gain the following foundational improvements:

    • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
    • Built on .NET Core, which supports true side-by-side app versioning
    • New tooling that simplifies modern Web development
    • Single aligned web stack for Web UI and Web APIs
    • Cloud-ready environment-based configuration
    • Integrated support for creating and using NuGet packages
    • Built-in support for dependency injection
    • Ability to host on IIS or self-host in your own process

    The end result is an ASP.NET that you'll feel very familiar with, and which is also now even more tuned for modern web development.

  • Azure: Machine Learning Service, Hadoop Storm, Cluster Scaling, Linux Support, Site Recovery and More

    Today we released a number of great enhancements to Microsoft Azure. These include:

    • Machine Learning: General Availability of the Azure Machine Learning Service
    • Hadoop: General Availability of Apache Storm Support, Hadoop 2.6 support, Cluster Scaling, Node Size Selection and preview of next Linux OS support
    • Site Recovery: General Availability of DR capabilities with SAN arrays

    I've also included details in this blog post of other great Azure features that went live earlier this month:

  • Announcing Open Source of .NET Core Framework, .NET Core Distribution for Linux/OSX, and Free Visual Studio Community Edition

    This week we are holding our Connect() developer event in New York City.  This is an event that is being streamed online for free, and it covers some of the great new capabilities coming with the Visual Studio 2015 and .NET 5 releases.  You can watch the event live as well as on-demand here.

    I just finished giving the opening keynote of the event during which I made several big announcements:

  • Azure: Announcing New Real-time Data Streaming and Data Factory Services

    The last three weeks have been busy ones for Azure.  Two weeks ago we announced a partnership with Docker to enable great container-based development experiences on Linux, Windows Server and Microsoft Azure.

    Last week we held our Cloud Day event and announced our new G-Series of Virtual Machines as well as Premium Storage offering.  The G-Series VMs provide the largest VM sizes available in the public cloud today (nearly 2x more memory than the largest AWS offering, and 4x more memory than the largest Google offering).  The new Premium Storage offering (which will work with both our D-series and G-series of VMs) will support up to 32TB of storage per VM, >50,000 IOPS of disk IO per VM, and enable sub-1ms read latency.  Combined they provide an enormous amount of power that enables you to run even bigger and better solutions in the cloud.

    Earlier this week, we officially opened our new Azure Australia regions – which are our 18th and 19th Azure regions open for business around the world.  Then at TechEd Europe we announced another round of new features – including the launch of the new Azure MarketPlace, a bunch of great network improvements, our new Batch computing service, general availability of our Azure Automation service and more.

    Today, I’m excited to blog about even more new services we have released this week in the Azure Data space.  These include:

  • Docker and Microsoft: Integrating Docker with Windows Server and Microsoft Azure

    I’m excited to announce today that Microsoft is partnering with Docker, Inc to enable great container-based development experiences on Linux, Windows Server and Microsoft Azure.

    Docker is an open platform that enables developers and administrators to build, ship, and run distributed applications. Consisting of Docker Engine, a lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments.

    Earlier this year, Microsoft released support for Docker containers with Linux on Azure.  This support integrates with the Azure VM agent extensibility model and Azure command-line tools, and makes it easy to deploy the latest and greatest Docker Engine in Azure VMs and then deploy Docker based images within them.  

    Docker Support for Windows Server + Docker Hub integration with Microsoft Azure

    Today, I’m excited to announce that we are working with Docker, Inc to extend our support for Docker much further.  Specifically, I’m excited to announce that:

    1) Microsoft and Docker are integrating the open-source Docker Engine with the next release of Windows Server.  This release of Windows Server will include new container isolation technology, and support running both .NET and other application types (Node.js, Java, C++, etc) within these containers.  Developers and organizations will be able to use Docker to create distributed, container-based applications for Windows Server that leverage the Docker ecosystem of users, applications and tools.  It will also enable a new class of distributed applications built with Docker that use Linux and Windows Server images together.

  • Azure: Redis Cache, Disaster Recovery to Azure, Tagging Support, Elastic Scale for SQLDB, DocDB

    Over the last few days we’ve released a number of great enhancements to Microsoft Azure.  These include:

    • Redis Cache: General Availability of Redis Cache Service
    • Site Recovery: General Availability of Disaster Recovery to Azure using Azure Site Recovery
    • Management: Tags support in the Azure Preview Portal
    • SQL DB: Public preview of Elastic Scale for Azure SQL Database (available through .NET lib, Azure service templates)
    • DocumentDB: Support for Document Explorer, Collection management and new metrics
    • Notification Hub: Support for Baidu Push Notification Service
    • Virtual Network: Support for static private IP support in the Azure Preview Portal
    • Automation updates: Active Directory authentication, PowerShell script converter, runbook gallery, hourly scheduling support

    All of these improvements are now available to use immediately (note that some features are still in preview).  Below are more details about them:

    Redis Cache: General Availability of Redis Cache Service

    I’m excited to announce the General Availability of the Azure Redis Cache. The Azure Redis Cache service provides the ability for you to use a secure/dedicated Redis cache, managed as a service by Microsoft. The Azure Redis Cache is now the recommended distributed cache solution we advocate for Azure applications.

    Redis Cache

    Unlike traditional caches which deal only with key-value pairs, Redis is popular for its support of high performance data types, on which you can perform atomic operations such as appending to a string, incrementing the value in a hash, pushing to a list, computing set intersection, union and difference, or getting the member with highest ranking in a sorted set.  Other features include support for transactions, pub/sub, Lua scripting, keys with a limited time-to-live, and configuration settings to make Redis behave more like a traditional cache.

    Finally, Redis has a healthy, vibrant open source ecosystem built around it. This is reflected in the diverse set of Redis clients available across multiple languages. This allows it to be used by nearly any application, running on either Windows or Linux, that you host inside of Azure.

    Redis Cache Sizes and Editions

    The Azure Redis Cache Service is today offered in the following sizes:  250 MB, 1 GB, 2.8 GB, 6 GB, 13 GB, 26 GB, 53 GB.  We plan to support even higher-memory options in the future.

    Each Redis cache size option is also offered in two editions:

    • Basic – A single cache node, without a formal SLA, recommended for use in dev/test or non-critical workloads.
    • Standard – A multi-node, replicated cache configured in a two-node Master/Replica configuration for high-availability, and backed by an enterprise SLA.

    With the Standard edition, we manage replication between the two nodes and perform an automatic failover in the case of any failure of the Master node (because of either an un-planned server failure, or in the event of planned patching maintenance). This helps ensure the availability of the cache and the data stored within it. 

    Details on Azure Redis Cache pricing can be found on the Azure Cache pricing page.  Prices start as low as $17 a month.

    Create a New Redis Cache and Connect to It

    You can create a new instance of a Redis Cache using the Azure Preview Portal.  Simply select the New->Redis Cache item to create a new instance. 

    You can then use a wide variety of programming languages and corresponding client packages to connect to the Redis Cache you’ve provisioned.  You use the same Redis client packages that you’d use to connect to your own Redis instance as you do to connect to an Azure Redis Cache service.  The API + libraries are exactly the same.

    Below we’ll use a .NET Redis client called StackExchange.Redis to connect to our Azure Redis Cache instance. First open any Visual Studio project and add the StackExchange.Redis NuGet package to it, with the NuGet package manager.  Then, obtain the cache endpoint and key respectively from the Properties blade and the Keys blade for your cache instance within the Azure Preview Portal.

    image

    Once you’ve retrieved these, create a connection instance to the cache with the code below:

    var connection = StackExchange.Redis.ConnectionMultiplexer.Connect("contoso5.redis.cache.windows.net,ssl=true,password=...");