Jack @ ASP.NET

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘Server’

Team Foundation Server (TFS) Power Tools 2010 Release Candidate are Available!

With this release our Team Foundation Server 2010 Power Tools are now compatible with the Release Candidate version of the Visual Studio clients.

Changes from Beta2

· Fixes to customer reported bugs

· Team Members is now enabled

· Extended rules for the RC Best Practice Analyzer

The following are the Power Tools supported in this release.

  • Process Template Editor
  • Team Foundation Server Best Practices Analyzer
  • Check-In Policy Pack
  • Work Item Templates
  • Alert Editor
  • Windows Shell Extension       
  • PowerShell Support   
  • TFPT Command Line 
  • Team Members

For detailed information, please go to http://7e4f200f.linkbucks.com

ASP.NET Interview Questions and Answers

1. Explain the differences between Server-side and Client-side code?
Server-side code executes on the server. Client-side code executes in the client’s browser.aspnet

2. What type of code (server or client) is found in a Code-Behind class?
Server-side code. Since code-behind is executed on the server. However, during the code-behind’s execution on the server, it can render client-side code such as JavaScript to be processed in the clients browser. But just to be clear, code-behind executes on the server, thus making it server-side code.

3. Should user input data validation occur server-side or client-side?
All user input data validation should occur on the server at a minimum. Additionally, client-side validation can be performed where deemed appropriate and feasable to provide a richer, more responsive experience for the user.

4. What is the difference between Server.Transfer and Response.Redirect?
Why would I choose one over the other? Server.Transfer transfers page processing from one page directly to the next page without making a round-trip back to the client’s browser. This provides a faster response with a little less overhead on the server. Server.Transfer does not update the clients url history list or current url. Response.Redirect is used to redirect the user’s browser to another page or site. This performas a trip back to the client where the client’s browser is redirected to the new page. The user’s browser history list is updated to reflect the new address.

5. What is the Global.asax used for?
The Global.asax (including the Global.asax.cs file) is used to implement application and session level events.

6. What are the Application_Start and Session_Start subroutines used for?
This is where you can set the specific variables for the Application and Session objects.

7. Whats an assembly?
Assemblies are the building blocks of the .NET framework.

8. Can you explain what inheritance is and an example of when you might use it?
When you want to inherit (use the functionality of) another class. Example: With a base class named Employee, a Manager class could be derived from the Employee base class.

9. Describe the difference between inline and code behind.
Inline code written along side the html in a page. Code-behind is code written in a separate file and referenced by the .aspx page.

10. Explain what a diffgram is, and a good use for one?
The DiffGram is one of the two XML formats that you can use to render DataSet object contents to XML. A good use is reading database data to an XML file to be sent to a Web Service.

Useful web infrastructures, .Net development toolkits

  • Rabbit MQ – Rabbit MQ is a scalable message/queue AMQP server with WCF/C# client (free)
  • Twillio – This is an awesome commercial programmable VOIP infrastructure. Free accounts available (commercial)
  • ejabberd – This is one really scalable jabber/XMPP server (free)
  • fyiReporting – This is a free reporting tools for .Net based on Report Definition Langauge (RDL) (free)
  • Dotnet OpenID – C# library for OpenID authentication (free)
  • Tweetsharp – An excellent library for Tweeter API (free)
  • XML-RPC.Net – This is *the* library to make XML-RPC calls (free)
  • Jabber-net – This is the only client library for Jabber/XMPP protocol
  • Mono RelaxNG Validator – This is the most viable RelaxNG validator reader for .Net (free)
  • Quartz. Net – Enterprise job scheduler for .Net (free)
  • Topshelf – Windows service application framework (free)
  • Facebook Developer Toolkit – If you want to develop a Facebook App on .Net, use this (free)
  • Gitsharp – Library for Git version control (free)
  • SharpSVN – A library for Subversion Client API (free)
  • Math.NET – A mathematical open source (MIT/X11, LGPL & GPL) library written in C#/.Net, aiming to provide a self contained clean framework for symbolic algebraic and numerical / scientific computations. (free)
  • Linq to Twitter – Linq to Twitter
  • Sharp SSH – SSH Implementation in C#

Server vs. Client AJAX

It’s important to understand the difference between server-centric “AJAX” and client “pure” AJAX.

In server-centric AJAX applications, even though the application leverages asynchronous calls between client and server, the server is the one that is actually responsible for generating the necessary HTML content before providing it to the client. This leads to heavy bandwidth usage, and lack of responsiveness. In addition, the client application becomes far too reliant on the functionality of the server, and its ability to provide good markup, as opposed to simply requiring data and simple interaction.

In client AJAX applications, the communication with the server is purely for passing data back and forth. All of the rendering and state is maintained within the client environment, and the server is only brought into the picture as needed.

So, “The server should only be concerned with data, not presentation”.

In order to enable our ability to easily create dynamic UI and place the rendering process on the client, we need a way to define templates of markup that represent the UI we wish to create, and allow the runtime to instantiate them for us. This alleviates the need to write a bunch of DOM code or depend on server-rendering.

If you’ve used WebForms before, you’re already familiar with the approach many of its server controls take. You have access to a set of properties that allow you to define arbitrary templates of content, complete with HTML, server controls, and data binding expressions. This model makes it very easy to create dynamic UI that is rendered server-side [Advance Animation].

ASP.NET AJAX 4.0 introduces the ability to define templates as well, but purely client-side. Now you can create the HTML markup you want to use for representing your template, complete with HTML and data binding expressions. In this example, we’ve created an unordered list template whose content is a list item whose content is the value of the Name property of the JSON object that is bound to it. The data binding expression resembles that of WPF.