Thursday, November 15, 2007

Microsoft Dynamics CRM

Before we can jump into details of customization capabilities of Microsoft Dynamics CRM 3.0, we need to cover a little background information about Microsoft Dynamics CRM 3.0 and introduce some of the core concepts and terminology you'll use throughout this book.

Life Without CRM

Think back to a particularly bad customer service experience. Maybe you called a customer service phone number and were transferred to five different people, and every single person asked you the same questions, so you had to keep repeating the same answers over and over again. Or perhaps a salesperson pulled together a proposal for you but forgot to include your preferred-customer pricing in the quote. Or maybe a credit card company mailed you an application for a new account, even though you've had an account with that company for 10 years. You probably thought to yourself, "Why doesn't this company know who I am?" Does this sound familiar?

As its name implies, the goal of customer relationship management (CRM) is to enable businesses to manage each and every customer experience better. More importantly, CRM strategy recognizes that customer experiences span over time and that a typical customer might interact with your business 50 to 100 times in the course of your relationship. Ideally, your company could provide each customer a personalized experience based on the customer's unique history of interactions with you. For example, you wouldn't ask long-standing customers if they would like to open an account; when customers call your customer service department, you wouldn't have to ask them to answer the same questions over and over again; and your most valuable customers would always receive preferred pricing.

Important The purpose of CRM is to enable businesses to track and manage all of their customer interactions over the lifetime of the customer relationship. CRM is a business strategy, and companies typically use a CRM software system as a technology platform to help implement their CRM strategy, processes, and procedures.

In today's competitive business environment, mistreated customers can easily find other vendors or suppliers that are eager to replace you. However, if you give your customers a personalized experience, they're more likely to value their relationship with you and continue to patronize your business. The CRM philosophy makes so much sense, so why do so many companies force good customers to suffer through bad experiences every day? As you probably know, it's very difficult for companies to embrace a CRM strategy and create consistently great customer experiences. Some of the factors that make a CRM strategy difficult to implement include:

we'll review the following security topics:

  1. Multiple customer management systems

Almost every company uses more than one system (such as sales tracking, warehouse management, or financial accounting) to run its business. Most of these systems can't easily communicate with each other to seamlessly share data. Therefore, you can imagine how salespeople using a sales tracking system might not know that a customer just opened an urgent customer service issue in your customer service system.

  1. Remote workers

Even if your company is lucky enough to use a single system to track all of your customer interactions, remote and offsite workers might not have the ability to access data in the customer management system.

  1. Rapidly changing business processes

You might recognize the saying, "The only thing constant in life is change," by French author Fran├žois de la Rochefoucauld. This expression really hits home regarding the business processes of our Internet-enabled world. No sooner does a company finalize a customer management process than it must reconsider how that methodology will change in the next month, quarter, or year. Rapidly changing business processes challenge employees to adjust quickly, but most CRM systems can't react and adjust as quickly as the business needs it to.

  1. Multi-channel customer interactions

Customers expect to be able to work with your company using any communication channel that they prefer. With the proliferation of different technologies, these customer communication channels might include Web sites, phone, fax, e-mail, mail, and instant messaging. If a company wants to track all of a customer's interactions, its customer management system must work with each of these technologies.

  1. Difficult and rigid systems

Adopting a CRM strategy usually requires a company to select a technology system as its customer management platform. Earlier CRM systems earned the reputation of being difficult to use and complex to install. Even worse, companies could customize their CRM systems to their business needs only if they invested large sums of money and time in consultants who would customize the software for them.

CRM isn't a particularly new concept and it's earned something of a bad reputation among businesses. These are just some of the reasons responsible for its less-than-stellar track record over the years.

So what would happen if a company could successfully implement a CRM strategy and software? What types of benefits might the company receive?

1. CRM could track customer interests and purchase history over time and then proactively generate new marketing initiatives for customers based on their unique histories.

2. CRM could log a history of a customer's service requests so that a service technician could easily view all of those requests when the customer called with a new issue. Reviewing a customer's service history might help the technician resolve a customer's new issue much more quickly.

3. A manager could view all of the interactions with a customer across various functional areas such as sales, marketing, and customer service. People typically refer to this cross-functional history as a 360-degree view of the customer.

4. Marketing managers could analyze and report on the effectiveness of their marketing lists and campaigns to determine how they should re-allocate future marketing investments.

5. An analyst could use business intelligence tools to segment customers and prospects to identify trends and create predictive models for sales and customer service planning.

Asp.NET 2.0 Job Interview Questions (Part 1)

  1. What are the new Data Controls in 2.0?

Data access in ASP.NET 2.0 can be accomplished completely declaratively (no code) using the new data-bound and data source controls. There are new data source controls to represent different data backends such as SQL database, business objects, and XML, and there are new data-bound controls for rendering common UI for data, such as gridview, detailsview, and formview.

  1. What are the new Navigation Controls in 2.0?

The navigation controls provide common UI for navigating between pages in your site, such as treeview, menu, and sitemappath. These controls use the site navigation service in ASP.NET 2.0 to retrieve the custom structure you have defined for your site.

  1. What are the new Login Controlsin 2.0?

The new login controls provide the building blocks to add authentication and authorization-based UI to your site, such as login forms, create user forms, password retrieval, and custom UI for logged in users or roles. These controls use the built-in membership and role services in ASP.NET 2.0 to interact with the user and role information defined for your site.

  1. What are the new Web Part Controls in 2.0 ?

Web parts are an exciting new family of controls that enable you to add rich, personalized content and layout to your site, as well as the ability to edit that content and layout directly from your application pages. These controls rely on the personalization services in ASP.NET 2.0 to provide a unique experience for each user in your application.

  1. What are Master Pages?

This feature provides the ability to define common structure and interface elements for your site, such as a page header, footer, or navigation bar, in a common location called a "master page", to be shared by many pages in your site. In one simple place you can control the look, feel, and much of functionality for an entire Web site. This improves the maintainability of your site and avoids unnecessary duplication of code for shared site structure or behavior.

  1. What are Themes and Skins in 2.0, explain usgae scenario?

The themes and skins features in ASP.NET 2.0 allow for easy customization of your site's look-and-feel. You can define style information in a common location called a "theme", and apply that style information globally to pages or controls in your site. Like Master Pages, this improves the maintainability of your site and avoid unnecessary duplication of code for shared styles.

  1. What is a profile object, why is it used?

Using the new personalization services in ASP.NET 2.0 you can easily create customized experiences within Web applications. The Profile object enables developers to easily build strongly-typed, sticky data stores for user accounts and build highly customized, relationship based experiences. At the same time, a developer can leverage Web Parts and the personalization service to enable Web site visitors to completely control the layout and behavior of the site, with the knowledge that the site is completely customized for them. Personalizaton scenarios are now easier to build than ever before and require significantly less code and effort to implement.

  1. What is Configuration API?

ASP.NET 2.0 contains new configuration management APIs, enabling users to programmatically build programs or scripts that create, read, and update Web.config and machine.config configuration files.

  1. What is MMC Admin Tool?

ASP.NET 2.0 provides a new comprehensive admin tool that plugs into the existing IIS Administration MMC, enabling an administrator to graphically read or change common settings within our XML configuration files.

  1. Explain the use of Pre-compilation Tool?

ASP.NET 2.0 delivers a new application deployment utility that enables both developers and administrators to precompile a dynamic ASP.NET application prior to deployment. This precompilation automatically identifies any compilation issues anywhere within the site, as well as enables ASP.NET applications to be deployed without any source being stored on the server (one can optionally remove the content of .aspx files as part of the compile phase), further protecting your intellectual property.

  1. How is application management and maintenance improved in 2.0?

ASP.NET 2.0 also provides new health-monitoring support to enable administrators to be automatically notified when an application on a server starts to experience problems. New tracing features will enable administrators to capture run-time and request data from a production server to better diagnose issues. ASP.NET 2.0 is delivering features that will enable developers and administrators to simplify the day-to-day management and maintenance of their Web applications.

  1. What are Provider-driven Application Services? explain in detail?
    ASP.NET 2.0 now includes built-in support for membership (user name/password credential storage) and role management services out of the box. The new personalization service enables quick storage/retrieval of user settings and preferences, facilitating rich customization with minimal code. The new site navigation system enables developers to quickly build link structures consistently across a site. As all of these services are provider-driven, they can be easily swapped out and replaced with your own custom implementation. With this extensibility option, you have complete control over the data store and schema that drives these rich application services.
  2. Explain Server Control Extensibility with reference to 2.0 ?
    ASP.NET 2.0 includes improved support for control extensibility, such as more base classes that encapsulate common behaviors, improved designer support, more APIs for interacting with client-side script, metadata-driven support for new features like themes and accessibility verification, better state management, and more.
  3. What are the Data Source Controls?
    Data access in ASP.NET 2.0 is now performed declaratively using data source controls on a page. In this model, support for new data backend storage providers can be easily added by implementing custom data source controls. Additionally, the SqlDataSource control that ships in the box has built-in support for any ADO.NET managed provider that implements the new provider factory model in ADO.NET.
  4. What are Compilation Build Providers?
    Dynamic compilation in ASP.NET 2.0 is now handled by extensible compilation build providers, which associate a particular file extension with a handler that knows how to compile that extension dynamically at runtime. For example, .resx files can be dynamically compiled to resources, .wsdl files to web service proxies, and .xsd files to typed DataSet objects. In addition to the built-in support, it is easy to add support for additional extensions by implementing a custom build provider and registering it in Web.config.
  5. What is Expression Builders, why would you use it?
    ASP.NET 2.0 introduces a declarative new syntax for referencing code to substitute values into the page, called Expression Builders. ASP.NET 2.0 includes expression builders for referencing string resources for localization, connection strings, application settings, and profile values. You can also write your own expression builders to create your own custom syntax to substitute values in a page rendering.
  6. Is ASP.NET 64-Bit enabled? how?
    ASP.NET 2.0 is now 64-bit enabled, meaning it can take advantage of the full memory address space of new 64-bit processors and servers. Developers can simply copy existing 32-bit ASP.NET applications onto a 64-bit ASP.NET 2.0 server and have them automatically be JIT compiled and executed as native 64-bit applications (no source code changes or manual re-compile are required).
  7. Explain how Caching in 2.0 is different from Caching in 1.1?
    ASP.NET 2.0 also now includes automatic database server cache invalidation. This powerful and easy-to-use feature allows developers to aggressively output cache database-driven page and partial page content within a site and have ASP.NET automatically invalidate these cache entries and refresh the content whenever the back-end database changes. Developers can now safely cache time-critical content for long periods without worrying about serving visitors stale data.

Asp.Net Interview Questions (Part-2)

  1. Describe the role of inetinfo.exe, aspnet_isapi.dll andaspnet_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.

  1. Can you explain the difference between an ADO.NET Dataset and an ADO Recordset?

Valid answers are:

    • A DataSet can represent an entire relational database in memory, complete with tables, relations, and views.
    • A DataSet is designed to work without any continuing connection to the original data source.
    • Data in a DataSet is bulk-loaded, rather than being loaded on demand.
    • There's no concept of cursor types in a DataSet.
    • DataSets have no current record pointer You can use For Each loops to move through the data.
    • You can store many edits in a DataSet, and write them to the original data source in a single operation.
    • Though the DataSet is universal, other objects in ADO.NET come in different versions for different data sources.
  1. What’s a bubbled event?

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.

  1. What data types do the RangeValidator control support?

Integer, String, and Date.

  1. Explain what a diffgram is, and a good use for one?

The DiffGram is one of the two XML formats that you can use to render DataSet object contents to XML. A good use is reading database data to an XML file to be sent to a Web Service.

  1. What is the transport protocol you use to call a Web service?

SOAP (Simple Object Access Protocol) is the preferred protocol.

  1. What is ViewState?

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 the retain the state of server-side objects between postabacks.

  1. What does the "EnableViewState" property do? Why would I want it on or off?

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.

  1. What are the different types of Session state management options available with ASP.NET?

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 a "sticky-server" (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.

  1. Differences Between XML and HTML?

Anyone with a fundamental grasp of XML should be able describe some of the main differences outlined in the table below



User definable tags

Defined set of tags designed for web display

Content driven

Format driven

End tags required for well formed documents

End tags not required

Quotes required around attributes values

Quotes not required

Slash required in empty tags

Slash not required

  1. Give a few examples of types of applications that can benefit from using XML.

There are literally thousands of applications that can benefit from XML technologies. The point of this question is not to have the candidate rattle off a laundry list of projects that they have worked on, but, rather, to allow the candidate to explain the rationale for choosing XML by citing a few real world examples. For instance, one appropriate answer is that XML allows content management systems to store documents independently of their format, which thereby reduces data redundancy. Another answer relates to B2B exchanges or supply chain management systems. In these instances, XML provides a mechanism for multiple companies to exchange data according to an agreed upon set of rules. A third common response involves wireless applications that require WML to render data on hand held devices.

  1. What is DOM and how does it relate to XML?

The Document Object Model (DOM) is an interface specification maintained by the W3C DOM Workgroup that defines an application independent mechanism to access, parse, or update XML data. In simple terms it is a hierarchical model that allows developers to manipulate XML documents easily Any developer that has worked extensively with XML should be able to discuss the concept and use of DOM objects freely. Additionally, it is not unreasonable to expect advanced candidates to thoroughly understand its internal workings and be able to explain how DOM differs from an event-based interface like SAX.

  1. What is SOAP and how does it relate to XML?

The Simple Object Access Protocol (SOAP) uses XML to define a protocol for the exchange of information in distributed computing environments. SOAP consists of three components: an envelope, a set of encoding rules, and a convention for representing remote procedure calls. Unless experience with SOAP is a direct requirement for the open position, knowing the specifics of the protocol, or how it can be used in conjunction with HTTP, is not as important as identifying it as a natural application of XML.

  1. Can you walk us through the steps necessary to parse XML documents?

Superficially, this is a fairly basic question. However, the point is not to determine whether candidates understand the concept of a parser but rather have them walk through the process of parsing XML documents step-by-step. Determining whether a non-validating or validating parser is needed, choosing the appropriate parser, and handling errors are all important aspects to this process that should be included in the candidate's response.

  1. What are possible implementations of distributed applications in .NET?

.NET Remoting and ASP.NET Web Services. If we talk about the Framework Class Library, noteworthy classes are in System.Runtime.Remoting and System.Web.Services.

  1. What are the consideration in deciding to use .NET Remoting or ASP.NET Web Services?

Remoting is a more efficient communication exchange when you can control both ends of the application involved in the communication process. Web Services provide an open-protocol-based exchange of informaion. Web Services are best when you need to communicate with an external organization or another (non-.NET) technology.

  1. What’s a proxy of the server object in .NET Remoting?

It’s a fake copy of the server object that resides on the client side and behaves as if it was the server. It handles the communication between real server object and the client object. This process is also known as marshaling.

  1. What are remotable objects in .NET Remoting?

Remotable objects are the objects that can be marshaled across the application domains. You can marshal by value, where a deep copy of the object is created and then passed to the receiver. You can also marshal by reference, where just a reference to an existing object is passed.

  1. What are channels in .NET Remoting?

Channels represent the objects that transfer the other serialized objects from one application domain to another and from one computer to another, as well as one process to another on the same box. A channel must exist before an object can be transferred.

  1. What security measures exist for .NET Remoting in System.Runtime.Remoting?

None. Security should be taken care of at the application level. Cryptography and other security techniques can be applied at application or server level.

  1. What is a formatter?

A formatter is an object that is responsible for encoding and serializing data into messages on one end, and deserializing and decoding messages into data on the other end.

  1. Choosing between HTTP and TCP for protocols and Binary and SOAP for formatters, what are the trade-offs?

Binary over TCP is the most effiecient, SOAP over HTTP is the most interoperable.

  1. What’s SingleCall activation mode used for?

If the server object is instantiated for responding to just one single request, the request should be made in SingleCall mode.

  1. What’s Singleton activation mode?

A single object is instantiated regardless of the number of clients accessing it. Lifetime of this object is determined by lifetime lease.

  1. How do you define the lease of the object?

By implementing ILease interface when writing the class code.

  1. Can you configure a .NET Remoting object via XML file?

Yes, via machine.config and application level .config file (or web.config in ASP.NET). Application-level XML settings take precedence over machine.config.

  1. How can you automatically generate interface for the remotable object in .NET with Microsoft tools?

Use the Soapsuds tool.

Asp.Net Interview Questions (Part-1)

  1. What do I need to create and run an ASP.NET application?
  • Windows 2000, Windows Server 2003 or Windows XP.
  • ASP.NET, which can be either the redistributable (included in the .NET SDK) or Visual Studio .NET.

before installing the .NET SDK.)

  1. Are there any free IDEs for the .NET SDK?
    • Microsoft provides Visual Studio 2005 Express Edition Beta for free. Of particular interest to the ASP.NET developers would be the Visual Web Developer 2005 Express Edition Beta 2 available as a free download.
    • The ASP.NET Web Matrix Project (supported by Microsoft) is a free IDE for developing ASP.NET
    • There is also a free open-source UNIX version of the Microsoft .NET development platform called Mono
    • Another increasingly popular Open Source Development Environment for .NET is the #develop (short for SharpDevelop)

  2. When was ASP.NET released?

ASP.NET is a part of the .NET framework which was released as a software platform in 2002.

  1. Is a new version coming up?

ASP.NET 2.0, Visual Studio 2005 (Whidbey), Visual Web Developer 2005 Express Edition are the next releases of Microsoft's Web platform and tools. They have already been released as Beta versions. They are scheduled to be released in the week of November 7, 2005.

  1. Explain Namespace.

Namespaces are logical groupings of names used within a program. There may be multiple namespaces in a single application code, grouped based on the identifiers’ use. The name of any given identifier must appear only once in its namespace.

  1. List the types of Authentication supported by ASP.NET.
    • Windows (default)
    • Forms
    • Passport
    • None (Security disabled)
  2. What is CLR?

Common Language Runtime (CLR) is a run-time environment that manages the execution of .NET code and provides services like memory management, debugging, security, etc. The CLR is also known as Virtual Execution System (VES).

  1. What is CLI?

The CLI is a set of specifications for a runtime environment, including a common type system, base class library, and a machine-independent intermediate code known as the Common Intermediate Language (CIL). (Source: Wikipedia.)

  1. List the various stages of Page-Load lifecycle.
    • Init()
    • Load()
    • PreRender()
    • Unload()
  2. Explain Assembly and Manifest.

An assembly is a collection of one or more files and one of them (DLL or EXE) contains a special metadata called Assembly Manifest. The manifest is stored as binary data and contains details like versioning requirements for the assembly, the author, security permissions, and list of files forming the assembly. An assembly is created whenever a DLL is built. The manifest can be viewed programmatically by making use of classes from the System.Reflection namespace. The tool Intermediate Language Disassembler (ILDASM) can be used for this purpose. It can be launched from the command prompt or via Start> Run.

  1. What is Shadow Copy?

In order to replace a COM component on a live web server, it was necessary to stop the entire website, copy the new files and then restart the website. This is not feasible for the web servers that need to be always running. .NET components are different. They can be overwritten at any time using a mechanism called Shadow Copy. It prevents the Portable Executable (PE) files like DLLs and EXEs from being locked. Whenever new versions of the PEs are released, they are automatically detected by the CLR and the changed components will be automatically loaded. They will be used to process all new requests not currently executing, while the older version still runs the currently executing requests. By bleeding out the older version, the update is completed.

  1. What is DLL Hell?

DLL hell is the problem that occurs when an installation of a newer application might break or hinder other applications as newer DLLs are copied into the system and the older applications do not support or are not compatible with them. .NET overcomes this problem by supporting multiple versions of an assembly at any given time. This is also called side-by-side component versioning.

  1. Explain Web Services.

Web services are programmable business logic components that provide access to functionality through the Internet. Standard protocols like HTTP can be used to access them. Web services are based on the Simple Object Access Protocol (SOAP), which is an application of XML. Web services are given the .asmx extension.

  1. Explain Windows Forms.

Windows Forms is employed for developing Windows GUI applications. It is a class library that gives developers access to Windows Common Controls with rich functionality. It is a common GUI library for all the languages supported by the .NET Framework.

  1. What is Postback?

When an action occurs (like button click), the page containing all the controls within the tag performs an HTTP POST, while having itself as the target URL. This is called Postback.

  1. Explain the differences between server-side and client-side code?

Server side scripting means that all the script will be executed by the server and interpreted as needed. Client side scripting means that the script will be executed immediately in the browser such as form field validation, clock, email validation, etc. Client side scripting is usually done in VBScript or JavaScript. Since the code is included in the HTML page, anyone can see the code by viewing the page source. It also poses as a possible security hazard for the client computer.

  1. Enumerate the types of Directives.
    • @ Page directive
    • @ Import directive
    • @ Implements directive
    • @ Register directive
    • @ Assembly directive
    • @ OutputCache directive
    • @ Reference directive
  2. What is Code-Behind?

Code-Behind is a concept where the contents of a page are in one file and the server-side code is in another. This allows different people to work on the same page at the same time and also allows either part of the page to be easily redesigned, with no changes required in the other. An Inherits attribute is added to the @ Page directive to specify the location of the Code-Behind file to the ASP.NET page.

  1. Describe the difference between inline and code behind.

Inline code is written along side the HTML in a page. There is no separate distinction between design code and logic code. Code-behind is code written in a separate file and referenced by the .aspx page.

  1. List the ASP.NET validation controls?
    • RequiredFieldValidator
    • RangeValidator
    • CompareValidator
    • RegularExpressionValidator
    • CustomValidator
    • ValidationSummary
  2. What is Data Binding?

Data binding is a way used to connect values from a collection of data (e.g. DataSet) to the controls on a web form. The values from the dataset are automatically displayed in the controls without having to write separate code to display them.

  1. Describe Paging in ASP.NET.

The DataGrid control in ASP.NET enables easy paging of the data. The AllowPaging property of the DataGrid can be set to True to perform paging. ASP.NET automatically performs paging and provides the hyperlinks to the other pages in different styles, based on the property that has been set for PagerStyle.Mode.

  1. Should user input data validation occur server-side or client-side? Why?

All user input data validation should occur on the server and minimally on the client-side, though it is a good way to reduce server load and network traffic because we can ensure that only data of the appropriate type is submitted from the form. It is totally insecure. The user can view the code used for validation and create a workaround for it. Secondly, the URL of the page that handles the data is freely visible in the original form page. This will allow unscrupulous users to send data from their own forms to your application. Client-side validation can sometimes be performed where deemed appropriate and feasible to provide a richer, more responsive experience for the user.

  1. What is the difference between Server.Transfer and Response.Redirect?
    • Response.Redirect: This tells the browser that the requested page can be found at a new location. The browser then initiates another request to the new page loading its contents in the browser. This results in two requests by the browser.
    • Server.Transfer: It transfers execution from the first page to the second page on the server. As far as the browser client is concerned, it made one request and the initial page is the one responding with content. The benefit of this approach is one less round trip to the server from the client browser. Also, any posted form variables and query string parameters are available to the second page as well.

Wednesday, November 14, 2007

Oracle Job Interview Questions Part-9

  1. How do you implement postback with a text box? What is postback and usestate?
    Make AutoPostBack property to true
  2. How can you debug an ASP page, without touching the code?
  3. What is SQL injection?
    An SQL injection attack "injects" or manipulates SQL code by adding unexpected SQL to a query.
    Many web pages take parameters from web user, and make SQL query to the database. Take for instance when a user login, web page that user name and password and make SQL query to the database to check if a user has valid name and password.
    Username: ' or 1=1 ---
    Password: [Empty]
    This would execute the following query against the users table:
    select count(*) from users where userName='' or 1=1 --' and userPass=''
  4. How can u handle Exceptions in Asp.Net?
  5. How can u handle Un Managed Code Exceptions in ASP.Net?
  6. - How to find last error which occurred?
    A: Server.GetLastError();
    Exception LastError;
    String ErrMessage;
    LastError = Server.GetLastError();
    if (LastError != null)
    ErrMessage = LastError.Message;
    ErrMessage = "No Errors";
    Response.Write("Last Error = " + ErrMessage);

7. How to do Caching in ASP?
A: <%@ OutputCache Duration="60" VaryByParam="None" %>

VaryByParam value



One version of page cached (only raw GET)


n versions of page cached based on query string and/or POST body


n versions of page cached based on value of v1 variable in query string or POST body


n versions of page cached based on value of v1 and v2 variables in query string or POST body

<%@ OutputCache Duration="60" VaryByParam="none" %>
<%@ OutputCache Duration="60" VaryByParam="*" %>
<%@ OutputCache Duration="60" VaryByParam="name;age" %>

The OutputCache directive supports several other cache varying options

    • VaryByHeader - maintain separate cache entry for header string changes (UserAgent, UserLanguage, etc.)
    • VaryByControl - for user controls, maintain separate cache entry for properties of a user control
    • VaryByCustom - can specify separate cache entries for browser types and version or provide a custom GetVaryByCustomString method in HttpApplicationderived class
  1. What is the Global ASA(X) File?
  1. Any alternative to avoid name collisions other then Namespaces.
    A scenario that two namespaces named N1 and N2 are there both having the same class say A. now in another class i ve written
    using N1;using N2;
    and i am instantiating class A in this class. Then how will u avoid name collisions?
    Ans: using alias
    using MyAlias = MyCompany.Proj.Nested;
  2. Which is the namespace used to write error message in event Log File?
  3. What are the page level transaction and class level transaction?
  4. What are different transaction options?
  5. What is the namespace for encryption?
  6. What is the difference between application and cache variables?
  7. What is the difference between control and component?
  8. You ve defined one page_load event in aspx page and same page_load event in code behind how will prog run?
  9. Where would you use an IHttpModule, and what are the limitations of any approach you might take in implementing one?
  10. Can you edit data in the Repeater control? Which template must you provide, in order to display data in a Repeater control? How can you provide an alternating color scheme in a Repeater control? What property must you set, and what method must you call in your code, in order to bind the data from some data source to the Repeater control?
  11. What is the use of web.config? Difference between machine.config and Web.config?
    ASP.NET configuration files are XML-based text files--each named web.config--that can appear in any directory on an ASP.NET Web application server. Each web.config file applies configuration settings to the directory it is located in and to all virtual child directories beneath it. Settings in child directories can optionally override or modify settings specified in parent directories. The root configuration file--WinNT\Microsoft.NET\Framework\\config\machine.config—provides default configuration settings for the entire machine. ASP.NET configures IIS to prevent direct browser access to web.config
    files to ensure that their values cannot become public (attempts to access them will cause ASP.NET to return 403: Access Forbidden).
    At run time ASP.NET uses these web.config configuration files to hierarchically compute a unique collection of settings for each incoming URL target request (these settings are calculated only once and then cached across subsequent requests; ASP.NET automatically watches for file changes and will invalidate the cache if any of the configuration files change).

What is the use of sessionstate tag in the web.config file?
Configuring session state:
Session state features can be configured via the section in a web.config file. To double the default timeout of 20 minutes, you can add the following to the web.config file of an application:

Oracle Job Interview Questions Part-8

  1. Which ASP.NET configuration options are supported in the ASP.NET implementation on the shared web hosting platform?
    A: Many of the ASP.NET configuration options are not configurable at the site, application or subdirectory level on the shared hosting platform. Certain options can affect the security, performance and stability of the server and, therefore cannot be changed. The following settings are the only ones that can be changed in your site’s web.config file (s):
  2. Briefly describe the role of global.asax?
  3. How can u debug your .net application?
  4. How do u deploy your application?
  5. Where do we store our connection string in application?
  6. Various steps taken to optimize a web based application (caching, stored procedure etc.)
  7. How does ASP.NET framework maps client side events to Server side events.

  8. Security types in ASP/ASP.NET? Different Authentication modes?
  9. How .Net has implemented security for web applications?
  10. How to do Forms authentication in
  11. Explain authentication levels in .net ?
  12. Explain autherization levels in .net ?
  13. What is Role-Based security?
    A role is a named set of principals that have the same privileges with respect to security (such as a teller or a manager). A principal can be a member of one or more roles. Therefore, applications can use role membership to determine whether a principal is authorized to perform a requested action.
  14. How will you do windows authentication and what is the namespace? If a user is logged under integrated windows authentication mode, but he is still not able to logon, what might be the possible cause for this? In ASP.Net application how do you find the name of the logged in person under windows authentication?
  15. What are the different authentication modes in the .NET environment?
         timeout="30" path="/" >
            ="username" password="password"/>





Controls the default authentication mode for an application.


Specifies Windows authentication as the default authentication mode. Use this mode when using any form of Microsoft Internet Information Services (IIS) authentication: Basic, Digest, Integrated Windows authentication (NTLM/Kerberos), or certificates.


Specifies ASP.NET forms-based authentication as the default authentication mode.


Specifies Microsoft Passport authentication as the default authentication mode.


Specifies no authentication. Only anonymous users are expected or applications can handle events to provide their own authentication.

  1. How do you specify whether your data should be passed as Query string and Forms (Mainly about POST and GET)
    Through attribute tag of form tag.
  2. What is the other method, other than GET and POST, in ASP.NET?
  3. What are validator? Name the Validation controls in How do u disable them? Will the validators run in server side or client side? How do you do Client-side validation in .Net? How to disable validator control by client side JavaScript?
    A set of server controls included with ASP.NET that test user input in HTML and Web server controls for programmer-defined requirements. Validation controls perform input checking in server code. If the user is working with a browser that supports DHTML, the validation controls can also perform validation ("EnableClientScript" property set to true/false) using client script.
    The following validation controls are available in
    RequiredFieldValidator Control, CompareValidator Control, RangeValidator Control, RegularExpressionValidator Control, CustomValidator Control, ValidationSummary Control.
  4. Which two properties are there on every validation control? ControlToValidate, ErrorMessage

How do you use css in
Within the section of an HTML document that will use these styles, add a link to this external CSS style sheet that
follows this form:

MyStyles.css is the name of your external CSS style sheet.

Oracle Job Interview Questions Part-7

  1. How do u implement locking concept for dataset?

  2. and asp – differences?

Code Render Block

Code Declaration Block



Event Driven

Object Oriented - Constructors/Destructors, Inheritance, overloading..

Exception Handling - Try, Catch, Finally

Down-level Support


User Controls

In-built client side validation

Session - weren't transferable across servers

It can span across servers, It can survive server crashes, can work with browsers that don't support cookies

built on top of the window & IIS, it was always a separate entity & its functionality was limited.

its an integral part of OS under the .net framework. It shares many of the same objects that traditional applications would use, and all .net objects are available for's consumption.

Garbage Collection

Declare variable with datatype

In built graphics support


  1. How ASP and ASP.NET page works? Explain about page life cycle?
  2. Order of events in an page? Control Execution Lifecycle?


What a control needs to do

Method or event to override


Initialize settings needed during the lifetime of the incoming Web request.

Init event (OnInit method)

Load view state

At the end of this phase, the ViewState property of a control is automatically populated as described in Maintaining State in a Control. A control can override the default implementation of the LoadViewState method to customize state restoration.

LoadViewState method

Process postback data

Process incoming form data and update properties accordingly.

LoadPostData method (if IPostBackDataHandler is implemented)


Perform actions common to all requests, such as setting up a database query. At this point, server controls in the tree are created and initialized, the state is restored, and form controls reflect client-side data.

Load event

(OnLoad method)

Send postback change notifications

Raise change events in response to state changes between the current and previous postbacks.

RaisePostDataChangedEvent method (if IPostBackDataHandler is implemented)

Handle postback events

Handle the client-side event that caused the postback and raise appropriate events on the server.

RaisePostBackEvent method(if IPostBackEventHandler is implemented)


Perform any updates before the output is rendered. Any changes made to the state of the control in the prerender phase can be saved, while changes made in the rendering phase are lost.

PreRender event
(OnPreRender method)

Save state

The ViewState property of a control is automatically persisted to a string object after this stage. This string object is sent to the client and back as a hidden variable. For improving efficiency, a control can override the SaveViewState method to modify the ViewState property.

SaveViewState method


Generate output to be rendered to the client.

Render method


Perform any final cleanup before the control is torn down. References to expensive resources such as database connections must be released in this phase.

Dispose method


Perform any final cleanup before the control is torn down. Control authors generally perform cleanup in Dispose and do not handle this event.

UnLoad event (On UnLoad method)

Note To override an EventName event, override the OnEventName method (and call base.OnEventName)

  1. What are server controls?
    ASP.NET server controls are components that run on the server and encapsulate user-interface and other related functionality. They are used in ASP.NET pages and in ASP.NET code-behind classes.
  2. What is the difference between Web User Control and Web Custom Control?
    Custom Controls
    Web custom controls are compiled components that run on the server and that encapsulate user-interface and other related functionality into reusable packages. They can include all the design-time features of standard ASP.NET server controls, including full support for Visual Studio design features such as the Properties window, the visual designer, and the Toolbox.
    There are several ways that you can create Web custom controls:
    • You can compile a control that combines the functionality of two or more existing controls. For example, if you need a control that encapsulates a button and a text box, you can create it by compiling the existing controls together.
    • If an existing server control almost meets your requirements but lacks some required features, you can customize the control by deriving from it and overriding its properties, methods, and events.
    • If none of the existing Web server controls (or their combinations) meet your requirements, you can create a custom control by deriving from one of the base control classes. These classes provide all the basic functionality of Web server controls, so you can focus on programming the features you need.

If none of the existing ASP.NET server controls meet the specific requirements of your applications, you can create either a Web user control or a Web custom control that encapsulates the functionality you need. The main difference between the two controls lies in ease of creation vs. ease of use at design time.
Web user controls
are easy to make, but they can be less convenient to use in advanced scenarios. You develop Web user controls almost exactly the same way that you develop Web Forms pages. Like Web Forms, user controls can be created in the visual designer, they can be written with code separated from the HTML, and they can handle execution events. However, because Web user controls are compiled dynamically at run time they cannot be added to the Toolbox, and they are represented by a simple placeholder glyph when added to a page. This makes Web user controls harder to use if you are accustomed to full Visual Studio .NET design-time support, including the Properties window and Design view previews. Also, the only way to share the user control between applications is to put a separate copy in each application, which takes more maintenance if you make changes to the control.
Web custom controls
are compiled code, which makes them easier to use but more difficult to create; Web custom controls must be authored in code. Once you have created the control, however, you can add it to the Toolbox and display it in a visual designer with full Properties window support and all the other design-time features of ASP.NET server controls. In addition, you can install a single copy of the Web custom control in the global assembly cache and share it between applications, which makes maintenance easier.

Web user controls

Web custom controls

Easier to create

Harder to create

Limited support for consumers who use a visual design tool

Full visual design tool support for consumers

A separate copy of the control is required in each application

Only a single copy of the control is required, in the global assembly cache

Cannot be added to the Toolbox in Visual Studio

Can be added to the Toolbox in Visual Studio

Good for static layout

Good for dynamic layout

  1. Application and Session Events
    The ASP.NET page framework provides ways for you to work with events that can be raised when your application starts or stops or when an individual user's session starts or stops:
    • Application events are raised for all requests to an application. For example, Application_BeginRequest is raised when any Web Forms page or XML Web service in your application is requested. This event allows you to initialize resources that will be used for each request to the application. A corresponding event, Application_EndRequest, provides you with an opportunity to close or otherwise dispose of resources used for the request.
    • Session events are similar to application events (there is a Session_OnStart and a Session_OnEnd event), but are raised with each unique session within the application. A session begins when a user requests a page for the first time from your application and ends either when your application explicitly closes the session or when the session times out.

You can create handlers for these types of events in the Global.asax file.

  1. Difference between ASP Session and ASP.NET Session? session supports cookie less session & it can span across multiple servers.
  2. What is cookie less session? How it works?
    By default, ASP.NET will store the session state in the same process that processes the request, just as ASP does. If cookies are not available, a session can be tracked by adding a session identifier to the URL. This can be enabled by setting the following:

  3. How you will handle session when deploying application in more than a server? Describe session handling in a webfarm, how does it work and what are the limits?
    By default, ASP.NET will store the session state in the same process that processes the request, just as ASP does. Additionally, ASP.NET can store session data in an external process, which can even reside on another machine. To enable this feature:
    • Start the ASP.NET state service, either using the Services snap-in or by executing "net start aspnet_state" on the command line. The state service will by default listen on port 42424. To change the port, modify the registry key for the service: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\Port
    • Set the mode attribute of the section to "StateServer".
    • Configure the stateConnectionString attribute with the values of the machine on which you started aspnet_state.

The following sample assumes that the state service is running on the same machine as the Web server ("localhost") and uses the default port (42424):

Note that if you try the sample above with this setting, you can reset the Web server (enter iisreset on the command line) and the session state value will persist.

  1. What method do you use to explicitly kill a users session?Abandon()
  2. What are the different ways you would consider sending data across pages in ASP (i.e between 1.asp to 2.asp)?Session, public properties
  3. What is State Management in .Net and how many ways are there to maintain a state in .Net? What is view state?
    Web pages are recreated each time the page is posted to the server. In traditional Web programming, this would ordinarily mean that all information associated with the page and the controls on the page would be lost with each round trip.
    To overcome this inherent limitation of traditional Web programming, the ASP.NET page framework includes various options to help you preserve changes — that is, for managing state. The page framework includes a facility called view state that automatically preserves property values of the page and all the controls on it between round trips.
    However, you will probably also have application-specific values that you want to preserve. To do so, you can use one of the state management options.
    Client-Based State Management Options:
    View State
    Hidden Form Fields
    Query Strings
    Server-Based State Management Options
    Session State

    Database Support
  4. What are the disadvantages of view state / what are the benefits?
    Automatic view-state management is a feature of server controls that enables them to repopulate their property values on a round trip (without you having to write any code). This feature does impact performance, however, since a server control's view state is passed to and from the server in a hidden form field. You should be aware of when view state helps you and when it hinders your page's performance.
  5. When maintaining session through Sql server, what is the impact of Read and Write operation on Session objects? will performance degrade?
    Maintaining state using database technology is a common practice when storing user-specific information where the information store is large. Database storage is particularly useful for maintaining long-term state or state that must be preserved even if the server must be restarted.
  6. What are the contents of cookie?
  7. How do you create a permanent cookie?
  8. What is ViewState? What does the "EnableViewState" property do?Why would I want it on or off?
  9. Explain the differences between Server-side and Client-side code?
    Server side code will process at server side & it will send the result to client. Client side code (javascript) will execute only at client side.
  10. Can you give an example of what might be best suited to place in the Application_Start and Session_Start subroutines?

My Ad