 Your new post is loading...
 Your new post is loading...
With AngularJS and ASP.NET MVC, we now have an MVC pattern and architecture for both on the client and server. What do we do and/or how do we approach this? Well one can argue we don’t use any of the MVC architecture on the server and build out a full-fledged AngularJS front-end application and only use make async calls to Web API for all things that absolutely need to be on the server e.g. CRUD, workflows, business logic, etc. Now, there’s absolutely nothing wrong with this approach, and for the most part a lot of heavy front end SPA’s are built this way in ASP.NET MVC. However, with all the .NET, ASP.NET and AngularJS goodness, why not leverage the best of both worlds? Again, there’s absolutely nothing wrong with building a pure AngularJS application and only using Web API, but for this blog post we’ll go over patterns of using the best of both worlds along with integrating AngularJS with Kendo UI.
Via Jan Hesse
|
Scooped by
William delmas
March 29, 2014 9:34 AM
|
Gone are the days when a team could solve a business problem by simply building a set of interrelated Web pages. Most of the time, you don’t build plain Web sites anymore; you build articulated solutions that result from the combination of various artifacts, including a classic Web site full of HTML pages, a mobile front end for navigation over devices, maybe a push-notification endpoint for mobile apps that relates to the solution, and a distinct network for static content. Each piece of the solution requires its own framework when not on its own platform. This causes a proliferation of frameworks and codenames that are confusing to everybody except a (very) small group of geeks. In addition, sites like GitHub make it easy for everybody to contribute his own work to the community. Far from being a problem, it encourages everybody to write his own framework for doing the same things as others but in a slightly different way that the author and a few followers reckoned was better. Now, if your work is on the cutting edge, and you are lucky enough to only work on brand-new projects from day one, and your buyers are open to any sort of technology or framework regardless of support (and lack thereof), availability of (and lack thereof) service-level agreements, open-source statements and similar, then you live in a perfect world. But otherwise, you may just happen to live in the neighborhood of hell and want to move elsewhere. This article, like a real-estate leaflet, lists properties on sale without exaggerating value, benefits, and quality!
|
Scooped by
William delmas
February 23, 2014 8:39 AM
|
The modern web ecosystem is made up of many different types of scenarios of how users interact with online content. With the increasing popularity of mobile devices along with countless hours at Starbucks and on airplanes, users may often find themselves in a position of wanting to use web content while not being able to enjoy reliable and continual access to the Internet. A website that is not configured to operate in a disconnected state is unavailable in any form if an Internet connection is not available. For instance, Figure 1demonstrates the type of response you may encounter while trying to view http://msn.com while working without an Internet connection.
|
Scooped by
William delmas
February 15, 2014 7:48 AM
|
I have been brewing on this post for some days now and the excitement of the presentation to come motivated me to finish it. We use ElasticSearch at my day job at eBay and the product is also a key ingredient in my ELMAH in the cloud project elmah.io. In this post I will share my experiences setting up ElasticSearch in a clustered setup of virtual machines, running on Windows Azure. Disclamer: this is in no way an official guide on how to setup ElasticSearch in a cluster. My experience with replication in ElasticSearch is pretty limited, and I only just now found out how virtual networks work in Windows Azure. Use this guide for inspiration and I would love to get some feedback on the approach used. If you don’t have access to Azure, there’s a free trial available from the frontpage: http://www.windowsazure.com/en-us/pricing/free-trial/. You will get 30 days of Azure with a maximum of $200 worth of services. Pricing on Azure has always been a nightmare, but $200 should do just fine in order to play around with a couple of VMs. When signed up and in, start by creating a new virtual network:
|
Suggested by
Jan Hesse
January 29, 2014 5:46 AM
|
ASP.NET Web API Throttling handler is designed to control the rate of requests that clients can make to a Web API based on IP address, client API key and request route. WebApiThrottle is compatible with Web API v2 and can be installed via NuGet, the package is available atnuget.org/packages/WebApiThrottle. Web API throttling can be configured using the built-in ThrottlePolicy. You can set multiple limits for different scenarios like allowing an IP or Client to make a maximum number of calls per second, per minute, per hour or even per day. You can define these limits to address all requests made to an API or you can scope the limits to each API route.
|
Scooped by
William delmas
January 15, 2014 4:24 AM
|
The Web API services app is using the latest Web API binaries. If you are using Visual Studio 2012, you can create a Web API application and upgrade to Web API preview version using the –pre parameter in the Package Manager Console. If you are using Visual Studio 2013 Preview, you are already setup with the latest preview binaries for Web API 2.0. Once the project is setup, we use the following command to install the latest version of Entity Framework (which is version 6 beta at the time of writing).
|
Scooped by
William delmas
December 27, 2013 8:10 AM
|
If you aren't already familiar with SignalR, it is an awesome library that allows ASP.NET developers to add real-time web functionality to their applications. For more detail about the library, check out the SignalR website. The beauty of SignalR is that it uses a fallback mechanism to connect the browser to the server. A SignalR connection starts as HTTP, and is then promoted to a WebSocket connection if it is available. This means that if the browser doesn't support WebSockets, it will fallback to the next available transport mechanism. This guarantees that you will get results, regardless of the browser.
|
Scooped by
William delmas
November 16, 2013 9:50 AM
|
We’ll not really go into the basic details of Owin here – I have already covered that in previous posts – so let’s just say that the gist is that with Owin we can easily host a number of frameworks side by side and decouple our web frameworks from the host beneath it. Naturally, through Owin middleware, we can address common concerns in a single place too – the most obvious usage being security.
|
Scooped by
William delmas
November 5, 2013 8:00 AM
|
Signaling is the process of coordinating communication. In order for a WebRTC application to set up a 'call', its clients need to exchange information: Session control messages used to open or close communication.Error messages.Media metadata such as codecs and codec settings, bandwidth and media types.Key data, used to establish secure connections.Network data, such as a host's IP address and port as seen by the outside world. This signaling process needs a way for clients to pass messages back and forth. That mechanism is not implemented by the WebRTC APIs: you need to build it yourself. We describe below some ways to build a signaling service. First, however, a little context...
|
Suggested by
Jan Hesse
November 1, 2013 7:53 AM
|
I know that SignalR has been around for a while, but I wanted to take a moment to provide a SignalR for dummies post. And for the record, I am just using the expression; never would I actually imply you are an actual dummy. Since you are viewing my site, all evicence would suggest otherwise. Eh-hem…. Well that was arrogant Chris! This post is intended not just for anyone that is new to SignalR, but also in preparation for my upcoming Desert Code Camp presentation as well as a few follow up articles I intend to write on some more advanced SignalR concepts.
In the coming two weeks I will do a series of talks at various conferences in Austria and Germany. I will speak about AngularJS, TypeScript, and Windows Azure Mobile Services. In this blog post I publish the slides and the sample code. Sample 1: The Basics Sample 2: TypeScript Modules vs. AngularJS Modules Sample 3: AngularJS Scopes Sample 4: Dependency Injection Sample 5: Accessing Backend Services Accessing Azure Table Storage with AngularJS and TypeScript Unit Test with HTTP Mocking HTML View + TypeScript Controller
Via Jan Hesse
|
Suggested by
Jan Hesse
October 22, 2013 11:03 AM
|
The following steps show how you can add email (or any other parameter) to the UserProfile of Simple Membership. This useful especially when you want to get more information on your users. For example, you may want their email, mobile, twitter, facebook, etc. this may be useful to have in either the UserProfile table or table(s) associated there. Either way, the following should help you understand on the required steps to make such changes. It’s also happens to be the preliminary step to implementing a password reset; after all, we’ll need the users’ email to send them their reset link!
|
Scooped by
William delmas
October 18, 2013 3:17 AM
|
If you are reading this article then very likely you already know what Redis is. If you are an experienced Redis user interested in ASP.NET Web API integration you can safely jump to the next part. In order to use Redis efficiently and avoid potential pitfalls one needs to understand a little bit about how it works and how different it is from relational databases.I strongly recommend reading one of books or online materials available on the topic.
|
|
Rescooped by
William delmas
from AspNet MVC
March 30, 2014 7:14 AM
|
Exception loggers provide you a single point into which you can plug in a service that would log information about any exceptions occurring in the Web API pipeline – regardless where they originated from. Moreover, the relevant ExceptionContext will be provided to you inside that logger, giving you access to contextual information which are specific for the controller or filter or any other Web API component from which the exception was thrown.
Via Marc Chouteau
|
Scooped by
William delmas
March 29, 2014 9:29 AM
|
Rich-clients are back. But the new rich-client is the browser. No more plug-ins or ActiveX objects in sight. Instead you’ll find new, more powerful JavaScript libraries enabling you to more easily build large-scale applications directly in the browser. You’ll still need to be able to work with the disconnected nature of websites, but you no longer need to worry about a page-based model. One of these libraries is AngularJS from Google. In this article, I hope to get you started by showing you how it works and hopefully why you should be using it.
|
Scooped by
William delmas
February 22, 2014 6:16 AM
|
Once AngularJS is in place it intercepts all the url navigation requests (<a> tags) and stops the browser form full page refresh. How it happens is - It starts with user navigating to the app home(such as http://localhost/home). This is a standard HTML request which gets data from a server view.
- The browser then loads the necessary html and scripts and sets up the AngularJS configuration.
- AngularJS navigation ($location service) kicks in and hence forth the only requests that are send are to load partial views into a specific page section (ng-view or ng-include).
Keeping this in mind we start setting up the view.
|
Scooped by
William delmas
February 15, 2014 7:38 AM
|
HDInsight provides a very easy to use interface to provision a Hadoop cluster with a few clicks and interact with the cluster programmatically. In this blog post, we will explore Hive and how it can be used with HDInsight. Hive is very popular among data analysts/scientists as it provides a friendly SQL-like interface to interact with the Hadoop cluster. However, behind the scenes, Hive uses the MapReduce framework to submit jobs and get results back. When an HDInsight cluster is provisioned, HiveServer and HiveServer2 services are installed on the head node of the cluster. While HDInsight provides the option to interact with both the services, HiveServer2 is the service of choice since it addresses the concurrency limitation imposed by HiveServer.
|
Scooped by
William delmas
January 15, 2014 4:41 AM
|
If you start browsing through the source code of the ASP.NET Web API, you will find very few classes where they do not have xxxAsync() method or do not contain methods returning varieties of Task<T> (which from here on, I am gonna use to generically refer to all tasks including all variations such as Task and Task<T>). Task allows the operations to be scheduled asynchronously, however, the question is now that most methods return Task<T>, would the context switching of all these asynchronous operations not have an adverse effect on the performance of the Web API? At the end of the day, async was added to improve the scalability but can adversely damage the performance? As we will see below, ASP.NET Web API runs actions asynchronously only if you tell it to - hence no context-switching happens within the framework for non-Task actions. And for Task actions, since we are dealing with long running processes, asynchronous processing provides scalability.
|
Scooped by
William delmas
January 14, 2014 5:13 AM
|
The server side is located in the cloud and interacts with a client through event handlers which are deployed in some web application. Further, received messages are distributed to different types of client applications via SignalR: client initiates communication; server uses opened socket to return data to the client; client uses keep-alive to preserve open connection. In such a way, the CQRS events processing is provided.
|
Suggested by
Jan Hesse
December 11, 2013 8:59 AM
|
I have been browsing multiple sites for a complete end-to-end tutorial or article upon CRUD operations using Knockout.JS and MVC 4. Unfortunately all I found were incomplete or short explanations. In my last article we learned about imlementation of CRUD in ASP.Net web forms using MVC and EntityFramework. This article is the continuation of the series. My effort in this article will be a kind of tutorial to explain how to set up the knockout.js environment in a MVC4 application and perform CRUD operations on it.I have been browsing multiple sites for a complete end-to-end tutorial or article upon CRUD operations using Knockout.JS and MVC 4. Unfortunately all I found were incomplete or short explanations. In my last article we learned about imlementation of CRUD in ASP.Net web forms using MVC and EntityFramework. This article is the continuation of the series. My effort in this article will be a kind of tutorial to explain how to set up the knockout.js environment in a MVC4 application and perform CRUD operations on it.
|
Scooped by
William delmas
November 14, 2013 5:53 AM
|
If you haven’t heard of OAuth or OpenID you have most certainly used it in day to day life. Have you provided your google username/password and logged in to StackOverflow or used your WordPress.com account to post comments on someone’s blog or used third party Twitter clients whom you have given permission to use your Twitter account or used Facebook to post comments on some tech blog site? If answer to any of the above is a Yes, you have seen OAuth or OpenID in action.
|
Scooped by
William delmas
November 1, 2013 10:04 AM
|
Generic Hadoop doesn’t provide any out-of-the-box visual monitoring systems that report on the status of all the nodes in a Hadoop cluster. This JNBridge Lab demonstrates how to create a .NET-based monitoring application that utilizes an existing Microsoft Windows product to provide a snapshot of the entire Hadoop cluster in real time.
|
Scooped by
William delmas
October 27, 2013 6:01 AM
|
In the first two parts of this series of articles, I set the groundwork for a solution that used ASP.NET MVC to create a simple site for a fictitious company called NorthWind Traders with a SQL Server database and which used R for the analytics and visualisation. Now, in the third part of the series, I’ll build on this by introducing two new R libraries that widen the analytical power of the application that we began developing in part 1 and 2. These libraries are called lattice and googleVis.
|
Scooped by
William delmas
October 24, 2013 4:20 AM
|
You want to try creating a single-page web application (SPA) on top of AngularJS, a client-side MVC framework by Google. I assume, you’re already familiar with ASP.NET MVC. Will these two play together nicely? The answer is YES! With a few gotchas… First, why on earth would you want to mix a client-side MVC-family framework with a server-side one? I think you do not want to do that. On the other hand, ASP.NET MVC 4 provides a great framework for creating RESTful services: Web API.
|
Scooped by
William delmas
October 19, 2013 5:17 AM
|
Thanks to StreamContent class, creating basic file download service in ASP.NET Web API is a relatively straightforward task. Let’s start by implementing a basic scenario, where files are served from a directory. Instead of dealing with file system access directly in controllers I usually like to encapsulate this functionality in a dedicated object, which makes unit testing/mocking easier and makes code tidier. For our examples we will createIFileProvider interface that exposes three operations:
|