<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kailas Sutrave</title>
	<atom:link href="http://kvsutrave.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kvsutrave.wordpress.com</link>
	<description>Blog for Knowledge, Passion</description>
	<lastBuildDate>Fri, 25 Sep 2009 06:29:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kvsutrave.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/decfe7088215a609b294b1ccf8eb1d91?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Kailas Sutrave</title>
		<link>http://kvsutrave.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kvsutrave.wordpress.com/osd.xml" title="Kailas Sutrave" />
	<atom:link rel='hub' href='http://kvsutrave.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ASP.net Interview Questions</title>
		<link>http://kvsutrave.wordpress.com/2009/07/07/asp-net-interview-questions/</link>
		<comments>http://kvsutrave.wordpress.com/2009/07/07/asp-net-interview-questions/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:32:55 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.net interview questions]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=39</guid>
		<description><![CDATA[// // Describe the role of inetinfo.exe, aspnet_isapi.dll and aspnet_wp.exe in the page loading process. inetinfo.exe is theMicrosoft IIS server running, handling ASP.NET requests among other things.When an ASP.NET request is received (usually a file with .aspx extension), the ISAPI filter aspnet_isapi.dll takes care of it by passing the request tothe actual worker process aspnet_wp.exe. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=39&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>//<br />
// </p>
<ol>
<li><strong>Describe the role of <em>inetinfo.exe,      aspnet_isapi.dll </em>and <em>aspnet_wp.exe</em> in the page loading process</strong>.<br />
inetinfo.exe is theMicrosoft IIS server running, handling ASP.NET requests      among other things.When an ASP.NET request is received (usually a file      with .aspx extension), the ISAPI filter aspnet_isapi.dll takes care of it      by passing the request tothe actual worker process aspnet_wp.exe.</li>
<li><strong>What’s the difference between      Response.Write() andResponse.Output.Write()?<br />
</strong>Response.Output.Write()      allows you to write formatted output.</li>
<li><strong>What methods are fired during the      page load?<br />
</strong>Init() &#8211; when      the page is instantiated<br />
Load() &#8211; when the page is loaded into server memory<br />
PreRender() &#8211; the brief moment before the page is displayed to the user as      HTML<br />
Unload() &#8211; when page finishes loading.</li>
<li><strong>When during the page processing      cycle is ViewState available?</strong><br />
After the Init() and before the Page_Load(), or OnLoad() for a      control.</li>
<li><strong>What namespace does the Web page      belong in the .NET Framework class hierarchy?<br />
</strong>System.Web.UI.Page</li>
<li><strong>Where do you store the      information about the user’s locale?<br />
</strong>System.Web.UI.Page.Culture</li>
<li><strong>What’s the difference between      Codebehind=&#8221;MyCode.aspx.cs&#8221; andSrc=&#8221;MyCode.aspx.cs&#8221;?<br />
</strong>CodeBehind is      relevant to Visual Studio.NET only.</li>
<li><strong>What’s a bubbled event?<br />
</strong>When you have a      complex control, like DataGrid, writing an event processing routine for      each object (cell, button, row, etc.) is quite tedious. The controls can      bubble up their eventhandlers, allowing the main DataGrid event handler to      take care of its constituents.</li>
<li><strong>Suppose you want a certain      ASP.NET function executed on MouseOver for a certain      button.  Where do you add an event handler?<br />
</strong>Add an      OnMouseOver attribute to the button.  Example:      btnSubmit.Attributes.Add(&#8220;onmouseover&#8221;,&#8221;someClientCodeHere();&#8221;);</li>
<li><strong>What data types do the      RangeValidator control support?<br />
</strong>Integer, String,      and Date.</li>
<li><strong>Explain the differences between      Server-side and Client-side code?<br />
</strong>Server-side code      executes on the server.  Client-side code executes in the      client&#8217;s browser.</li>
<li><strong>What type of code (server or      client) is found in a Code-Behind class?<br />
</strong>The answer is      server-side code since code-behind is executed on the server.       However, during the code-behind&#8217;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.</li>
<li><strong>Should user input data validation      occur server-side or client-side?  Why?<br />
</strong>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.</li>
<li><strong>What is the difference between      Server.Transfer and Response.Redirect?  Why would I choose one over      the other?<br />
</strong>Server.Transfer      transfers page processing from one page directly to the next      page without making a round-trip back to the client&#8217;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&#8217;s browser to another page or site.  This      performas a trip back to the client where the client&#8217;s browser is      redirected to the new page.  The user&#8217;s browser history list is      updated to reflect the new address.</li>
<li><strong>Can you explain the difference      between an ADO.NET Dataset and an ADO      Recordset?<br />
</strong>Valid answers      are:<br />
·  A DataSet can represent an entire relational database in memory,      complete with tables, relations, and views.<br />
·  A DataSet is designed to work without any continuing connection to      the original data source.<br />
·  Data in a DataSet is bulk-loaded, rather than being loaded on      demand.<br />
·  There&#8217;s no concept of cursor types in a DataSet.<br />
·  DataSets have no current record pointer You can use For Each loops      to move through the data.<br />
·  You can store many edits in a DataSet, and write them to the      original data source in a single operation.<br />
·  Though the DataSet is universal, other objects in ADO.NET come in      different versions for different data sources.</li>
<li><strong>What is the Global.asax used for?</strong><strong><br />
</strong>The Global.asax      (including the Global.asax.cs file) is used to implement application and      session level events.</li>
<li><strong>What are the      Application_Start and Session_Start subroutines used for?<br />
</strong>This is where      you can set the specific variables for the Application and Session      objects.</li>
<li><strong>Can you explain what inheritance      is and an example of when you might use it?<br />
</strong>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.</li>
<li><strong>Whats an assembly?<br />
</strong>Assemblies are      the building blocks of the .NET framework.<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconassembliesoverview.asp"> Overview of assemblies from MSDN</a></li>
<li><strong>Describe the difference between      inline and code behind.<br />
</strong>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.</li>
<li><strong>Explain what a diffgram is, and a      good use for one?<br />
</strong>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.</li>
<li><strong>Whats MSIL, and why should my      developers need an appreciation of it if at all?<br />
</strong>MSIL is the      Microsoft Intermediate Language. All .NET compatible languages will get      converted to MSIL.  MSIL also allows the .NET Framework to JIT      compile the assembly on the installed computer.</li>
<li><strong>Which method do you invoke on the      DataAdapter control to load your generated dataset with data?<br />
</strong>The Fill()      method.</li>
<li><strong>Can you edit data in the Repeater      control?<br />
</strong>No, it just      reads the information from its data source<strong>.</strong></li>
<li><strong>Which template must you provide,      in order to display data in a Repeater control?<br />
</strong>ItemTemplate.</li>
<li><strong>How can you provide an      alternating color scheme in a Repeater control?<br />
</strong>Use the      AlternatingItemTemplate<strong>.</strong></li>
<li><strong>What property must you set, and      what method must you call in your code, in order to bind the data from      a data source to the Repeater control?<br />
</strong>You must set the      DataSource property and call the DataBind method.</li>
<li><strong>What base class do all Web Forms      inherit from?<br />
</strong>The Page      class.</li>
<li><strong>Name two properties common in      every validation control?<br />
</strong>ControlToValidate      property and Text property.</li>
<li><strong>Which property on a Combo Box do      you set with a column name, prior to setting the DataSource, to display      data in the combo box?<br />
</strong>DataTextField      property.</li>
<li><strong>Which control would you use if      you needed to make sure the values in two different controls matched?<br />
</strong>CompareValidator      control.</li>
<li><strong>How many classes can a single      .NET DLL contain?<br />
</strong>It can contain      many classes.</li>
</ol>
<p>Web Service Questions</p>
<ol>
<li><strong>What is the transport protocol you      use to call a Web service?<br />
</strong>SOAP (Simple      Object Access Protocol) is the preferred protocol.</li>
<li><strong>True or False: A Web service can      only be written in .NET?<br />
</strong>False<strong><br />
</strong></li>
<li><strong>What does WSDL stand for?<br />
</strong>Web Services      Description Language.</li>
<li><strong>Where on the Internet would you      look for Web services?<br />
</strong><a href="http://www.uddi.org/">http://www.uddi.org</a></li>
<li><strong>True or False: To test a Web      service you must create a Windows application or Web application to      consume this service?<br />
</strong>False, the web      service comes with a test page and it provides HTTP-GET method to test.</li>
</ol>
<p>State Management Questions</p>
<ol>
<li><strong>What is ViewState?</strong><strong><br />
</strong>ViewState allows      the state of objects (serializable) to be stored in a hidden field on the      page.  ViewState is transported to the client and back to the server,      and is not stored on the server or any other external source.       ViewState is used to retain the state of server-side objects between      postabacks.</li>
<li><strong>What is the lifespan for items      stored in ViewState?</strong><strong><br />
</strong>Item stored in      ViewState exist for the life of the current page.  This includes      postbacks (to the same page).</li>
<li><strong>What does the      &#8220;EnableViewState&#8221; property do?  Why would I want it on or      off?</strong><strong><br />
</strong>It allows the      page to save the users input on a form across postbacks.  It saves      the server-side values for a given control into ViewState, which is stored      as a hidden value on the page before sending the page to the clients      browser.  When the page is posted back to the server the server      control is recreated with the state stored in viewstate.</li>
<li><strong>What are the different types of      Session state management options available with ASP.NET?</strong><br />
ASP.NET provides In-Process and Out-of-Process state management.       In-Process stores the session in memory on the web server.  This      requires the &#8220;sticky-server&#8221; (or no load-balancing) so that the      user is always reconnected to the same web server.  Out-of-Process      Session state management stores data in an external data source.  The      external data source may be either a SQL Server or a State Server      service.  Out-of-Process state management requires that all objects      stored in session are serializable.</li>
</ol>
<p><strong>How would you retrieve the last inserted value in SQL Server?</strong></p>
<p>@@IDENTITY is used to retrieve the last-inserted identity value in Sql Server.</p>
<p><strong>What is the difference between a.Equals(b) and a == b?</strong></p>
<p>a == b is used to compare the references of two objects</p>
<p>a.Equals(b) is used to compare two objects</p>
<p><strong>Difference Between CONST &amp; READONLY</strong></p>
<p><strong> </strong></p>
<p><strong>what is the difference between user control an custom control? advantages/disadvantages?</strong></p>
<p>Web user controls Vs Web custom controls<br />
Easier to create Vs Harder to create<br />
Limited support for consumers who use a visual design tool Vs Full visual design tool support for consumers<br />
A separate copy of the control is required in each application Vs Only a single copy of the control is required, in the global assembly cache<br />
Cannot be added to the Toolbox in Visual Studio Vs Can be added to the Toolbox in Visual Studio<br />
Good for static layout Vs Good for dynamic layout</p>
<p><strong>What is CLR?</strong><br />
CLR(Common Language Runtime) is the main resource of .Net Framework. it is collection of services like garbage collector, exception handler, jit compilers etc. with the CLR cross language integration is possible.</p>
<p><strong>What is Delegate and what is it used for ?</strong></p>
<p><strong><a href="http://searchvb.techtarget.com/vsnetTip/1,293823,sid8_gci916799_tax293034,00.html">http://searchvb.techtarget.com/vsnetTip/1,293823,sid8_gci916799_tax293034,00.html</a></strong></p>
<p>Delegate is kind of like a pointer to a function in C++ or like an event handler in Java</p>
<p>You can use it to “multicast” which means running multiple functions in different instances of object already created.</p>
<p>This is useful when you want your objects to “register” to an event raised by another object.</p>
<p>The way it works is the object you are registered to listen to recieves the delegate of the function it is supposed to run in your object, the delegate is then run from it. (if you switch the word delegate for pointer, this would be much simpler)</p>
<p><strong>What does the &#8220;EnableViewState&#8221; property do? Why would I want it on or off? </strong></p>
<p>EnableViewState stores the current state of the page and the objects in it like text boxes, buttons, tables etc. So this helps not losing the state between the round trips between client and server. But this is a very expensive on browser. It delays rendering on the browser, so you should enable it only for the important fields/objects</p>
<p><strong>What is the difference between Server.Transfer and Response.Redirect? Why would I choose one over the other?</strong></p>
<p>Server.Transfer transfers the current context of the page to the next page and also avoids double roundtrips. Where as Response.Redirect could only pass querystring and also requires roundtrip.</p>
<p><strong>How is .NET able to support multiple languages?</strong> –</p>
<p>A language should comply with the Common Language Runtime standard to become a .NET language. In .NET, code is compiled to Microsoft Intermediate Language (MSIL for short). This is called as Managed Code. This Managed code is run in .NET environment. So after compilation to this IL the language is not a barrier. A code can call or use a function written in another language.</p>
<p><strong>Describe the difference between inline and code behind &#8211; which is best in a loosely coupled solution </strong><br />
Inline style is mixing the server side code and client side code (HTML and javascript) on the same page and run it. Where as codebehind is seperating the server side in a different page (enabling developers/coders to work) and leaving the client side code to do the presentation only (so designers would work on it). Inline code would be simplest way of approach because it doesn&#8217;t require any pre-compilation. But it is not good in many ways, i. You mix the presentation and server side code together so whenever there is a change it would be tough to maintain. ii. The event processing would be a night mare in inline code. iii. Since the codebehind needs to be compile in advance, it would be faster unline inline, which is interpreted per call basis. In a loosely couple situation, code-behind would be the best way to approach. Because it provides better performance.</p>
<p><strong>Explain Assemblies?</strong></p>
<p>Assembly is a single deployable unit that contains information about the implementation of classes, structures and interfaces. it also stores the information about itself called metadata and includes name and verison of the assembly, security information, information about the dependencies and the list of files that constitute the assembly.</p>
<p>Assembly also contains namespaces. In the .Net Framework, applications are deployed in the form of assemblies.</p>
<p><strong>In what order do the events of an ASPX page execute. As a developer is it important to undertsand these events?</strong></p>
<p>This is the order of Page events<br />
i. Page_Init<br />
ii.Page_LoadViewState<br />
iii. Page_LoadPostData<br />
iv. Page_Load<br />
v. Page_RaisePostDataChanged<br />
vi. Page_RaisePostBackEvent<br />
vii. Page_PreRender<br />
viii. Page_SaveViewState<br />
ix. Page_Render<br />
x. Page_Dispose<br />
xii. Page_Error (this is caused whenever there is an exception at the page level).</p>
<p>Out of all the Page_Load is the one where your code gets loaded and your magic should be written. page_init occurs only once, i.e. when the page is initially created.</p>
<p><strong>What base class do all Web Forms inherit from?<br />
</strong><br />
System.Web.UI.Page</p>
<p><strong>what is shadowing ?</strong><br />
Overloading allows a subclass to add a new variation of a method. As long as the new variation has a different method signature, it can have the same name as an existing method on the base class. Shadowing, on the other hand, entirely replaces all variations of the method from the base class, leaving the subclass with only a single version of the method—the one we created through shadowing. Shadowing does not extend an interface, but rather replaces existing methods.</p>
<p>Overriding allows a subclass to alter or replace an existing method with the permission of the base class designer. Shadowing can be done without the permission of the base class designer, which is a risky proposition and one that requires extensive testing because the base class was never designed with such a thing in mind.</p>
<p>Also, as we discussed earlier, overriding uses virtual methods so the implementation of the method that is invoked is based on the data type of the underlying object, not the data type of the variable we&#8217;re using. When a method is shadowed it is not virtual, and it is the data type of the variable that dictates the implementation of the method that will be used. The data type of the underlying object is ignored.<strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Describe the difference between a Thread and a Process?</strong></p>
<p><strong> </strong></p>
<p>A thread is a path of execution that run on CPU, a proccess is a collection of threads that share the same virtual memory. A process have at least one thread of execution, and a thread always run in a process context.</p>
<p>“Process is unit of allocation while Thread is unit of execution. Each process has one or more threads. Each thread belong to one process”</p>
<p><strong>What is strong-typing versus weak-typing? Which is preferred? Why? </strong></p>
<p>Strong type is checking the types of variables as soon as possible, usually at compile time. While weak typing is delaying checking the types of the system as late as possible, usually to run-time. Which is preferred depends on what you want. For scripts &amp; quick stuff you’ll usually want weak typing, because you want to write as much less (is this a correct way to use Ensligh?) code as possible. In big programs, strong typing can reduce errors at compile time.</p>
<p><strong> </strong></p>
<p><strong>What are PDBs? Where must they be located for debugging to work?</strong></p>
<p>To debug precompiled components such as business objects and code-behind modules, you need to generate debug symbols. To do this, compile the components with the debug flags by using either Visual Studio .NET or a command line compiler such as Csc.exe (for Microsoft Visual C# .NET) or Vbc.exe (for Microsoft Visual Visual Basic .NET).</p>
<p>A program database (PDB) file holds debugging and project state information that allows incremental linking of a Debug configuration of your program.</p>
<p>The linker creates project.PDB, which contains debug information for the project’s EXE file. The project.PDB contains full debug information, including function prototypes, not just the type information found in VCx0.PDB. Both PDB files allow incremental updates.</p>
<p><strong>What is FullTrust? Do GAC’ed assemblies have FullTrust? </strong></p>
<p>Your code is allowed to do anything in the framework, meaning that all (.Net) permissions are granted. The GAC has FullTrust because it’s on the local HD, and that has FullTrust by default, you can change that using caspol</p>
<p><strong>What is the difference between Debug.Write and Trace.Write? When should each be used? </strong></p>
<p>The Debug.Write call won’t be compiled when the DEBUG symbol is not defined (when doing a release build). Trace.Write calls will be compiled. Debug.Write is for information you want only in debug builds, Trace.Write is for when you want it in release build as well. And in any case, you should use something like log4net because that is both faster and better</p>
<p>Debug.Write &amp; Trace.write &#8211; both works in Debug mode, while in Release Mode,Trace.write only will work</p>
<p><strong>What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not? </strong></p>
<p>Debug build contain debug symbols and can be debugged while release build doesn’t contain debug symbols, doesn’t have [Contional(”DEBUG”)] methods calls compiled, can’t be debugged (easily, that is), less checking, etc. There should be a speed difference, because of disabling debug methods, reducing code size etc but that is not a guarantee (at least not a significant one)</p>
<p><strong>Contrast the use of an abstract base class against an interface? </strong></p>
<p>In the interface all methods must be abstract, in the abstract class some methods can be concrete. In the interface no accessibility modifiers are allowed, which is ok in abstract classes</p>
<p><strong>What is boxing? </strong></p>
<p>Boxing is an implicit conversion of a value type to the type object<br />
int i = 123; // A value type<br />
Object box = i // Boxing<br />
Unboxing is an explicit conversion from the type object to a value type<br />
int i = 123; // A value type<br />
object box = i; // Boxing<br />
int j = (int)box; // Unboxing</p>
<p><strong>Is string a value type or a reference type? </strong></p>
<p>String is Reference Type.<br />
Value type &#8211; bool, byte, chat, decimal, double, enum , float, int, long, sbyte, short,strut, uint, ulong, ushort<br />
Value types are stored in the Stack<br />
Reference type &#8211; class, delegate, interface, object, string<br />
Reference types are stored in the Heap<strong> </strong></p>
<p><strong>What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why</strong><strong> </strong></p>
<p>1)In a interface class, all methods are abstract without implementation where as in an abstract class some methods we can define concrete. In interface, no accessibility modifiers are allowed. An abstract class may have accessibility modifiers. Interface and abstract class are basically a set of rules which u have to follow in case u r using them(inheriting them).</p>
<p>Abstract classes are closely related to interfaces. They are classes that cannot be instantiated, and are frequently either partially implemented, or not at all implemented. One key difference between abstract classes and interfaces is that a class may implement an unlimited number of interfaces, but may inherit from only one abstract (or any other kind of) class. A class that is derived from an abstract class may still implement interfaces. Abstract classes are useful when creating components because they allow you specify an invariant level of functionality in some methods, but leave the implementation of other methods until a specific implementation of that class is needed. They also version well, because if additional functionality is needed in derived classes, it can be added to the base class without breaking code.</p>
<ol>
<li><strong>How does output      caching work in ASP.NET?</strong><br />
Output caching is a powerful technique that increases request/response      throughput by caching the content generated from dynamic pages. Output      caching is enabled by default, but output from any given response is not      cached unless explicit action is taken to make the response cacheable.</li>
</ol>
<p>To make a response eligible for output caching, it must have a valid expiration/validation policy and public cache visibility. This can be done using either the low-level OutputCache API or the high-level @ OutputCache directive. When output caching is enabled, an output cache entry is created on the first GET request to the page. Subsequent GET or HEAD requests are served from the output cache entry until the cached request expires.</p>
<p>The output cache also supports variations of cached GET or POST name/value pairs.</p>
<p>The output cache respects the expiration and validation policies for pages. If a page is in the output cache and has been marked with an expiration policy that indicates that the page expires 60 minutes from the time it is cached, the page is removed from the output cache after 60 minutes. If another request is received after that time, the page code is executed and the page can be cached again. This type of expiration policy is called absolute expiration &#8211; a page is valid until a certain time.</p>
<ol>
<li><strong>What is      serialization, how it works in .NET?</strong></li>
</ol>
<p>Serialization is when you persist the state of an object to a storage medium so an exact copy can be re-created at a later stage.</p>
<p>Serialization is used to save session state in ASP.NET.<br />
Serialization is to copy objects to the Clipboard in Windows Forms<br />
Serialization is used by remoting to pass objects by value from one application domain to another</p>
<p>What should one do to make class serializable?</p>
<p>To make a class serializable is to mark it with the Serializable attribute as follows.</p>
<p>[Serializable]<br />
public class MyObject {<br />
public int n1 = 0;<br />
public int n2 = 0;<br />
public String str = null;<br />
}</p>
<p><strong>What exactly is being serialized when you perform serialization?<br />
</strong>The object’s state (values)</p>
<p><strong>What is Viewstate?<br />
</strong>A server control’s view state is the accumulation of all its property values. In order to preserve these values across HTTP requests, ASP.NET server controls use this property, which is an instance of the StateBag class, to store the property values.</p>
<p><strong>Can any object be stored in a Viewstate?<br />
</strong>An object that either is serializable or has a TypeConverter defined for it can be persisted in ViewState</p>
<p><strong>What should you do to store an object in a Viewstate?<br />
</strong>Do serialization of convert the object to string</p>
<p><strong>Explain how Viewstate is being formed and how it’s stored on client. </strong></p>
<p>The type of ViewState is System.Web.UI.StateBag, which is a dictionary that stores name/value pairs. ViewState is persisted to a string variable by the ASP.NET page framework and sent to the client and back as a hidden variable. Upon postback, the page framework parses the input string from the hidden variable and populates the ViewState property of each control. If a control uses ViewState for property data instead of a private field, that property automatically will be persisted across round trips to the client. (If a property is not persisted in ViewState, it is good practice to return its default value on postback.)</p>
<p><strong>What do you know about ADO.NET’s objects and methods? </strong></p>
<p>ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as data sources exposed through OLE DB and XML.</p>
<p>Data-sharing consumer applications can use ADO.NET to connect to these different data sources and retrieve, manipulate, and update data.</p>
<p>ADO.NET provides first-class support for the disconnected, n-tier programming environment for which many new applications are written.</p>
<p><strong>Explain DataSet.AcceptChanges and DataAdapter.Update methods? </strong></p>
<p>DataAdapter.Update method Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet.</p>
<p>DataSet.AcceptChanges method Commits all the changes made to this row since the last time AcceptChanges was called.</p>
<p><strong>What are different methods of session maintenance in ASP.NET? </strong></p>
<p>3 types:</p>
<p>In-process storage.<br />
Session State Service.<br />
Microsoft SQL Server.</p>
<p>In-Process Storage<br />
The default location for session state storage is in the ASP.NET process itself.</p>
<p>Session State Service<br />
As an alternative to using in-process storage for session state, ASP.NET provides the ASP.NET  State Service. The State Service gives you an out-of-process alternative for storing session state that is not tied quite so closely to ASP.NET’s own process.</p>
<p>To use the State Service, you need to edit the sessionState element in your ASP.NET application’s web.config file:</p>
<p>You’ll also need to start the ASP.NET State Service on the computer that you specified in the stateConnectionString attribute. The .NET Framework installs this service, but by default it’s set to manual startup. If you’re going to depend on it for storing session state, you’ll want to change that to automatic startup by using the Services MMC plug-in in the Administrative Tools group.</p>
<p>If you make these changes, and then repeat the previous set of steps, you’ll see slightly different behavior: session state persists even if you recycle the ASP.NET process.</p>
<p>There are two main advantages to using the State Service. First, it is not running in the same process as ASP.NET, so a crash of ASP.NET will not destroy session information. Second, the stateConnectionString that’s used to locate the State Service includes the TCP/IP address of the service, which need not be running on the same computer as ASP.NET. This allows you to share state information across a web garden (multiple processors on the same computer) or even across a web farm (multiple servers running the application). With the default in-process storage, you can’t share state information between multiple instances of your application.</p>
<p>The major disadvantage of using the State Service is that it’s an external process, rather than part of ASP.NET. That means that reading and writing session state is slower than it would be if you kept the state in-process. And, of course, it’s one more process that you need to manage. As an example of the extra effort that this can entail, there is a bug in the initial release of the State Service that allows a determined attacker to crash the ASP.NET process remotely. If you’re using the State Service to store session state, you should install the patch from Microsoft Security Bulletin MS02-66, or install SP2 for the .NET Framework.</p>
<p>Microsoft SQL Server<br />
The final choice for storing state information is to save it in a Microsoft SQL Server database. To use SQL Server for storing session state, you need to perform several setup steps:</p>
<p>Run the InstallSqlState.sql script on the Microsoft SQL Server where you intend to store session state. This script will create the necessary database and database objects. The .NET Framework installs this script in the same folder as its compilers and other tools–for example, C:\WINNT\Microsoft.NET\Framework\v1.0.3705 on a Windows 2000 computer with the 1.0 version of the Framework.<br />
Edit the sessionState element in the web.config file for your ASP.NET application as follows:</p>
<p>Supply the server name, user name, and password for a SQL Server account that has access to the session state database in the sqlConnectionString attribute.<br />
Like the State Service, SQL Server lets you share session state among the processors in a web garden or the servers in a web farm. But you also get the additional benefit of persistent storage. Even if the computer hosting SQL Server crashes and is restarted, the session state information will still be present in the database, and will be available as soon as the database is running again. That’s because SQL Server, being an industrial-strength database, is designed to log its operations and protect your data at (almost) all costs. If you’re willing to invest in SQL Server clustering, you can keep the session state data available transparently to ASP.NET even if the primary SQL Server computer crashes.</p>
<p>Like the State Service, SQL Server is slower than keeping session state in process. You also need to pay additional licensing fees to use SQL Server for session state in a production application. And, of course, you need to worry about SQL Server-specific threats such as the “Slammer” worm.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=39&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2009/07/07/asp-net-interview-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>Validation Expressions for Date</title>
		<link>http://kvsutrave.wordpress.com/2009/02/10/validation-expressions-for-date/</link>
		<comments>http://kvsutrave.wordpress.com/2009/02/10/validation-expressions-for-date/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 05:13:44 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Date validation]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=28</guid>
		<description><![CDATA[// // // yyyy/mm/dd pattern ^/d{4}(/)[0-9][1-9](/)[0-3][0-9]$ // mm/dd/yyyy format bt fails after entering exceed values for mm,dd \d{1,2}/\d{1,2}/\d{2,4} //for mm/dd/yyyy (0[1-9]&#124;1[012])[- /.](0[1-9]&#124;[12][0-9]&#124;3[01])[- /.](19&#124;20)\d\d\ //Working mm/dd/yyyy ((0[1-9]&#124;[1-9])&#124;1[012])/((0[1-9]&#124;[1-9])&#124;[12][0-9]&#124;3[01])/(19&#124;20)[0-9]{2} // checks all validations for date ^((0?[13578]&#124;10&#124;12)(-&#124;\/)(([1-9])&#124;(0[1-9])&#124;([12])([0-9]?)&#124;(3[01]?))(-&#124;\/)((19)([2-9])(\d{1})&#124;(20)([01])(\d{1})&#124;([8901])(\d{1}))&#124;(0?[2469]&#124;11)(-&#124;\/)(([1-9])&#124;(0[1-9])&#124;([12])([0-9]?)&#124;(3[0]?))(-&#124;\/)((19)([2-9])(\d{1})&#124;(20)([01])(\d{1})&#124;([8901])(\d{1})))$<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=28&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>//<br />
// </p>
<p>// yyyy/mm/dd pattern<br />
^/d{4}(/)[0-9][1-9](/)[0-3][0-9]$</p>
<p>//  mm/dd/yyyy format bt fails after entering exceed values for mm,dd<br />
\d{1,2}/\d{1,2}/\d{2,4}</p>
<p>//for mm/dd/yyyy<br />
(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d\</p>
<p>//Working mm/dd/yyyy<br />
((0[1-9]|[1-9])|1[012])/((0[1-9]|[1-9])|[12][0-9]|3[01])/(19|20)[0-9]{2}</p>
<p>// checks all validations for date</p>
<p>^((0?[13578]|10|12)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1}))|(0?[2469]|11)(-|\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|\/)((19)([2-9])(\d{1})|(20)([01])(\d{1})|([8901])(\d{1})))$</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=28&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2009/02/10/validation-expressions-for-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>Tree View Parent Child relation</title>
		<link>http://kvsutrave.wordpress.com/2009/02/10/tree-view-parent-child-relation/</link>
		<comments>http://kvsutrave.wordpress.com/2009/02/10/tree-view-parent-child-relation/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 04:49:51 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Tree View]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=26</guid>
		<description><![CDATA[// // Step 1: In the page load in code behind file add an attribute to the treeview as: If(!isPostBack) { TreeView1.Attributes.Add(&#8220;onclick&#8221;,&#8221;OnTreeClick(event)&#8221;); } Step 2: Put the below script in the head section of your .aspx page: &#60;script type=&#8221;text/javascript&#8221;&#62; function OnTreeClick(evt) { var src = window.event != window.undefined ? window.event.srcElement : evt.target; var isChkBoxClick = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=26&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>//<br />
// </p>
<p>Step 1: In the page load in code behind file add an attribute to the treeview as:</p>
<p>If(!isPostBack)</p>
<p>{</p>
<p>TreeView1.Attributes.Add(&#8220;onclick&#8221;,&#8221;OnTreeClick(event)&#8221;);</p>
<p>}</p>
<p>Step 2: Put the below script in the head section of your .aspx page:</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>function OnTreeClick(evt)</p>
<p>{</p>
<p>var src = window.event != window.undefined ? window.event.srcElement : evt.target;</p>
<p>var isChkBoxClick = (src.tagName.toLowerCase() == &#8220;input&#8221; &amp;&amp; src.type == &#8220;checkbox&#8221;);</p>
<p>if(isChkBoxClick)</p>
<p>{</p>
<p>var parentTable = GetParentByTagName(&#8220;table&#8221;, src);</p>
<p>var nxtSibling = parentTable.nextSibling;</p>
<p>if(nxtSibling &amp;&amp; nxtSibling.nodeType == 1)//check if nxt sibling is not null &amp; is an element node</p>
<p>{</p>
<p>if(nxtSibling.tagName.toLowerCase() == &#8220;div&#8221;) //if node has children</p>
<p>{</p>
<p>//check or uncheck children at all levels</p>
<p>CheckUncheckChildren(parentTable.nextSibling, src.checked);</p>
<p>}</p>
<p>}</p>
<p>//check or uncheck parents at all levels</p>
<p>CheckUncheckParents(src, src.checked);</p>
<p>}</p>
<p>}</p>
<p>function CheckUncheckChildren(childContainer, check)</p>
<p>{</p>
<p>var childChkBoxes = childContainer.getElementsByTagName(&#8220;input&#8221;);</p>
<p>var childChkBoxCount = childChkBoxes.length;</p>
<p>for(var i = 0; i&lt;childChkBoxCount; i++)</p>
<p>{</p>
<p>childChkBoxes[i].checked = check;</p>
<p>}</p>
<p>}</p>
<p>function CheckUncheckParents(srcChild, check)</p>
<p>{</p>
<p>var parentDiv = GetParentByTagName(&#8220;div&#8221;, srcChild);</p>
<p>var parentNodeTable = parentDiv.previousSibling;</p>
<p>if(parentNodeTable)</p>
<p>{</p>
<p>var checkUncheckSwitch;</p>
<p>if(check) //checkbox checked</p>
<p>{</p>
<p>var isAllSiblingsChecked = AreAllSiblingsChecked(srcChild);</p>
<p>if(isAllSiblingsChecked)</p>
<p>checkUncheckSwitch = true;</p>
<p>else</p>
<p>return; //do not need to check parent if any child is not checked</p>
<p>}</p>
<p>else //checkbox unchecked</p>
<p>{</p>
<p>checkUncheckSwitch = false;</p>
<p>}</p>
<p>var inpElemsInParentTable = parentNodeTable.getElementsByTagName(&#8220;input&#8221;);</p>
<p>if(inpElemsInParentTable.length &gt; 0)</p>
<p>{</p>
<p>var parentNodeChkBox = inpElemsInParentTable[0];</p>
<p>parentNodeChkBox.checked = checkUncheckSwitch;</p>
<p>//do the same recursively</p>
<p>CheckUncheckParents(parentNodeChkBox, checkUncheckSwitch);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>function AreAllSiblingsChecked(chkBox)</p>
<p>{</p>
<p>var parentDiv = GetParentByTagName(&#8220;div&#8221;, chkBox);</p>
<p>var childCount = parentDiv.childNodes.length;</p>
<p>for(var i=0; i&lt;childCount; i++)</p>
<p>{</p>
<p>if(parentDiv.childNodes[i].nodeType == 1) //check if the child node is an element node</p>
<p>{</p>
<p>if(parentDiv.childNodes[i].tagName.toLowerCase() == &#8220;table&#8221;)</p>
<p>{</p>
<p>var prevChkBox = parentDiv.childNodes[i].getElementsByTagName(&#8220;input&#8221;)[0];</p>
<p>//if any of sibling nodes are not checked, return false</p>
<p>if(!prevChkBox.checked)</p>
<p>{</p>
<p>return false;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>return true;</p>
<p>}</p>
<p>//utility function to get the container of an element by tagname</p>
<p>function GetParentByTagName(parentTagName, childElementObj)</p>
<p>{</p>
<p>var parent = childElementObj.parentNode;</p>
<p>while(parent.tagName.toLowerCase() != parentTagName.toLowerCase())</p>
<p>{</p>
<p>parent = parent.parentNode;</p>
<p>}</p>
<p>return parent;</p>
<p>}</p>
<p>&lt;/script&gt;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=26&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2009/02/10/tree-view-parent-child-relation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>What is DotNetNuke ?</title>
		<link>http://kvsutrave.wordpress.com/2008/09/30/what-is-dotnetnuke/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/30/what-is-dotnetnuke/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 05:50:54 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=23</guid>
		<description><![CDATA[Dot Net Nuke is an open source (free) framework (tool) ideal for creating Enterprise Web Applications (websites). We only create website using the DNN framework. What DNN say themselves about DNN DotNetNuke Is… Versatile – DotNetNuke is an open source web application framework ideal for creating, deploying and managing interactive web, intranet and extranet sites. User-Friendly – [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=23&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<table class="C6_Container" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="C6_Header">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="C6_Title" width="100%"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="C6_Content" align="left"><!-- Start_Module_379 --></p>
<div id="dnn_ctr379_ModuleContent"><span class="Normal"><span style="font-size:x-small;font-family:Verdana;"><br />
Dot Net Nuke is an open source (free) framework (tool) ideal for creating Enterprise Web Applications (websites).</span></p>
<p><span style="font-size:x-small;font-family:Verdana;">We only create website using the DNN framework. </span></p>
<p><span style="font-size:x-small;font-family:Verdana;">What DNN say themselves about DNN</span></p>
<p><strong><span style="font-size:x-small;font-family:Verdana;">DotNetNuke Is…</span></strong></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Versatile</strong> – DotNetNuke is an open source web application framework ideal for creating, deploying and managing interactive web, intranet and extranet sites.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>User-Friendly</strong> – DotNetNuke is designed to make it easy for users to manage all aspects of their projects.  Site wizards, help icons, and a well-researched user interface allow universal ease-of-operation.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Powerful</strong> –  DotNetNuke can support multiple portals or sites off of one install.  In dividing administrative options between host level and individual portal level, DotNetNuke allows administrators to manage any number of sites – each with their own look and identity – all off one hosting account.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Feature-Rich</strong> – DotNetNuke comes loaded with a set of built-in tools that provide powerful pieces of functionality.  Site hosting, design, content, security, and membership options are easily managed and customized through these tools. </span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Supported</strong> &#8211; DotNetNuke is supported by its Core Team of developers and a dedicated  international community.  Through user groups, online forums, resource portals and a network of companies who specialize in DNN®, support is always close at hand.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Easily Installed</strong> – DotNetNuke can be up-and-running within minutes.  One must simply download the software from DotNetNuke.com, and follow the installation instructions.  In addition, many hosting companies offer free installation of the DotNetNuke application with their plans.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Localized</strong> – DotNetNuke includes a multi-language localization feature which allows administrators to easily translate their projects and portals into any language.  And with an international group of hosts and developers working with DotNetNuke, familiar support is always close at hand.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Open Source</strong> – DotNetNuke is provided free, as open-source software, and licensed under a standard BSD agreement. It allows individuals to do whatever they wish with the application framework, both commercially and non-commercially, with the simple requirement of giving credit back to the DotNetNuke project community.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Cutting-Edge</strong> &#8211; DotNetNuke provides users with an opportunity to learn best-practice development skills &#8212; module creation, module packaging, debugging methods, etc &#8212; all while utilizing cutting-edge technologies like ASP.NET 2.0, Visual Web Developer (VWD), Visual Studio 2005 and SQL Server 2005 Express.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Extensible</strong> – DotNetNuke is able to create the most complex content management systems entirely with its built-in features, yet also allows administrators to work effectively with add-ons, third party assemblies, and custom tools.   DNN modules and skins are easy to find, purchase, or build.  Site customization and functionality are limitless.</span></span></p>
<p><span style="font-family:Verdana;"><span style="font-size:x-small;"><strong>Recognized</strong> – DotNetNuke is a trademarked name, and a brand widely recognized and respected in the open source community.  With over 340,000 registered users and a talented team of developers, DotNetNuke continues to evolve its software through participation, real world trial, and end-user feedback.</span></span><br />
<span style="font-size:x-small;font-family:Verdana;">DotNetNuke is built on a Microsoft ASP.NET (VB .NET) platform.</span></p>
<p></span></div>
</td>
</tr>
</tbody>
</table>
<p>//<br />
// </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=23&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/30/what-is-dotnetnuke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>What is RSS?</title>
		<link>http://kvsutrave.wordpress.com/2008/09/23/what-is-rss/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/23/what-is-rss/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 06:46:58 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=19</guid>
		<description><![CDATA[What is RSS? RSS stands for &#8220;Really Simple Syndication&#8221;. It is a way to easily distribute a list of headlines, update notices, and sometimes content to a wide number of people. It is used by computer programs that organize those headlines and notices for easy reading. What problem does RSS solve? Most people are interested [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=19&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="main">
<div class="heading"><strong>What is RSS?</strong></div>
<p>RSS stands for &#8220;Really Simple Syndication&#8221;. It is a way to easily distribute a list of headlines, update notices, and sometimes content to a wide number of people. It is used by computer programs that organize those headlines and notices for easy reading.</p>
<div class="heading"><strong>What problem does RSS solve?</strong></div>
<p>Most people are interested in many websites whose content changes on an unpredictable schedule. Examples of such websites are news sites, community and religious organization information pages, product information pages, medical websites, and weblogs. Repeatedly checking each website to see if there is any new content can be very tedious.</p>
<p>Email notification of changes was an early solution to this problem. Unfortunately, when you receive email notifications from multiple websites they are usually disorganized and can get overwhelming, and are often mistaken for spam.</p>
<p>RSS is a better way to be notified of new and changed content. Notifications of changes to multiple websites are handled easily, and the results are presented to you well organized and distinct from email.</p>
<div class="heading"><strong>How does RSS work?</strong></div>
<p>RSS works by having the website author maintain a list of notifications on their website in a standard way. This list of notifications is called an &#8220;<strong>RSS Feed</strong>&#8220;. People who are interested in finding out the latest headlines or changes can check this list. Special computer programs called &#8220;<strong>RSS aggregators</strong>&#8221; have been developed that automatically access the RSS feeds of websites you care about on your behalf and organize the results for you. (RSS feeds and aggregators are also sometimes called &#8220;<strong>RSS Channels</strong>&#8221; and &#8220;<strong>RSS Readers</strong>&#8220;.)</p>
<p>Producing an RSS feed is very simple and hundreds of thousands of websites now provide this feature, including major news organizations like the New York Times, the BBC, and Reuters, as well as many weblogs.</p>
<div class="heading"><strong>What information does RSS provide?</strong></div>
<p>RSS provides very basic information to do its notification. It is made up of a list of items presented in order from newest to oldest. Each item usually consists of a simple title describing the item along with a more complete description and a link to a web page with the actual information being described. Sometimes this description is the full information you want to read (such as the content of a weblog post) and sometimes it is just a summary.</p>
<p>For example, the RSS information for headlines on a local news website could contain the following information:</p>
<blockquote>
<table style="font-size:smaller;border:black 1px solid;" border="0">
<tbody>
<tr>
<td valign="top"><strong>Item 1:</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><em>Title:</em></td>
<td valign="top">Sidewalk contract awarded</td>
</tr>
<tr>
<td valign="top"><em>Description:</em></td>
<td valign="top">The city awarded the sidewalk contract to Smith Associates. This hotly contested deal is worth $1.2 million.</td>
</tr>
<tr>
<td valign="top"><em>Link:</em></td>
<td valign="top">http://www.gardencitynews.com/contractawards/sidewalk.htm</td>
</tr>
<tr>
<td valign="top"><strong>Item 2:</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><em>Title:</em></td>
<td valign="top">Governor to visit</td>
</tr>
<tr>
<td valign="top"><em>Description:</em></td>
<td valign="top">The governor is scheduled to visit the city on July 1st. This is the first visit since the election two years ago. The mayor is planning a big reception.</td>
</tr>
<tr>
<td valign="top"><em>Link:</em></td>
<td valign="top">http://www.gardencitynews.com/news/2004/06/gov-visit.htm</td>
</tr>
</tbody>
</table>
</blockquote>
<p>The RSS information is placed into a single file on a website in a manner similar to normal web pages. However, the information is coded in the XML computer language for use by a program (the RSS aggregator) and not by a person like a normal web page.</p>
<div class="heading">RSS aggregator programs</div>
<p>Think of an RSS aggregator as just a web browser for RSS content. RSS aggregators automatically check a series of RSS feeds for new items on an ongoing basis, making it is possible to keep track of changes to multiple websites without needing to tediously read and re-read each of the websites yourself. They detect the additions and present them all together to you in a compact and useful manner. If the title and description of an item are of interest, the link can be used to quickly bring the related web page up for reading.</p>
<p>Here is a screen shot of an RSS aggregator in action. On the left is a list of the RSS feeds being monitored, along with an indication of the number of unread items in each feed in parenthesis. On the right are the details of the most recent items in a selected RSS feed (in this case, the New York Times).</p>
<p><img class="image" src="https://kvsutrave.wordpress.com/wp-admin/aggregatorexample1.gif" border="1" alt="Boston Globe (10), CNET News.com, etc." /></p>
<p>There are many RSS aggregators available. Some are accessed through a browser, some are integrated into email programs, and some run as a standalone application on your personal computer.</p>
<div class="heading"><strong>How do I find out if a website has an RSS feed?</strong></div>
<p>It is getting more and more common for websites to have RSS feeds. They usually indicate the existence of the feed on the home page or main news page with a link to &#8220;RSS&#8221;, or sometimes by displaying an orange button with the letters &#8220;XML&#8221; or &#8220;RSS&#8221;. RSS feeds are also often found via a &#8220;Syndicate This&#8221; link. Text &#8220;RSS&#8221; links sometimes (there are lots of variations) point to a web page explaining the nature of the RSS feeds provided and how to find them. The buttons are often linked directly to the RSS feed file itself.</p>
<p>Once you know the URL of an RSS feed, you can provide that address to an RSS aggregator program and have the aggregator monitor the feed for you. Many RSS aggregators come preconfigured with a list to choose from of RSS feed URLs for popular news websites.</p>
<div class="heading"><strong>How is the RSS feed file produced?</strong></div>
<p><em>Unless you are maintaining a website or want to create your own RSS feed for some other purpose, how the RSS feed is produced should not be of concern and you may skip this section.</em></p>
<p>The special XML-format file that makes up an RSS feed is usually created in one of a variety of ways.</p>
<p>Most large news websites and most weblogs are maintained using special &#8220;content management&#8221; programs. Authors add their stories and postings to the website by interacting with those programs and then use the program&#8217;s &#8220;publish&#8221; facility to create the HTML files that make up the website. Those programs often also can update the RSS feed XML file at the same time, adding an item referring to the new story or post, and removing less recent items. Blog creation tools like Blogger, LiveJournal, Movable Type, and Radio automatically create feeds.</p>
<p>Websites that are produced in a more custom manner, such as with Macromedia Dreamweaver or a simple text editor, usually do not automatically create RSS feeds. Authors of such websites either maintain the XML files by hand, just as they do the website itself, or use a tool such as Software Garden, Inc.&#8217;s ListGarden program to maintain it. There are also services that periodically read requested websites themselves and try to automatically determine changes (this is most reliable for websites with a somewhat regular news-like format), or that let you create RSS feed XML files that are hosted by that service provider.</p>
<div class="heading">Tying it all together</div>
<p>Here is a diagram showing how the websites, the RSS feed XML files, and your personal computer are connected:</p>
<p><img class="image" src="https://kvsutrave.wordpress.com/wp-admin/diagram4.gif" alt="Two web servers each with an RSS file being checked by an aggregator" width="378" height="30" /></p>
<p>The diagram shows a web browser being used to read first Web Site 1 over the Internet and then Web Site 2. It also shows the RSS feed XML files for both websites being monitored simultaneously by an RSS Feed Aggregator.</p>
<div class="heading"><strong>Other uses</strong></div>
<p>In addition to notifying you about news headlines and changes to websites, RSS can be used for many other purposes. There does not even have to be a web page associated with the items listed &#8212; sometimes all the information you need may be in the titles and descriptions themselves.</p>
<p>Some commonly mentioned uses are:</p>
<ul>
<li>Notification of the arrival of new products in a store</li>
<li>Listing and notifying you of newsletter issues, including email newsletters</li>
<li>Weather and other alerts of changing conditions</li>
<li>Notification of additions of new items to a database, or new members to a group</li>
</ul>
<p>One RSS aggregator is all that you need to read all of the RSS feeds, be they headlines, alerts, changes, or other notifications. RSS is shaping up to be a very popular and useful means for communicating.</p>
</div>
<p>//<br />
// </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=19&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/23/what-is-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>

		<media:content url="https://kvsutrave.wordpress.com/wp-admin/aggregatorexample1.gif" medium="image">
			<media:title type="html">Boston Globe (10), CNET News.com, etc.</media:title>
		</media:content>

		<media:content url="https://kvsutrave.wordpress.com/wp-admin/diagram4.gif" medium="image">
			<media:title type="html">Two web servers each with an RSS file being checked by an aggregator</media:title>
		</media:content>
	</item>
		<item>
		<title>Why DNN</title>
		<link>http://kvsutrave.wordpress.com/2008/09/22/why-dnn/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/22/why-dnn/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:12:07 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=15</guid>
		<description><![CDATA[Why DotNetNuke? DotNetNuke offers tangible benefits for a number of diverse stakeholder groups. Creating and maintaining a Web application can be a complex task. DotNetNuke does an exceptional job of hiding this complexity. Its detailed on-line help, open source samples, and sensible defaults assist developers and administrators in installing, administrating, and using the Web Application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=15&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Why DotNetNuke?</strong><br />
DotNetNuke offers tangible benefits for a number of diverse stakeholder groups.</p>
<p>Creating and maintaining a Web application can be a complex task. DotNetNuke does an exceptional job of hiding this complexity. Its detailed on-line help, open source samples, and sensible defaults assist developers and administrators in installing, administrating, and using the Web Application Framework. Extensibility pervades all aspects of the core architecture, providing nearly unlimited opportunities to extend the base application.</p>
<p>Perhaps the greatest strength of DotNetNuke is the community that has grown around the project. Both developers and users participate in DotNetNuke&#8217;s active discussion forums, where they share tips, announce new developments, help new users, share resources, and debate new ideas. DotNetNuke&#8217;s low barrier on entry, flexibility, and ease of use helps bring powerful Web application technology within the reach of those with limited technical and financial resources. DotNetNuke is an excellent example of how and why the open source model works.</p>
<p><strong>The Future</strong><br />
The DotNetNuke project has been restructured recently to separate the modules from the core application. This separation allows the modules to form their own open source project teams that can manage the functionality and provide enhancements on their own release cycle. This should result in more frequent release schedules, better community support, and more innovative features.</p>
<p>Microsoft has recently launched their new ASP.NET 2.0 platform on November 7, 2005. One of DotNetNuke&#8217;s traditional strengths has been its ability to &#8220;bring the power to the people&#8221; &#8211; showcasing cutting-edge technology in an open format that is easy to understand and leverage in real-world environments. Our current plans are to release a new version of DotNetNuke for ASP.NET 2.0 in conjunction with Microsoft&#8217;s platform launch.</p>
<p>//<br />
// </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=15&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/22/why-dnn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>DNN Customization</title>
		<link>http://kvsutrave.wordpress.com/2008/09/22/dnn-customization/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/22/dnn-customization/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:10:57 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=12</guid>
		<description><![CDATA[Customization Every Web site needs to have the ability to customize its appearance, a term often referred to as &#8220;skinning.&#8221; The level of customization depends on the needs of the individual client, but in general, any restrictions on creative freedom may be considered to be serious deficiencies in the eyes of the Web design community. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=12&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Customization</strong></p>
<p>Every Web site needs to have the ability to customize its appearance, a term often referred to as &#8220;skinning.&#8221; The level of customization depends on the needs of the individual client, but in general, any restrictions on creative freedom may be considered to be serious deficiencies in the eyes of the Web design community. Some Web Application Frameworks limit you to static layouts, others claim to have customization through cascading style sheets (or themes). The optimal skinning architecture abstracts the Web application details from the Web designer, thereby allowing them to replicate the visual appeal of a static Web site in a fully functional Web site.</p>
<p>Perhaps the most powerful feature in DotNetNuke is its flexible skinning engine. The base architecture evolved from a realization that the needs of Web developers are much different from those of Web designers. Web developers are comfortable with Integrated Development Environments (IDE), which generally have powerful debuggers and syntax validators but extremely limited design features. Conversely, Web designers are proficent in a wide array of creative applications that provide expert design features, but extremely limited programming support. In order to actively engage the Web design community, DotNetNuke provides an architecture that provides the cleanest abstraction of these two philosophies and maximum flexibility for Web design elements.</p>
<p>With a constant focus on simplicity, a DotNetNuke skin is developed as a standard HTML document (a classic Web page). Each area in the Web page that requires interaction with the underlying Web application is specified as a token (i.e., [MENU], [LOGIN], [REGISTER], etc.). Once the skin is fully designed, it is then packaged as a standard ZIP file which allows for maximum portability. The ZIP file contains the HTML document, its related graphical images, styles sheets, and other related resources. When the skin package is deployed into a DotNetNuke application, the HTML document is parsed and an ASP.NET User Control (*.ascx) is created. This User Control represents the compiled version of the skin that integrates seamlessly with the underlying Web Application Framework. Skins can be applied to a site at run time by administrators using the Skins option in the admin menu.</p>
<p>Moving beyond Web design customization, there is also an extensibility requirement in terms of Web site functionality. As mentioned earlier, DotNetNuke has a concept of mini-applications known as modules. Modules are not simply &#8220;dashboard&#8221; components that display relatively static information in the Web browser. Rather, they can include an unlimited number of interactive user interfaces and views, empowering developers to create highly functional and intuitive Web site components. Modules are created as standard ASP.NET user controls that can then be packaged, distributed, and deployed directly into the run-time environment. The module architecture is based on the classic Model-View-Controller (MVC) pattern that has become ubiquitous with enterprise Web application development on all platforms.</p>
<p>In terms of module availability, DotNetNuke provides a variety of highly functional modules, including Announcements, Events, Forums, and Blogs, which are managed in an official capacity by the open source contributor community. In addition, there are hundreds of third-party modules available, both free and commercial, which can be acquired from various resellers and resource sites. This active ecosystem is one of the primary reasons for DotNetNuke&#8217;s exponential growth and sustained momentum.</p>
<p>DotNetNuke&#8217;s world-wide popularity could also be attributed to the fact that it is has powerful localization architecture. Similar to the plug-in model for skins and modules, each language pack is a single ZIP file wrapping a series of resource (RESX) files that contain the localized values for all static text in the application. Switching languages is done easily through the admin menu option for Languages. DotNetNuke takes flexibility a step further by making it possible for an administrator to customize the localized text to suit their specific needs. For example, if you want to change the word &#8220;Log In&#8221; to &#8220;Sign In,&#8221; it can be changed in the associated resource file. The terms in the language pack can all be edited directly in the administrator area of the Web site.</p>
<p>//<br />
// </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=12&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/22/dnn-customization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>DNN Administration</title>
		<link>http://kvsutrave.wordpress.com/2008/09/22/dnn-administration/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/22/dnn-administration/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:09:01 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=10</guid>
		<description><![CDATA[To add a new Page, while logged in as the administrator, select the Add Page icon in the control panel at the upper-left corner of your browser window. Pages are hierarchical and virtual, thus allowing you to add an unlimited amount of content at various levels in your Web site. Page settings can be edited, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=10&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To add a new Page, while logged in as the administrator, select the Add Page icon in the control panel at the upper-left corner of your browser window. Pages are hierarchical and virtual, thus allowing you to add an unlimited amount of content at various levels in your Web site. Page settings can be edited, copied, and deleted using some of the other Control Panel icons. Pages and Modules are governed by a powerful role-based permissions model that allows you to selectively grant view and edit content privileges to users of your Web site. For simplistic Web sites that may only have a single content author, you should be able to use the default settings.</p>
<p>After you create the page, you will see a WYSIWYG representation of the page in your browser that contains a number of empty content regions. Since you are logged in as the administrator, you will be able to add content modules to the page by selecting the appropriate options from the controls in the center of the control panel and selecting the Add Module icon.</p>
<p>Once a module has been added to a page, you will need to add some content for the module. Hovering your cursor over the drop-down arrow icon next to the module title will display a pop-up module actions menu. This menu contains a variety of options that you can use to manage module content. To add new content to a module, select the top item in the list (Edit Text in the case of the HTML/Text module). This will display an edit-user interface that is specific to the module.</p>
<p>//<br />
// </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=10&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/22/dnn-administration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to DNN</title>
		<link>http://kvsutrave.wordpress.com/2008/09/22/introduction-to-dnn/</link>
		<comments>http://kvsutrave.wordpress.com/2008/09/22/introduction-to-dnn/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:05:20 +0000</pubDate>
		<dc:creator>Kailas Sutrave</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Introduction]]></category>

		<guid isPermaLink="false">http://kvsutrave.wordpress.com/?p=8</guid>
		<description><![CDATA[// // A Web Application Framework is a robust software library used as the basis for building advanced Web applications. A Web Application Framework typically contains a well-defined architecture and an abstract set of reusable components that are specifically designed to simplify development, enforce consistency, increase productivity, and improve application quality. Typical features include modular [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=8&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>//<br />
// </p>
<p>A Web Application Framework is a robust software library used as the basis for building advanced Web applications. A Web Application Framework typically contains a well-defined architecture and an abstract set of reusable components that are specifically designed to simplify development, enforce consistency, increase productivity, and improve application quality. Typical features include modular architecture, membership management, security and role management, site organization and navigation, error and event logging, data access and caching, search and syndication, and extensibility at every level. Frameworks are used in corporations, public sector, private sector, small businesses, nonprofit organizations, and even individual Web sites.</p>
<p>Although the concept has always been relevant, Web Application Frameworks have just come back into favor in recent years. This is likely a result of the ever-pervasive basic business philosophy emphasizing a reduction in the Total Cost of Ownership and increase in the Return On Investment. Web Application Frameworks can provide big wins in both of these categories because they allow developers to focus on the high-level business processes while leveraging a rock-solid application foundation.</p>
<p>DotNetNuke is a Web Application Framework that provides a highly extensible development environment, based on published standards and proven design patterns. Since Web Application Frameworks are generic by nature, they can be used as the underpinnings for any number of powerful Web applications. From Community Portals to high volume E-Commerce shopping malls, from Content Management Systems (CMS) to Customer Relationship Management Systems (CRM), the DotNetNuke Web Application Framework provides the fundamental services to build highly functional and scalable Web applications. To back up this claim, the DotNetNuke Web Application Framework is distributed as part of a fully functional CMS &#8211; the DotNetNuke Enterprise Portal.</p>
<p>A single DotNetNuke installation can host an unlimited number of portal Web sites, each with its own distinct URL. Each Web site is managed by one or more administrators. Portals can contain a variety of content, including announcements, events, discussion forums, links, images, surveys, galleries, directories, shopping carts, and many other features, all comparable to those available in proprietary content management systems.</p>
<p>DotNetNuke is developed on the powerful Microsoft .NET platform &#8211; Windows server, IIS, SQL Server 2000, and ASP.NET (VB and C#). Part of DotNetNuke&#8217;s attraction is it can run on almost any database server, as long as someone has created the necessary provider (third-party providers include Oracle and mySQL). The flexible technical requirements make it possible to install and evaluate DotNetNuke on almost any computer. Its primary deployment scenario is to shared Web servers managed by Web hosting providers. However, it can also be deployed to dedicated Web servers and Intranets, where the administrator has much more control of the environment.</p>
<p>DotNetNuke is offered under a nonrestrictive BSD License, a standard open source license that allows for full usage in both commercial and noncommercial environments. The BSD, well-documented ASP.NET source code, an active developer community, and a modular architecture make it possible to customize DotNetNuke and leverage it as a mature Web Application Framework. For end users, all DotNetNuke requires is a Web browser and an Internet connection.</p>
<p>DotNetNuke provides the ability to manage content at a granular level. Essentially this means that a virtual page in DotNetNuke is simply a generic container that contains various content regions. Management of each type of content region is exposed through mini-applications referred to as Modules. Modules provide expert features for the display, configuration, and administration of specific types of content. For example, there are simple modules such as the Text/HTML module, which are designed to manage the display and administration of basic content information. There are also powerful modules such as the Forums module, which is designed to manage a full-featured community discussion forum. A page can contain an unlimited number of content modules, and a content module can be exposed on an unlimited number of Web site pages. This model is superior to other Web Application Frameworks that limit you to hard-linking content information directly to a single site page or that only allow a single type of content to be managed on a page.</p>
<p>The DotNetNuke name comes from a long history of open source content management systems that have adopted &#8220;nuke&#8221; as part of their project identity (the original credit belongs to Francisco Burzi, the creator of PHP-Nuke).</p>
<p><strong>Installation and Configuration</strong><br />
At the time of this writing, the latest stable release of DotNetNuke is version 3.1.1, which was released on August 11, 2005. This release is compatible with the ASP.NET 1.1 platform. If you are interested in experimenting with the latest features, you can also check the downloads area on the <a href="http://www.dotnetnuke.com/" target="new">www.dotnetnuke.com</a> Web site for newer builds.</p>
<p>Installing DotNetNuke on a Microsoft Windows Server system (2000 or 2003) is straightforward and well documented. After unpacking the downloaded ZIP package, place all files and folders into your Web server&#8217;s root directory. Create an SQL Server 2000 database and user account. DotNetNuke stores some files, such as user-uploaded images, in a special home directory for each portal. This directory should have write access enabled or else you are not going to be able to take advantage of all of the application features.</p>
<p>The default IIS settings on most Web servers should be adequate. DotNetNuke does not require session support, nor does it require custom mappings for specific file types or error codes. By default, the DotNetNuke application runs in a medium-trust Code Access Security configuration, which provides some critical security safeguards, especially for Web hosting providers.</p>
<p>A single file, web.config, stores the basic configuration settings, such as the database connection information, encryption keys, and provider configuration. Make a copy of the release.config file provided by DotNetNuke, name it web.config, and edit it using your favorite text editor. This thoughtful arrangement is especially useful when you upgrade DotNetNuke. DotNetNuke&#8217;s release.config is upgraded, but your original web.config, which contains settings specific to your installation, is left untouched. The only value that typically needs to be modified on a new installation is the SiteSqlServer connection string in the AppSettings node. On an upgrade, it is also critical that you preserve your localized MachineValidationKey and MachineDecryptionKey values.</p>
<p>Next, visit the main page of your DotNetNuk Web site with a Web browser. From this point on, DotNetNuke handles its own installation and configuration, setting up the database, modules, and skins automatically. The default settings should work to get you started, and you always can customize them later. A Web site is created based on the values stored in the default template, which includes both an Administrator and Host user account. Since these accounts are common across all DotNetNuke installations, it is critical that you change the default passwords fot these accounts immediately upon successful installation.</p>
<p>Once DotNetNuke is installed, almost all regular administrative activities can be carried out using a Web browser. When logged in as the administrator, an admin menu appears as the right-most node in the hierarchical menu control . In addition, a control panel is displayed at the top of the browser window that allows the administrator to manage various aspects of the DotNetNuke site using a Web browser.</p>
<p>The Site Settings option controls the basic operation of the DotNetNuke site. In most cases, the default settings for most administrative functions should work fine. The Pages option allows you manage all of the virtual pages in your site. Security Roles and User Accounts enable you to manage the membership</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kvsutrave.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kvsutrave.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kvsutrave.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kvsutrave.wordpress.com&amp;blog=4905123&amp;post=8&amp;subd=kvsutrave&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kvsutrave.wordpress.com/2008/09/22/introduction-to-dnn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">kvsutrave</media:title>
		</media:content>
	</item>
	</channel>
</rss>
