When surveyors or civil engineers need to record the location of human-made features, such as land parcels, road centerlines, utility easements containing transmission lines, oil and gas leases, and so on, they typically provide the results on a survey plan that describes the location of features relative to each other. Below is an example survey plan that diagrammatically shows a road centerline and the edge of the land properties adjoining the road. The road centerline and parcel boundaries comprise a number of straight and curved lines. Each line has measurements that describe it. A straight line has a direction and distance, while a curved line has a radius, angle, arc length, direction, and so on. These measurements are coordinate geometry (COGO) descriptions. You can use these COGO descriptions to accurately re-create the features the surveyor captured. The survey plan also includes references to existing locations that help you to tie these new features into your GIS database. The reference could be the coordinates for a point or a measurement to a well known location such as a control point, a road intersection, or an existing parcel corner.
Building blocks for COGO
The basic building blocks for COGO are:
· Points—Survey plans can describe point features such as control points, section corners, monuments, and so on. You can use a simple point feature class to represent these features.
· Lines—You use a simple line feature class to represent these features. You can optionally add COGO fields to your line feature class, and measurements you enter are recorded on the features. There are three types of lines found on survey plans:
o Straight lines—Straight lines are the predominant type of lines on a survey plan, they are used to represent all types of features.
o Curved lines—A typical use for curved lines is to smoothly change direction on a road centerline. Parcel boundaries are usually parallel to the road centerline, so boundaries adjacent to a curved centerline are also curved. Curves are used in a number of other situations; in cul-de-sac parcels to provide a large turning circle for vehicles and on parcels at an intersection to provide greater visibility.
o Spirals—Spirals are not as common as the other types of lines. Spirals typically provide a transition to and from circular curves. Spirals are used in roadway and railroad design, where a high speed vehicle or train must be eased into or out of a circular path from or to a straight tangent. Creating and modifying spirals is not supported in ArcGIS 9.2.
· Polygons—Polygon features are used to represent the parcel areas formed by your COGO line features. You usually don't directly create polygons with the ArcMap COGO functionality, more typically you derive polygons from your lines. For example, you can use the Construct Features command on the Topology toolbar to creates polygons from selected lines.
· Traverses—Much of the data that is entered using COGO descriptions is entered from traverses. A traverse is simply an ordered collection of COGO descriptions that are used to create either a line or a polygon. Each individual line is referred to as a Course. Traverses are not stored in the GIS; however, you can save a traverse to a text file and recall it later.
Creating features from COGO descriptions
The commands and dialog boxes in the ArcMap editing environment for creating features from COGO descriptions are integrated into the editing experience. The common commands and dialog boxes you will use include:
· Traverse window—Create an edit sketch from a traverse description.
· 2-Point Line window—Quickly create a feature from a single COGO description.
· Offset Line window—Create an edit sketch from a strip description, a type of survey plan used for realigning road centerlines.
· Cul-de-sac command—Create a cul-de-sac from a selected road centerline.
These are just some of the commands and dialog boxes available for creating features in ArcGIS. Refer toCommon COGO workflows to understand how you can use these and other commands to build and maintain your land parcels.When you are creating features, you still need to set the target layer so ArcMap knows which layer you want to update. For the Traverse and Offset Line windows, you also need to set the edit task to either Create New Feature or Create 2-Point Line Features.
Correcting for differences between the survey plan and GIS data
When you are using the COGO descriptions from a survey plan, you are using measurements the surveyor took on the ground and possibly adjusted to some coordinate system. However, a GIS stores coordinates relative to a projections coordinate grid. You can use the ground to grid correction to adjust the geometry of the features you create.
Reporting COGO descriptions
Before you begin adding features from COGO descriptions, you may need to investigate and understand how the new features will fit compared to the existing features. You can use the COGO Report dialog box to measure directions and distances between points you click on the map as well as query the COGO descriptions for line feature in your database. You can also use the COGO Area command to calculate the legal area of selected line features, useful when deciding which approach to use when modifying features.
Storing COGO attributes on line features
In ArcMap, you can store the COGO values that you enter when creating features as an attribute of the line feature. One reason to do this is to keep a record of the original COGO description of the line features. This is useful if you need to research the original value when you are modifying the line feature in the future. Not every command and tool in ArcMap updates the COGO attributes of a line feature. The Traverse window, 2-Point Line window, Cul-de-sac command, and Proportion command are examples of those that do update. For a complete list, see About COGO descriptions. To get this behavior, you need a line feature class with the appropriate COGO attributes. You can use the Create COGO fields command in ArcCatalog to do this.
How is COGO in ArcGIS 9.2 different from other ESRI COGO capabilities?
The COGO functionality provided in ArcGIS 9.2 allows you to create and maintain your land parcels and other surveyed features in a geodatabase. There is other ESRI functionality that provides similar capabilities to ArcGIS 9.2 COGO such as the Survey Analyst extension to ArcGIS and the COGO extension to ArcInfo Workstation.
ArcGIS Survey Analyst and Cadastral Editor
ArcGIS Survey Analyst is an extension to ArcGIS that allows you to capture and maintain survey information collected from field notes, data collectors, and record information submitted by surveyors to public authorities. You can use this survey information to incrementally improve the accuracy of GIS feature geometry in the geodatabase. See the Survey Analyst documentation for more information. Survey Analyst is comprised of a Survey Editor and Cadastral Editor. The Cadastral Editor provides a new cadastral fabric dataset, job tracking, and workflow functionality for maintaining a land records database. How does this differ from COGO in ArcGIS 9.2?
· Availability of functionality—COGO in ArcGIS 9.2 is available with an ArcEditor or ArcInfo license. Similar to the COGO extension for ArcInfo Workstation, Survey Analyst requires an extension license. The Survey Analyst extension works with ArcView, ArcEditor, and ArcInfo.
· Maintaining your features over time—When you create line and polygon features with COGO functionality in ArcGIS 9.2. you cannot go back and change the measurements and re-adjust the features. For example, if you use the Traverse window to create a parcel boundary and realize later you made an error, you must delete the parcel boundaries and create them again. Using the Cadastral Editor, the parcel record information is stored in the cadastral fabric so you can reapply the measurements and adjust the fabric.
· Adjustment of the parcels—With COGO for ArcGIS 9.2, as new parcels are added, you need to decide how those new parcels integrate into the existing parcel layers. You may need to delete some lines or modify or re-create others. Cadastral Editor uses a least squares adjustment that defines a best fit for your new parcels. As you add new parcels, they are seamlessly integrated into the cadastral fabric. Old record information is not deleted, it is kept as a historical record and can continue to contribute to the coordinate accuracy of the fabric.
· Tracking history of parcels—The geodatabase allows you to archive data so you can model your parcel data over time. This works for the parcels created with COGO for ArcGIS 9.2. The Cadastral Editor provides additional functionality to geodatabase archiving where you can store incremental changes to the parcels in a cadastral fabric.
COGO extension for ArcInfo Workstation
The COGO extension for ArcInfo Workstation provides functionality for capturing and maintaining land records data in a coverage. How does this differ from COGO in ArcGIS 9.2?
· Availability of functionality—COGO in ArcGIS 9.2 is available with an ArcEditor or ArcInfo license. The COGO extension for ArcInfo Workstation requires an additional extension license.
· Similar functionality—COGO in ArcGIS 9.2 provides similar functionality to the COGO extension for ArcInfo Workstation. Refer to Common COGO workflows to understand what capabilities are available.
· No COGO point feature class—COGO for ArcGIS 9.2 doesn't have an explicit COGO point feature class
· Support for spiral curves—Creating and modifying spirals is not supported in ArcGIS 9.2.
· Stationing is not supported in ArcGIS 9.2.
Monday, October 19, 2009
What is COM?
1. What is IUnknown? What methods are provided by IUnknown? It is a generally good idea to have an answer for this question if you claim you know COM in your resume. Otherwise, you may consider your interview failed at this point. IUnknown is the base interface of COM. All other interfaces must derive directly or indirectly from IUnknown. There are three methods in that interface: AddRef, Release and QueryInterface.
2. What are the purposes of AddRef, Release and QueryInterface functions? AddRef increments reference count of the object, Release decrements reference counter of the object and QueryInterface obtains a pointer to the requested interface.
3. What should QueryInterface functions do if requested object was not found? Return E_NOINTERFACE and nullify its out parameter.
4. How can would you create an instance of the object in COM? Well, it all depends on your project. Start your answer from CoCreateInstance or CoCreateInstanceEx, explain the difference between them. If interviewer is still not satisfied, you’ll have to explain the whole kitchen behind the scenes, including a difference between local server and inproc server, meaning and mechanism of class factory, etc. You may also mention other methods of object creation like CoGetInstanceFromFile, but discussion will likely turn to discussion of monikers then.
5. What happens when client calls CoCreateInstance? Again, all depends on the level of detail and expertise of interviewer. Start with simple explanation of class object and class factory mechanism. Further details would depend on a specific situation.
6. What the limitations of CoCreateInstance? Well, the major problems with CoCreateInstance is that it is only able to create one object and only on local system. To create a remote object or to get several objects, based on single CLSID, at the same time, one should use CoCreateInstanceEx.
7. What is aggregation? How can we get an interface of the aggregated object? Aggregation is the reuse mechanism, in which the outer object exposes interfaces from the inner object as if they were implemented on the outer object itself. This is useful when the outer object would always delegate every call to one of its interfaces to the same interface in the inner object. Aggregation is actually a specialized case of containment/delegation, and is available as a convenience to avoid extra implementation overhead in the outer object in these cases. We can get a pointer to the inner interface, calling QueryInterface of the outer object with IID of the inner interface.
8. C is aggregated by B, which in turn aggregated by A. Our client requested C. What will happen? QueryInterface to A will delegate request to B which, in turn, will delegate request for the interface to C. This pointer will be returned to the client.
9. What is a moniker ? An object that implements the IMoniker interface. A moniker acts as a name that uniquely identifies a COM object. In the same way that a path identifies a file in the file system, a moniker identifies a COM object in the directory namespace.
10. What’s the difference, if any, between OLE and COM? OLE is build on top of COM. The question is not strict, because OLE was built over COM for years, while COM as a technology was presented by Microsoft a few years ago. You may mention also that COM is a specification, while OLE is a particular implementation of this specification, which in today’s world is not exactly true as well, because what people call COM today is likely implementation of COM spec by Microsoft.
11. What’s the difference between COM and DCOM? Again, the question does not require strict answer. Any DCOM object is yet a COM object (DCOM extends COM) and any COM object may participate in DCOM transactions. DCOM introduced several improvements/optimizations for distributed environment, such as MULTI_QI (multiple QueryInterface()), security contexts etc. DCOM demonstrated importance of surrogate process (you cannot run in-proc server on a remote machine. You need a surrogate process to do that.) DCOM introduced a load balancing.
12. What is a dual interface? Dual interface is one that supports both - IDispatch interface and vtbl-based interface. Therefore, it might be used in scripting environment like VBScript and yet to use power and speed of vtbl-based interface for non-scripting environment. Discussion then may easily transform into analyzing of dual interface problems - be prepared to this twist.
13. Can you have two dual interfaces in one class? Yes. You may have two dual interfaces in one class, but only one of them may be default. The bottom line is that you cannot work with two dual interfaces at the same time due to nature of dual interface! To support two dual interfaces in VB you would write something like:14. dim d1 as IDualInterface115. dim d2 as IDualInterface216. set d1 = new MyClassWithTwoDuals17. set d2 = d1
In ATL’s class you would have to use macro COM_INTERFACE_ENTRY2(IDispatch,IDualInterface1), to distinguish between different dual interfaces.
18. What is marshalling by value? Some objects can essentially be considered static: regardless of which methods are called, the state of the object does not change. Instead of accessing such an object remotely, it is possible to copy the static state of the object and create a new object with the same state information on the caller side. The caller won’t be able to notice the difference, but calls will be more efficient because they do not involve network round trips. This is called “marshaling by value”.
19. What is a multi-threaded apartment (MTA)? Single-threaded apartment (STA)? This is pretty difficult question to describe shortly. Anyway, apartments were introduced by Microsoft in NT 3.51 and late Windows 95 to isolate the problem of running legacy non-thread safe code into multithreaded environment. Each thread was “encapsulated” into so called single-threaded apartment. The reason to create an object in apartment is thread-safety. COM is responsible synchronize access to the object even if the object inside of the apartment is not thread-safe. Multithreaded apartments (MTA, or free threading apartment) were introduced in NT 4.0. Idea behind MTA is that COM is not responsible to synchronize object calls between threads. In MTA the developer is responsible for that. See “Professional DCOM Programming” of Dr. Grimes et al. or “Essential COM” of Don Box for the further discussion on this topic.
20. Let’s assume we have object B and aggregated object C (in-proc server), created by B. Can you access any interface of B from C? What’s the difference between aggregated and contained objects? Yes, you can. This is fundamental postulate of COM: “If you can get there from here, you can get there from anywhere”, i.e. QI’ing for IUnknown you may proceed and to get a pointer to any other interface, supported by the object. Aggregated object exposes its interface directly, without visible intervention of the object container. Contained object is created within the object container and its interfaces might be altered or filtered by the object container.
21. What is ROT ? GIT ? Count pros and cons of both. By definition, running object table (ROT) is a globally accessible table on each computer that keeps track of all COM objects in the running state that can be identified by a moniker. Moniker providers register an object in the table, which increments the object’s reference count. Before the object can be destroyed, its moniker must be released from the table. Global Interface Table (GIT) allows any apartment (either single- or multi-threaded) in a process to get access to an interface implemented on an object in any other apartment in the process.
22. If you have an object with two interfaces, can you custom marshal one of them? No! The decision to use custom marshaling is an all-or-nothing decision; an object has to custom marshal all its interfaces or none of them.
23. Is there a way to register in-proc server without regsvr32.exe? Yes. Call DllRegisterServer() from the client. Do not forget to call DLLUnregisterServer() from the same client. You may also use Registrar object for the same purpose or use direct manipulation of the windows registry.
24. What is VARIANT? Why and where would you use it? VARIANT is a huge union containing automation type. This allows easy conversion of one automation type to another. The biggest disadvantage of VARIANT is size of the union.
25. How can you guarantee that only remote server is ever created by a client? Create an object (call CoCreateObjectEx()) with CLSCTX_REMOTE_SERVER flag.
26. What is __declspec(novtable)? Why would you need this? __declspec(novtable) is a Microsoft’s compiler optimization. The main idea of this optimization is to strip the vtable initialization code from abstract class (for abstract class the vtable is empty, while it is initialized in contructor) MSDN has an article on this topic.
27. What is an IDL? IDL stands for Interface Definition Language. IDL is the language to describe COM interfaces.
28. What is In-proc? In-proc is in-process COM object, i.e. COM object that implemented as DLL and supposed to be hosted by a container. When you have to instantiate the in-proc object remotely, you may use DLLHost.exe application that was design specially for this purpose.
29. What is OLE? OLE is an object and embedding first implementation of COM spec available from MS before COM was officially named COM.
30. Give examples of OLE usage. The most famous examples are probably drag and drop and structured storage implementations.
31. What are 2 storage types for composite document? Storage and Stream.
32. Is .doc document a compound document? Is it a structured storage? Compound document is a document that contains information about other documents hosted in this document. All office documents _may_ be compound documents, but may be not. Word documents from version 6.0 and up are stored as structured storage.
2. What are the purposes of AddRef, Release and QueryInterface functions? AddRef increments reference count of the object, Release decrements reference counter of the object and QueryInterface obtains a pointer to the requested interface.
3. What should QueryInterface functions do if requested object was not found? Return E_NOINTERFACE and nullify its out parameter.
4. How can would you create an instance of the object in COM? Well, it all depends on your project. Start your answer from CoCreateInstance or CoCreateInstanceEx, explain the difference between them. If interviewer is still not satisfied, you’ll have to explain the whole kitchen behind the scenes, including a difference between local server and inproc server, meaning and mechanism of class factory, etc. You may also mention other methods of object creation like CoGetInstanceFromFile, but discussion will likely turn to discussion of monikers then.
5. What happens when client calls CoCreateInstance? Again, all depends on the level of detail and expertise of interviewer. Start with simple explanation of class object and class factory mechanism. Further details would depend on a specific situation.
6. What the limitations of CoCreateInstance? Well, the major problems with CoCreateInstance is that it is only able to create one object and only on local system. To create a remote object or to get several objects, based on single CLSID, at the same time, one should use CoCreateInstanceEx.
7. What is aggregation? How can we get an interface of the aggregated object? Aggregation is the reuse mechanism, in which the outer object exposes interfaces from the inner object as if they were implemented on the outer object itself. This is useful when the outer object would always delegate every call to one of its interfaces to the same interface in the inner object. Aggregation is actually a specialized case of containment/delegation, and is available as a convenience to avoid extra implementation overhead in the outer object in these cases. We can get a pointer to the inner interface, calling QueryInterface of the outer object with IID of the inner interface.
8. C is aggregated by B, which in turn aggregated by A. Our client requested C. What will happen? QueryInterface to A will delegate request to B which, in turn, will delegate request for the interface to C. This pointer will be returned to the client.
9. What is a moniker ? An object that implements the IMoniker interface. A moniker acts as a name that uniquely identifies a COM object. In the same way that a path identifies a file in the file system, a moniker identifies a COM object in the directory namespace.
10. What’s the difference, if any, between OLE and COM? OLE is build on top of COM. The question is not strict, because OLE was built over COM for years, while COM as a technology was presented by Microsoft a few years ago. You may mention also that COM is a specification, while OLE is a particular implementation of this specification, which in today’s world is not exactly true as well, because what people call COM today is likely implementation of COM spec by Microsoft.
11. What’s the difference between COM and DCOM? Again, the question does not require strict answer. Any DCOM object is yet a COM object (DCOM extends COM) and any COM object may participate in DCOM transactions. DCOM introduced several improvements/optimizations for distributed environment, such as MULTI_QI (multiple QueryInterface()), security contexts etc. DCOM demonstrated importance of surrogate process (you cannot run in-proc server on a remote machine. You need a surrogate process to do that.) DCOM introduced a load balancing.
12. What is a dual interface? Dual interface is one that supports both - IDispatch interface and vtbl-based interface. Therefore, it might be used in scripting environment like VBScript and yet to use power and speed of vtbl-based interface for non-scripting environment. Discussion then may easily transform into analyzing of dual interface problems - be prepared to this twist.
13. Can you have two dual interfaces in one class? Yes. You may have two dual interfaces in one class, but only one of them may be default. The bottom line is that you cannot work with two dual interfaces at the same time due to nature of dual interface! To support two dual interfaces in VB you would write something like:14. dim d1 as IDualInterface115. dim d2 as IDualInterface216. set d1 = new MyClassWithTwoDuals17. set d2 = d1
In ATL’s class you would have to use macro COM_INTERFACE_ENTRY2(IDispatch,IDualInterface1), to distinguish between different dual interfaces.
18. What is marshalling by value? Some objects can essentially be considered static: regardless of which methods are called, the state of the object does not change. Instead of accessing such an object remotely, it is possible to copy the static state of the object and create a new object with the same state information on the caller side. The caller won’t be able to notice the difference, but calls will be more efficient because they do not involve network round trips. This is called “marshaling by value”.
19. What is a multi-threaded apartment (MTA)? Single-threaded apartment (STA)? This is pretty difficult question to describe shortly. Anyway, apartments were introduced by Microsoft in NT 3.51 and late Windows 95 to isolate the problem of running legacy non-thread safe code into multithreaded environment. Each thread was “encapsulated” into so called single-threaded apartment. The reason to create an object in apartment is thread-safety. COM is responsible synchronize access to the object even if the object inside of the apartment is not thread-safe. Multithreaded apartments (MTA, or free threading apartment) were introduced in NT 4.0. Idea behind MTA is that COM is not responsible to synchronize object calls between threads. In MTA the developer is responsible for that. See “Professional DCOM Programming” of Dr. Grimes et al. or “Essential COM” of Don Box for the further discussion on this topic.
20. Let’s assume we have object B and aggregated object C (in-proc server), created by B. Can you access any interface of B from C? What’s the difference between aggregated and contained objects? Yes, you can. This is fundamental postulate of COM: “If you can get there from here, you can get there from anywhere”, i.e. QI’ing for IUnknown you may proceed and to get a pointer to any other interface, supported by the object. Aggregated object exposes its interface directly, without visible intervention of the object container. Contained object is created within the object container and its interfaces might be altered or filtered by the object container.
21. What is ROT ? GIT ? Count pros and cons of both. By definition, running object table (ROT) is a globally accessible table on each computer that keeps track of all COM objects in the running state that can be identified by a moniker. Moniker providers register an object in the table, which increments the object’s reference count. Before the object can be destroyed, its moniker must be released from the table. Global Interface Table (GIT) allows any apartment (either single- or multi-threaded) in a process to get access to an interface implemented on an object in any other apartment in the process.
22. If you have an object with two interfaces, can you custom marshal one of them? No! The decision to use custom marshaling is an all-or-nothing decision; an object has to custom marshal all its interfaces or none of them.
23. Is there a way to register in-proc server without regsvr32.exe? Yes. Call DllRegisterServer() from the client. Do not forget to call DLLUnregisterServer() from the same client. You may also use Registrar object for the same purpose or use direct manipulation of the windows registry.
24. What is VARIANT? Why and where would you use it? VARIANT is a huge union containing automation type. This allows easy conversion of one automation type to another. The biggest disadvantage of VARIANT is size of the union.
25. How can you guarantee that only remote server is ever created by a client? Create an object (call CoCreateObjectEx()) with CLSCTX_REMOTE_SERVER flag.
26. What is __declspec(novtable)? Why would you need this? __declspec(novtable) is a Microsoft’s compiler optimization. The main idea of this optimization is to strip the vtable initialization code from abstract class (for abstract class the vtable is empty, while it is initialized in contructor) MSDN has an article on this topic.
27. What is an IDL? IDL stands for Interface Definition Language. IDL is the language to describe COM interfaces.
28. What is In-proc? In-proc is in-process COM object, i.e. COM object that implemented as DLL and supposed to be hosted by a container. When you have to instantiate the in-proc object remotely, you may use DLLHost.exe application that was design specially for this purpose.
29. What is OLE? OLE is an object and embedding first implementation of COM spec available from MS before COM was officially named COM.
30. Give examples of OLE usage. The most famous examples are probably drag and drop and structured storage implementations.
31. What are 2 storage types for composite document? Storage and Stream.
32. Is .doc document a compound document? Is it a structured storage? Compound document is a document that contains information about other documents hosted in this document. All office documents _may_ be compound documents, but may be not. Word documents from version 6.0 and up are stored as structured storage.
ArcGIS Server coding practices
The ESRI dev summit was a great experience. Meeting fellow developers is always good - you talk the same language, exchange ideas, receive feedback, discuss how things can be made better,... I could go on and on.Ok, so I was asked quite a few server related questions at the summit: What should I keep in mind while coding against the server? Any do's and dont's? Any particular classes / methods I should read more about? etc... So here I'll talk about certain points you should keep in mind while working with the ArcGIS Server, particularly the MapServer:
Use the description objects: Sure the MapServer gives you access to the IMap but you don't have to go there. A lot can be accomplished by using the IMapDescription, ILayerDescription, et al.
Release the ServerContext: In a pooled environment you are sharing the server object with other users. So it's your responsibility to release the context once you have performed your set of operations. For web applications, this translates to releasing the context after every request. Of course, if you are using the ADF, the ADF does that for you so you need not worry. But even then it's good to keep this in mind.
Do not reference server objects after the context has been released: Do you continue to work with the Statement object once the JDBC Connection has been closed? NO. Why? Because aStatement can be executed only while the Connection is live. Similarly, you should not reference ANY server objects once you have released the IServerContext. If you want to persist the state of any server object, you should use the saveObject() method to get a serialized string representation of the object before releasing the context. You can once again rehydrate the object by using theloadObject() method once you have regained access to the context.
In case you had forgotten - use the description objects: Did you know you could add serializable custom graphics to the IMapDescription object?
Use methods exposed by the MapServer: Look at the javadoc for the MapServer and for all the interfaces that it implements. It can do a lot more than you might think - you can export maps, layouts, do queries, identifies, get feature info, handle SOAP requests, and a whole lot more.
Create server objects on the server: You don't create RMI objects on the client. You don't create EJBs on the client. Similarly, you don't create ArcGIS server objects on the client. ALWAYS use theIServerContext.createObject() method to create all and any ArcObject in a server application within your server context at the server.
BTW, use the description objects: Did you know you could change layer visibilities, select features, even set definition expressions with the ILayerDescription object?
This by no means is an exhaustive list but something which might help you when working with the server. Oh yeah, in parting, in case you had missed: use the description objects!
Posted by Keyur Shah
Labels: arcgisserver, bestpractices, esri, java
Are there inexpensive online training resources for ArcGIS Server?
Yes. ESRI provides free, self-paced online training for ArcGIS Server via our popular training seminars. Training seminars deliver focused lectures and demonstrations on the topics most asked for by our customers. Each recorded session lasts approximately 60 minutes.
Check out the top 10 ESRI Training Seminars for ArcGIS Server:
1. Building Mashups Using the ArcGIS APIs for JavaScript
2. Authoring and Publishing Optimized Map Services
3. Using ArcGIS Server Geoprocessing Services
4. Implementing and Optimizing ArcGIS Server Map Caches
5. Publishing KML Services with ArcGIS Server 9.3
6. Building Applications with ArcGIS Server Using the Java Platform
7. Implementing Security for ArcGIS Server 9.3 Java Solutions
8. Implementing Security for ArcGIS Server .NET Solutions
9. ArcGIS Server Setup and Administration
10. Imagery in an Enterprise GIS
How do I create a Web application with ArcGIS Server?
Watch this quick video: Creating a Web Application with ArcGIS Server Manager.
Are there free resources available to help me get started with ArcGIS Server?
Yes. ESRI provides Web help for both ArcGIS Server for the Microsoft .NET Framework and ArcGIS Server for the Java platform. These online documents are excellent resources for understanding important concepts and include valuable tutorials to help you get started quickly. At 9.3, the ArcGIS Server Resource Center provides you with access to online software developer kits (SDKs), sample GIS servers, and online content that you can include in your applications.
Other free resources include
·ArcGIS Server Resource Center
·ESRI Instructional Podcasts and Speaker Series Podcasts
·The ArcGIS Server Development Blog
·The ArcGIS Explorer Blog
·The EDN Web Site Blog
·Inside the Geodatabase
What is ArcGIS Explorer?
ArcGIS Explorer is an easy-to-use geobrowser client for mapping and 3D visualization. It provides a fast and simple way to access the rich functionality of ArcGIS Server. It is intuitive and free. This software is designed to work as a client to ArcGIS Server and can integrate other Web services including OGC WMS, ArcIMS, ArcWeb Services, and KML. ArcGIS Explorer can also read and display local data including shapefiles, file geodatabases, and a wide variety of image formats.
ArcGIS Explorer is not a stand-alone solution but rather an integrated part of the ArcGIS system. ESRI believes that ArcGIS Explorer will be very powerful for GIS organizations to make their GIS knowledge universally available.
Go to the ArcGIS Explorer blog to find out more.
Can you use ArcGIS Server to manage imagery?
Yes. At 9.3, ArcGIS Image Server is integrated with ArcGIS Server as an optional extension: ArcGIS Server Image Extension. For a good overview of ESRI's image management solution, read the ArcUser article, Visualizing an Enterprise Approach to Imagery.
Can I deploy the ArcGIS Web Mapping APIs locally?
Yes. DVD media for the ArcGIS Web Mapping APIs is available for customers with Standard or Advanced editions of ArcGIS Server 9.3 or above, as well as EDN subscribers or users of the Web Mapping APIs for commercial use. ESRI recommends that you use the ArcGIS Web Mapping API SDKs, hosted by ESRI. This will give you access to the latest samples and tutorials as well as additions to the API. If your organization runs on a restricted network with no access to the Internet, you can order any of the ArcGIS Web Mapping APIs from ESRI Customer Service.
Please note that the ArcGIS Web Mapping APIs have a release schedule different from ArcGIS. If you install the APIs locally, you will need to order a new DVD to obtain the latest copy.
What platforms are supported by ArcGIS Server?
See ArcGIS 9.3 System Requirements for details.
What licensing options are offered for ArcGIS Server?
Depending on what features you need and how many simultaneous connections to the multiuser geodatabase you plan to support, you can choose between three editions of ArcGIS Server (Advanced, Standard, and Basic). The functional editions of the product include
·Basic—This edition provides users with a comprehensive GIS server for spatial data management. It focuses on organizing and managing geographic datasets.
·Standard—This edition provides all the features of the Basic edition plus visualization (mapping) and spatial analysis. It also includes 2D mapping and 3D rendering (globe) services; browser-based editing capabilities; and a suite of related features such as geocoding, gazetteer, and routing.
·Advanced—This edition provides all the features of the Standard edition, along with advanced spatial analysis and modeling and a configurable mobile GIS application. The Advanced edition also includes four advanced analysis extensions (3D, Spatial, Network, and Geostatistical) at no additional cost.
Furthermore, each functional edition has levels that define capacity. These levels are
·Workgroup—This level is designed and limited to run on a single machine and includes a SQL Server Express database engine. The Workgroup level supports 10 simultaneous connections to a multiuser geodatabase and 4 GB of data storage on a multiuser geodatabase.
·Enterprise—This level is designed to run and optionally deploy on multiple machines and on a user-defined multiuser database (IBM DB2, Informix Dynamic Server, Microsoft SQL Server, Oracle, or PostgreSQL). The Enterprise level supports unlimited simultaneous connections to a multiuser geodatabase and unlimited storage capacity.
For more information about ArcGIS Server editions and levels, see the ArcGIS Server 9.3.1 Functionality Matrix.
Talk to your local ESRI representative to find which configuration of ArcGIS Server is right for your organization.
How is ArcGIS Server licensed in a virtualized environment?
ArcGIS Server has two licensing options. You can choose to license by the number of cores on either the physical or virtual servers (as described below), whichever is the smaller number.
Option 1: Licensed by the number of cores on the virtual server—When creating a virtual server, a specific hardware server emulation configuration is typically defined. For example, a virtual server could be configured to run on a 2-, 4-, 8-, or 16-core physical server (the physical server does not matter for this option) or could be configured to use the cores from multiple physical servers. If the virtual server is configured as a 4-core virtual server, the license (and the license fee for it) would be a 4-core license. If the virtual server is configured as an 8-core virtual server, then the license and license fee would be a 4-core license with 4 additional cores. In this license model, the number of cores for the virtual server configuration is used to determine the license fee. The number of cores on any physical servers that support the virtual server are notused to determine the license fee.
Option 2: Licensed by the number of cores on the physical servers on which the virtual server is defined—Customers can license the physical servers on which virtual servers are configured. Generally, this model requires that all cores on the physical servers supporting virtual server configurations must be licensed. However, some virtualization technology now supports hardware partitioning. If the customer can document that their virtualization technology supports hardware partitioning, ESRI allows licensing based on the specific hardware resources being utilized by the hardware partition. For example, if the virtualization software supports creating a virtual server that utilizes a particular socket, or specific cores on a socket, then licensing is based on the specific number of physical hardware cores specified. Note: fractional partitioning below the core level still requires that the entire core be counted for licensing purposes. When licensing by the physical server, customers are free to install and run any number of instances of ESRI server software in any virtual servers that they create without the need for additional software licenses, provided that the physical server they are using is properly licensed to run this server software.
In summary, customers can choose whichever option provides the least number of cores to be licensed.
Can an old ESRI Copy Protected (ECP) license registration code be used for licensing newer versions of ESRI software?
No. The ESRI products ArcGIS Server, ArcGIS Engine, and ArcIMS require a new ECP registration code for each released product version.Contact ESRI Customer Service for specific information on product registration, such as obtaining a new registration number or an authorization file.
Do I have to uninstall ArcGIS 9.3 to upgrade to ArcGIS 9.3.1?
Upgrading to ArcGIS 9.3.1 does not require uninstalling ArcGIS 9.3. You can work in mixed environments of ArcGIS 9.3 and ArcGIS 9.3.1 within the same organization since geodatabases, map documents, and APIs did not change between versions.
How do I upgrade my existing ArcGIS Server applications from 9.2 to 9.3?
See the help topic Moving to ArcGIS Server 9.3.
Is an additional license required to install components of ArcGIS Server on another machine (Distributed Setup)?
It depends. At 9.3.1, ArcGIS Server Enterprise users can deploy the following components on multiple machines without paying an additional deployment license fee: Web ADF—SDK or Runtime, Web Service Handlers, and Server Object Manager. If you have ArcGIS Server Workgroup, then yes, you will have to pay additional licensing fees. Talk to your local ESRI representative for more details.
Can I use the Windows XP or Vista operating system as a production environment for ArcGIS Server?
ArcGIS Server 9.3 supports Windows XP and Vista operating systems for basic testing and application development use only. They are not recommended for deployment in a production environment.For more information on Microsoft Vista support, see ESRI Support Center article 34020.
Does ArcGIS Server support 64-bit processors?
ArcGIS on Windows is supported on 64-bit processors with ArcGIS 9.2 Service Pack 3 and higher. Service Pack 3 supports Windows XP 64-bit and Windows 2003 Server 64-bit operating systems. ArcGIS 9.2 Service Pack 3 runs as a 32-bit application on these 64-bit Windows platforms, thereby taking advantage of some of the performance benefits of the 64-bit environment.
ArcGIS Server for .NET and Java and ArcIMS are native 32-bit applications. They are each certified running as a 32-bit application on 64-bit (x64) Microsoft Windows. Web server support is based on the Web server vendor's support of 64-bit Microsoft Windows. Check with a Web server vendor to see if the Web server is supported on 64-bit Microsoft Windows. In addition to Windows, ArcGIS Server for Java and ArcIMS are supported on Solaris and Linux. ArcGIS Server for Java and ArcIMS are both supported in a Solaris 64-bit environment. ArcGIS Server for Java and ArcIMS on 64-bit Linux are not supported.
For more information on 32- and 64-bit support, see ESRI Support Center article 29391.
Can ArcGIS Server and other ArcGIS products be installed on the same Linux or Solaris machine?
Yes, it is possible to install ArcGIS Server and other ArcGIS products on a single Linux/Solaris machine. To prohibit the applications from interfering with one another, ArcGIS Server must be installed with a different user account and in a separate location from the other ArcGIS products. The other ArcGIS products must also be installed in Single User mode, not Multiple User mode. Warning messages are displayed reminding the user of these requirements if conflicts are detected during installation.
What is the difference between the new image service available with ArcGIS Server 9.3 and the new ArcGIS Server Image extension?
An image service is one of the core services available in ArcGIS Server. This means that you can create image services out of the box with the Standard and Advanced editions of ArcGIS Server.
·Image services can be created from any raster dataset in any format.
·Image services provide advanced visualization. For example, ArcGIS Desktop users can connect to an image service and change the band combination of a multiband image.
·Image services provide optimized data transmission. You can adjust the image service for low bandwidth networks.
·Image services can be used as inputs to geoprocessing. For example, ArcGIS Desktop users can use image services with other geoprocessing tools to model geophysical phenomena, such as solar radiation or change detection.
However, to take advantage of all the capabilities an image service has to offer, you will need the ArcGIS Server Image extension, which is available for both Standard and Advanced editions of ArcGIS Server.The Image extension allows you to create a compiled image service definition file (.ISCDef). With ISCDef files, you can define which images are included in the image service; how they will be mosaicked; and other parameters like orthorectification, pan sharpening, and enhancements. This innovative approach to imagery publication reduces the time between imagery acquisition and exploitation.
·The Image extension simplifies image management. For example, not only can you directly publish images in their raw format (without preprocessing) but you can also create an image service from a large number of individual images that may be in different projections, pixel sizes, or locations.
·The Image extension improves the performance of your image services.
·The Image extension allows you to optimize imagery for multiple applications within a single service. For example, elevation data can be served with a range of different renderings.
·The Image extension includes technology that allows you to dynamically change the ordering of overlapping imagery, which is critical for temporal analysis.
·The Image extension also provides detailed metadata about the imagery being viewed.
Find out more about the ArcGIS Server Image extension.
Is there an overview of the enterprise geodatabase architecture?
For a concise overview of the enterprise geodatabase and a list of related resources, read the ArcUser article Enterprise Geodatabase 101. If you just need a basic understanding of the geodatabase, read the Geodatabase Essentials—Part I: What Is the Geodatabase? post on the Inside the Geodatabase blog.
What can I do with my database to improve performance?
Read the Five Best Practices for Maintaining an ArcSDE Geodatabase post on the Inside the Geodatabase blog.
Does ArcGIS Server support an open source enterprise database?
Yes—PostgreSQL. Read the PostgreSQL database support at ArcGIS 9.3 post on the Inside the Geodatabase blog.
How can I learn more about map caching to improve performance?
If you're new to map caching, start with Map caching for beginners and Updating your map caches automatically on theArcGIS Server Development blog. Next, read part 1 ofDeconstructing the map cache tiling scheme. Then read Part 2:Working with map caches programmatically.
You may also be interested in the Creating a 3D globe cache from a 2D map cache post.
Watch the free training seminar, Authoring and Publishing Optimized Map Services.
Tutorials can help you create a map cache and tiling scheme in the Web Help.
Can I have the .NET 2.0 framework and .NET 3.5 framework on the same machine?
Yes. ArcGIS Server for the .NET Framework at 9.3 requires a minimum of .NET Framework 2.0 to run applications, but 2.0 and 3.5 can coexist without issues.
What has ESRI done to improve the Web ADFs?
At 9.3, we have dramatically improved the performance of .NET Web ADF applications by reducing the number of callbacks to the server and optimizing different aspects of the application. We have also worked on improving the user experience while configuring applications with ArcGIS Manager, and while using the Web mapping applications as well.
A new out-of-the-box Print task has been created, and its source code is now part of the code galleries, available from the Developer Help at resources.esri.com. We will continue to post the source code of new tasks in the future.
Working from a developer's point of view, we have fully implemented MS AJAX, allowing developers to follow standard coding patterns in .NET. Java support to AJAX has also been improved. Also, Web ADF Java components are delivered to the NetBeans platform as NetBeans plug-ins that can be updated online in the same way that other standard NetBeans modules can be delivered/updated.
Finally, both the .NET and Java Web ADFs include more comprehensive developer documentation.
Does the Web ADF for .NET 9.3 support Microsoft AJAX 1.0?
At 9.3, ESRI plans to support Web ADF controls with ASP.NET AJAX. For a good discussion on this topic, read the Using ASP.NET AJAX with the Web ADF post on the ArcGIS Server Development blog.
Where can I learn more about best practices or tips and tricks for developing with ArcGIS Server?
For lists of free resources, visit Creating Effective Web Maps. In addition, visit the ArcGIS Server Resource Center for detailed documentation, samples, and code galleries. Subscribe to the ArcGIS Server blog for excellent posts about development tips and tricks and best practices.
Can Bing Maps (formerly Microsoft Virtual Earth) be used in Web mapping applications built on top of ArcGIS Server 9.3.1?
Yes. ArcGIS Server users can access a free 90-day watermarked evaluation of Microsoft Bing Maps that can be leveraged with the .NET ADF as well as JavaScript, Flex, and Silverlight APIs. After the evaluation period, ArcGIS users can purchase an annual subscription.
ArcGIS Server seems oriented to large, integrated systems. Can it be used by small organizations or workgroups?
Yes. ArcGIS Server Standard Workgroup is specifically designed for smaller organizations. For more information about ArcGIS Server editions and levels, see the ArcGIS Server 9.3.1 Functionality Matrix.
Talk to your local ESRI representative to find which configuration of ArcGIS Server is right for your organization.
How can ArcGIS content be exported for visualization in Google Earth?
At 9.3, you can publish your GIS content as Keyhole Markup Language (KML), an XML-based file format used to represent geographic features in applications such as Google Earth and ArcGIS Explorer. If you haven't tried it yet, download ArcGIS Explorer, a free, Google Earth-like application that handles KML easily.
For ArcGIS Desktop, there two new tools in ArcToolbox: Map To KML and Layer To KML. These tools will allow you to publish your GIS content and add it to Google Earth and ArcGIS Explorer. You will literally be able to drag and drop the KML files on those applications to visualize the information. This means you won't have to include basemap information in your map or create a basemap layer, because you'll be using Google Maps or ArcGIS Explorer basemaps.
For ArcGIS Server, any service you create is automatically output as KML as well. Keep in mind that ArcGIS Server services are available to a variety of client applications, including ArcMap, ArcGIS Explorer, Google Earth, Google Maps, and Microsoft Virtual Earth. Check out the services directory Web site for the Portland service hosted on ArcGIS Online. Here, you get metadata about the service, and you can preview the ArcGIS Server service (Portland/Portland_ESRI_LandBase_AGO (MapServer)) that's open to the public in any of those client applications. If you choose Google Earth, you can download the KMZ file for the service, then drop it onto Google Earth or ArcGIS Explorer. If you choose ArcGIS Explorer, you can download the NMF file for the service, then drop it onto ArcGIS Explorer. If you choose ArcGIS JavaScript, you see an interactive map of the service. With ArcGIS Server 9.3, a services directory Web site is automatically generated for every service you create.
Does ESRI support ArcGIS Server in virtualized environments?
Yes. For details, read ArcGIS Server and Virtualization [PDF].
Is there compatibility between ArcGIS Server and ArcIMS products and versions?
Yes. For more information, see the FAQs for compatibility among ArcGIS Server and ArcIMS products and versions. [PDF]
What versions of AutoCAD does ArcGIS for AutoCAD work with?
ArcGIS for AutoCAD requires the .NET API implemented in AutoCAD 2007 and newer versions. AutoCAD 2007, 2008, and 2009 are supported. This includes all AutoCAD-based products that support the AutoCAD .NET 2.0 APIs such as AutoCAD 2007, 2008, and 2009. AutoCAD versions prior to 2007 and AutoCAD LT do not support these APIs required by ArcGIS for AutoCAD.
Can the ArcGIS Mobile SDK connect to ArcGIS Server for Java running on UNIX or Linux?
Yes, the ArcGIS Mobile SDK in ArcGIS Server can be used to connect to ArcGIS Server Advanced editions. The type of Web ADF, .NET, or Java installed on the server does not matter.The server object container (SOC) must be installed on a Windows machine. SOCs installed on Linux and Solaris machines do not work with the ArcGIS Mobile SDK.
Are there instructions for securing ArcGIS Server using a reverse proxy system?
For the complete discussion of using reverse proxy with ArcGIS Server, see ESRI Support Center article 32634.
Use the description objects: Sure the MapServer gives you access to the IMap but you don't have to go there. A lot can be accomplished by using the IMapDescription, ILayerDescription, et al.
Release the ServerContext: In a pooled environment you are sharing the server object with other users. So it's your responsibility to release the context once you have performed your set of operations. For web applications, this translates to releasing the context after every request. Of course, if you are using the ADF, the ADF does that for you so you need not worry. But even then it's good to keep this in mind.
Do not reference server objects after the context has been released: Do you continue to work with the Statement object once the JDBC Connection has been closed? NO. Why? Because aStatement can be executed only while the Connection is live. Similarly, you should not reference ANY server objects once you have released the IServerContext. If you want to persist the state of any server object, you should use the saveObject() method to get a serialized string representation of the object before releasing the context. You can once again rehydrate the object by using theloadObject() method once you have regained access to the context.
In case you had forgotten - use the description objects: Did you know you could add serializable custom graphics to the IMapDescription object?
Use methods exposed by the MapServer: Look at the javadoc for the MapServer and for all the interfaces that it implements. It can do a lot more than you might think - you can export maps, layouts, do queries, identifies, get feature info, handle SOAP requests, and a whole lot more.
Create server objects on the server: You don't create RMI objects on the client. You don't create EJBs on the client. Similarly, you don't create ArcGIS server objects on the client. ALWAYS use theIServerContext.createObject() method to create all and any ArcObject in a server application within your server context at the server.
BTW, use the description objects: Did you know you could change layer visibilities, select features, even set definition expressions with the ILayerDescription object?
This by no means is an exhaustive list but something which might help you when working with the server. Oh yeah, in parting, in case you had missed: use the description objects!
Posted by Keyur Shah
Labels: arcgisserver, bestpractices, esri, java
Are there inexpensive online training resources for ArcGIS Server?
Yes. ESRI provides free, self-paced online training for ArcGIS Server via our popular training seminars. Training seminars deliver focused lectures and demonstrations on the topics most asked for by our customers. Each recorded session lasts approximately 60 minutes.
Check out the top 10 ESRI Training Seminars for ArcGIS Server:
1. Building Mashups Using the ArcGIS APIs for JavaScript
2. Authoring and Publishing Optimized Map Services
3. Using ArcGIS Server Geoprocessing Services
4. Implementing and Optimizing ArcGIS Server Map Caches
5. Publishing KML Services with ArcGIS Server 9.3
6. Building Applications with ArcGIS Server Using the Java Platform
7. Implementing Security for ArcGIS Server 9.3 Java Solutions
8. Implementing Security for ArcGIS Server .NET Solutions
9. ArcGIS Server Setup and Administration
10. Imagery in an Enterprise GIS
How do I create a Web application with ArcGIS Server?
Watch this quick video: Creating a Web Application with ArcGIS Server Manager.
Are there free resources available to help me get started with ArcGIS Server?
Yes. ESRI provides Web help for both ArcGIS Server for the Microsoft .NET Framework and ArcGIS Server for the Java platform. These online documents are excellent resources for understanding important concepts and include valuable tutorials to help you get started quickly. At 9.3, the ArcGIS Server Resource Center provides you with access to online software developer kits (SDKs), sample GIS servers, and online content that you can include in your applications.
Other free resources include
·ArcGIS Server Resource Center
·ESRI Instructional Podcasts and Speaker Series Podcasts
·The ArcGIS Server Development Blog
·The ArcGIS Explorer Blog
·The EDN Web Site Blog
·Inside the Geodatabase
What is ArcGIS Explorer?
ArcGIS Explorer is an easy-to-use geobrowser client for mapping and 3D visualization. It provides a fast and simple way to access the rich functionality of ArcGIS Server. It is intuitive and free. This software is designed to work as a client to ArcGIS Server and can integrate other Web services including OGC WMS, ArcIMS, ArcWeb Services, and KML. ArcGIS Explorer can also read and display local data including shapefiles, file geodatabases, and a wide variety of image formats.
ArcGIS Explorer is not a stand-alone solution but rather an integrated part of the ArcGIS system. ESRI believes that ArcGIS Explorer will be very powerful for GIS organizations to make their GIS knowledge universally available.
Go to the ArcGIS Explorer blog to find out more.
Can you use ArcGIS Server to manage imagery?
Yes. At 9.3, ArcGIS Image Server is integrated with ArcGIS Server as an optional extension: ArcGIS Server Image Extension. For a good overview of ESRI's image management solution, read the ArcUser article, Visualizing an Enterprise Approach to Imagery.
Can I deploy the ArcGIS Web Mapping APIs locally?
Yes. DVD media for the ArcGIS Web Mapping APIs is available for customers with Standard or Advanced editions of ArcGIS Server 9.3 or above, as well as EDN subscribers or users of the Web Mapping APIs for commercial use. ESRI recommends that you use the ArcGIS Web Mapping API SDKs, hosted by ESRI. This will give you access to the latest samples and tutorials as well as additions to the API. If your organization runs on a restricted network with no access to the Internet, you can order any of the ArcGIS Web Mapping APIs from ESRI Customer Service.
Please note that the ArcGIS Web Mapping APIs have a release schedule different from ArcGIS. If you install the APIs locally, you will need to order a new DVD to obtain the latest copy.
What platforms are supported by ArcGIS Server?
See ArcGIS 9.3 System Requirements for details.
What licensing options are offered for ArcGIS Server?
Depending on what features you need and how many simultaneous connections to the multiuser geodatabase you plan to support, you can choose between three editions of ArcGIS Server (Advanced, Standard, and Basic). The functional editions of the product include
·Basic—This edition provides users with a comprehensive GIS server for spatial data management. It focuses on organizing and managing geographic datasets.
·Standard—This edition provides all the features of the Basic edition plus visualization (mapping) and spatial analysis. It also includes 2D mapping and 3D rendering (globe) services; browser-based editing capabilities; and a suite of related features such as geocoding, gazetteer, and routing.
·Advanced—This edition provides all the features of the Standard edition, along with advanced spatial analysis and modeling and a configurable mobile GIS application. The Advanced edition also includes four advanced analysis extensions (3D, Spatial, Network, and Geostatistical) at no additional cost.
Furthermore, each functional edition has levels that define capacity. These levels are
·Workgroup—This level is designed and limited to run on a single machine and includes a SQL Server Express database engine. The Workgroup level supports 10 simultaneous connections to a multiuser geodatabase and 4 GB of data storage on a multiuser geodatabase.
·Enterprise—This level is designed to run and optionally deploy on multiple machines and on a user-defined multiuser database (IBM DB2, Informix Dynamic Server, Microsoft SQL Server, Oracle, or PostgreSQL). The Enterprise level supports unlimited simultaneous connections to a multiuser geodatabase and unlimited storage capacity.
For more information about ArcGIS Server editions and levels, see the ArcGIS Server 9.3.1 Functionality Matrix.
Talk to your local ESRI representative to find which configuration of ArcGIS Server is right for your organization.
How is ArcGIS Server licensed in a virtualized environment?
ArcGIS Server has two licensing options. You can choose to license by the number of cores on either the physical or virtual servers (as described below), whichever is the smaller number.
Option 1: Licensed by the number of cores on the virtual server—When creating a virtual server, a specific hardware server emulation configuration is typically defined. For example, a virtual server could be configured to run on a 2-, 4-, 8-, or 16-core physical server (the physical server does not matter for this option) or could be configured to use the cores from multiple physical servers. If the virtual server is configured as a 4-core virtual server, the license (and the license fee for it) would be a 4-core license. If the virtual server is configured as an 8-core virtual server, then the license and license fee would be a 4-core license with 4 additional cores. In this license model, the number of cores for the virtual server configuration is used to determine the license fee. The number of cores on any physical servers that support the virtual server are notused to determine the license fee.
Option 2: Licensed by the number of cores on the physical servers on which the virtual server is defined—Customers can license the physical servers on which virtual servers are configured. Generally, this model requires that all cores on the physical servers supporting virtual server configurations must be licensed. However, some virtualization technology now supports hardware partitioning. If the customer can document that their virtualization technology supports hardware partitioning, ESRI allows licensing based on the specific hardware resources being utilized by the hardware partition. For example, if the virtualization software supports creating a virtual server that utilizes a particular socket, or specific cores on a socket, then licensing is based on the specific number of physical hardware cores specified. Note: fractional partitioning below the core level still requires that the entire core be counted for licensing purposes. When licensing by the physical server, customers are free to install and run any number of instances of ESRI server software in any virtual servers that they create without the need for additional software licenses, provided that the physical server they are using is properly licensed to run this server software.
In summary, customers can choose whichever option provides the least number of cores to be licensed.
Can an old ESRI Copy Protected (ECP) license registration code be used for licensing newer versions of ESRI software?
No. The ESRI products ArcGIS Server, ArcGIS Engine, and ArcIMS require a new ECP registration code for each released product version.Contact ESRI Customer Service for specific information on product registration, such as obtaining a new registration number or an authorization file.
Do I have to uninstall ArcGIS 9.3 to upgrade to ArcGIS 9.3.1?
Upgrading to ArcGIS 9.3.1 does not require uninstalling ArcGIS 9.3. You can work in mixed environments of ArcGIS 9.3 and ArcGIS 9.3.1 within the same organization since geodatabases, map documents, and APIs did not change between versions.
How do I upgrade my existing ArcGIS Server applications from 9.2 to 9.3?
See the help topic Moving to ArcGIS Server 9.3.
Is an additional license required to install components of ArcGIS Server on another machine (Distributed Setup)?
It depends. At 9.3.1, ArcGIS Server Enterprise users can deploy the following components on multiple machines without paying an additional deployment license fee: Web ADF—SDK or Runtime, Web Service Handlers, and Server Object Manager. If you have ArcGIS Server Workgroup, then yes, you will have to pay additional licensing fees. Talk to your local ESRI representative for more details.
Can I use the Windows XP or Vista operating system as a production environment for ArcGIS Server?
ArcGIS Server 9.3 supports Windows XP and Vista operating systems for basic testing and application development use only. They are not recommended for deployment in a production environment.For more information on Microsoft Vista support, see ESRI Support Center article 34020.
Does ArcGIS Server support 64-bit processors?
ArcGIS on Windows is supported on 64-bit processors with ArcGIS 9.2 Service Pack 3 and higher. Service Pack 3 supports Windows XP 64-bit and Windows 2003 Server 64-bit operating systems. ArcGIS 9.2 Service Pack 3 runs as a 32-bit application on these 64-bit Windows platforms, thereby taking advantage of some of the performance benefits of the 64-bit environment.
ArcGIS Server for .NET and Java and ArcIMS are native 32-bit applications. They are each certified running as a 32-bit application on 64-bit (x64) Microsoft Windows. Web server support is based on the Web server vendor's support of 64-bit Microsoft Windows. Check with a Web server vendor to see if the Web server is supported on 64-bit Microsoft Windows. In addition to Windows, ArcGIS Server for Java and ArcIMS are supported on Solaris and Linux. ArcGIS Server for Java and ArcIMS are both supported in a Solaris 64-bit environment. ArcGIS Server for Java and ArcIMS on 64-bit Linux are not supported.
For more information on 32- and 64-bit support, see ESRI Support Center article 29391.
Can ArcGIS Server and other ArcGIS products be installed on the same Linux or Solaris machine?
Yes, it is possible to install ArcGIS Server and other ArcGIS products on a single Linux/Solaris machine. To prohibit the applications from interfering with one another, ArcGIS Server must be installed with a different user account and in a separate location from the other ArcGIS products. The other ArcGIS products must also be installed in Single User mode, not Multiple User mode. Warning messages are displayed reminding the user of these requirements if conflicts are detected during installation.
What is the difference between the new image service available with ArcGIS Server 9.3 and the new ArcGIS Server Image extension?
An image service is one of the core services available in ArcGIS Server. This means that you can create image services out of the box with the Standard and Advanced editions of ArcGIS Server.
·Image services can be created from any raster dataset in any format.
·Image services provide advanced visualization. For example, ArcGIS Desktop users can connect to an image service and change the band combination of a multiband image.
·Image services provide optimized data transmission. You can adjust the image service for low bandwidth networks.
·Image services can be used as inputs to geoprocessing. For example, ArcGIS Desktop users can use image services with other geoprocessing tools to model geophysical phenomena, such as solar radiation or change detection.
However, to take advantage of all the capabilities an image service has to offer, you will need the ArcGIS Server Image extension, which is available for both Standard and Advanced editions of ArcGIS Server.The Image extension allows you to create a compiled image service definition file (.ISCDef). With ISCDef files, you can define which images are included in the image service; how they will be mosaicked; and other parameters like orthorectification, pan sharpening, and enhancements. This innovative approach to imagery publication reduces the time between imagery acquisition and exploitation.
·The Image extension simplifies image management. For example, not only can you directly publish images in their raw format (without preprocessing) but you can also create an image service from a large number of individual images that may be in different projections, pixel sizes, or locations.
·The Image extension improves the performance of your image services.
·The Image extension allows you to optimize imagery for multiple applications within a single service. For example, elevation data can be served with a range of different renderings.
·The Image extension includes technology that allows you to dynamically change the ordering of overlapping imagery, which is critical for temporal analysis.
·The Image extension also provides detailed metadata about the imagery being viewed.
Find out more about the ArcGIS Server Image extension.
Is there an overview of the enterprise geodatabase architecture?
For a concise overview of the enterprise geodatabase and a list of related resources, read the ArcUser article Enterprise Geodatabase 101. If you just need a basic understanding of the geodatabase, read the Geodatabase Essentials—Part I: What Is the Geodatabase? post on the Inside the Geodatabase blog.
What can I do with my database to improve performance?
Read the Five Best Practices for Maintaining an ArcSDE Geodatabase post on the Inside the Geodatabase blog.
Does ArcGIS Server support an open source enterprise database?
Yes—PostgreSQL. Read the PostgreSQL database support at ArcGIS 9.3 post on the Inside the Geodatabase blog.
How can I learn more about map caching to improve performance?
If you're new to map caching, start with Map caching for beginners and Updating your map caches automatically on theArcGIS Server Development blog. Next, read part 1 ofDeconstructing the map cache tiling scheme. Then read Part 2:Working with map caches programmatically.
You may also be interested in the Creating a 3D globe cache from a 2D map cache post.
Watch the free training seminar, Authoring and Publishing Optimized Map Services.
Tutorials can help you create a map cache and tiling scheme in the Web Help.
Can I have the .NET 2.0 framework and .NET 3.5 framework on the same machine?
Yes. ArcGIS Server for the .NET Framework at 9.3 requires a minimum of .NET Framework 2.0 to run applications, but 2.0 and 3.5 can coexist without issues.
What has ESRI done to improve the Web ADFs?
At 9.3, we have dramatically improved the performance of .NET Web ADF applications by reducing the number of callbacks to the server and optimizing different aspects of the application. We have also worked on improving the user experience while configuring applications with ArcGIS Manager, and while using the Web mapping applications as well.
A new out-of-the-box Print task has been created, and its source code is now part of the code galleries, available from the Developer Help at resources.esri.com. We will continue to post the source code of new tasks in the future.
Working from a developer's point of view, we have fully implemented MS AJAX, allowing developers to follow standard coding patterns in .NET. Java support to AJAX has also been improved. Also, Web ADF Java components are delivered to the NetBeans platform as NetBeans plug-ins that can be updated online in the same way that other standard NetBeans modules can be delivered/updated.
Finally, both the .NET and Java Web ADFs include more comprehensive developer documentation.
Does the Web ADF for .NET 9.3 support Microsoft AJAX 1.0?
At 9.3, ESRI plans to support Web ADF controls with ASP.NET AJAX. For a good discussion on this topic, read the Using ASP.NET AJAX with the Web ADF post on the ArcGIS Server Development blog.
Where can I learn more about best practices or tips and tricks for developing with ArcGIS Server?
For lists of free resources, visit Creating Effective Web Maps. In addition, visit the ArcGIS Server Resource Center for detailed documentation, samples, and code galleries. Subscribe to the ArcGIS Server blog for excellent posts about development tips and tricks and best practices.
Can Bing Maps (formerly Microsoft Virtual Earth) be used in Web mapping applications built on top of ArcGIS Server 9.3.1?
Yes. ArcGIS Server users can access a free 90-day watermarked evaluation of Microsoft Bing Maps that can be leveraged with the .NET ADF as well as JavaScript, Flex, and Silverlight APIs. After the evaluation period, ArcGIS users can purchase an annual subscription.
ArcGIS Server seems oriented to large, integrated systems. Can it be used by small organizations or workgroups?
Yes. ArcGIS Server Standard Workgroup is specifically designed for smaller organizations. For more information about ArcGIS Server editions and levels, see the ArcGIS Server 9.3.1 Functionality Matrix.
Talk to your local ESRI representative to find which configuration of ArcGIS Server is right for your organization.
How can ArcGIS content be exported for visualization in Google Earth?
At 9.3, you can publish your GIS content as Keyhole Markup Language (KML), an XML-based file format used to represent geographic features in applications such as Google Earth and ArcGIS Explorer. If you haven't tried it yet, download ArcGIS Explorer, a free, Google Earth-like application that handles KML easily.
For ArcGIS Desktop, there two new tools in ArcToolbox: Map To KML and Layer To KML. These tools will allow you to publish your GIS content and add it to Google Earth and ArcGIS Explorer. You will literally be able to drag and drop the KML files on those applications to visualize the information. This means you won't have to include basemap information in your map or create a basemap layer, because you'll be using Google Maps or ArcGIS Explorer basemaps.
For ArcGIS Server, any service you create is automatically output as KML as well. Keep in mind that ArcGIS Server services are available to a variety of client applications, including ArcMap, ArcGIS Explorer, Google Earth, Google Maps, and Microsoft Virtual Earth. Check out the services directory Web site for the Portland service hosted on ArcGIS Online. Here, you get metadata about the service, and you can preview the ArcGIS Server service (Portland/Portland_ESRI_LandBase_AGO (MapServer)) that's open to the public in any of those client applications. If you choose Google Earth, you can download the KMZ file for the service, then drop it onto Google Earth or ArcGIS Explorer. If you choose ArcGIS Explorer, you can download the NMF file for the service, then drop it onto ArcGIS Explorer. If you choose ArcGIS JavaScript, you see an interactive map of the service. With ArcGIS Server 9.3, a services directory Web site is automatically generated for every service you create.
Does ESRI support ArcGIS Server in virtualized environments?
Yes. For details, read ArcGIS Server and Virtualization [PDF].
Is there compatibility between ArcGIS Server and ArcIMS products and versions?
Yes. For more information, see the FAQs for compatibility among ArcGIS Server and ArcIMS products and versions. [PDF]
What versions of AutoCAD does ArcGIS for AutoCAD work with?
ArcGIS for AutoCAD requires the .NET API implemented in AutoCAD 2007 and newer versions. AutoCAD 2007, 2008, and 2009 are supported. This includes all AutoCAD-based products that support the AutoCAD .NET 2.0 APIs such as AutoCAD 2007, 2008, and 2009. AutoCAD versions prior to 2007 and AutoCAD LT do not support these APIs required by ArcGIS for AutoCAD.
Can the ArcGIS Mobile SDK connect to ArcGIS Server for Java running on UNIX or Linux?
Yes, the ArcGIS Mobile SDK in ArcGIS Server can be used to connect to ArcGIS Server Advanced editions. The type of Web ADF, .NET, or Java installed on the server does not matter.The server object container (SOC) must be installed on a Windows machine. SOCs installed on Linux and Solaris machines do not work with the ArcGIS Mobile SDK.
Are there instructions for securing ArcGIS Server using a reverse proxy system?
For the complete discussion of using reverse proxy with ArcGIS Server, see ESRI Support Center article 32634.
An overview of disconnected editing
ArcInfo or ArcEditor is required to check data in and out and to edit an ArcSDE check-out geodatabase. You can edit a personal check-out geodatabase with ArcView.
Disconnected editing is supported by two principal mechanisms: checking out andchecking in data. Checking out data from a geodatabase involves taking a copy of some data from one geodatabase, the master geodatabase, and transferring it to another geodatabase, the check-out geodatabase. This copy is undertaken within a framework that allows the data to be reintegrated with the master geodatabase at a later time. Checking in the data from a check-out geodatabase involves establishing whether any changes have been made to the data in the check-out geodatabase and transferring those changes back to the master geodatabase.
OTE: ArcInfo or ArcEditor is required to check data in and out and to edit an ArcSDE check-out geodatabase. You can edit a personal check-out geodatabase with ArcView.
Having identified the data to check out, the check-out process itself involves a number of automated steps. The selected data, along with any related objects, is copied to the designated check-out geodatabase. A new version of the data, the master check-out version, will be created in the master geodatabase as a child of the version to which you are currently connected. This will be created as a public version, accessible to all users in the master geodatabase. This version may be set to private, or hidden from general access, if required. For example, if you are connected to the DEFAULT version, a new version with the same name as the check-out will be created as a child of DEFAULT. This version will receive the changes from a check-out geodatabase when the data is checked in.
If the check-out geodatabase is an ArcSDE geodatabase, then two new versions are created in the check-out geodatabase. The first version, the synchronization version, will be created as a child of the DEFAULT version. This synchronization version will reflect the state of the data at the time the check-out was created and should not be edited. The second version, the check-out version, will be created as a child of the synchronization version. Only the edits made to this version can be checked back into the master geodatabase. Once data has been checked out to an ArcSDE geodatabase, it is automatically registered as versioned. If the check-out geodatabase is a personal geodatabase that does not support versioning, changes to the data are maintained in a separate DBMS table. The check-out process concludes by adding information that describes each check-out to both the master and check-out geodatabases. This information includes the name of the user who created the check-out, the data that has been checked out, the time the check-out was created, and the name of the new check-out version in the master geodatabase.Details about the source of the data, the master geodatabase, are also recorded. This involves storing partial ArcSDE connection information, which will be used during the check-in process. Usernames and passwords are not stored in the check-out geodatabase.
Restrictions
There are some important restrictions to remember when checking out data. First, the version created in the master geodatabase should not be edited while the data it represents is still checked out. Because this check-out version in the master geodatabase is public and, therefore, editable when created, any changes made to this version may be overwritten during the check-in process, since no conflict reconciliation is undertaken at this point.Second, it is not possible to append data to or refresh an existing check-out. You cannot check out an updated version of the same data to a check-out geodatabase while it contains a check-out. You must first check in the original check-out and make a second check-out. Once data has been checked back in, the check-out geodatabase no longer participates in any check-out or check-in relationship with a master geodatabase. However, it is possible to reuse a geodatabase for a new check-out. You can reuse the existing schema in a geodatabase to form a template for a second check-out. If the data to be checked out is complex, reusing the schema in a geodatabase will afford some performance improvements. When creating the new check-out, if the geodatabase to be reused contains an older copy of the data, this will be deleted in preparation for receiving the latest copy of the data from the master geodatabase. If required, additional objects may be included to augment the check-out. Finally, the check-out model does not support schema modifications to data that has been checked out. If the schema is altered in any way, either in the master or check-out geodatabase, for example, by adding a field to a table or feature class, the check-out is rendered invalid, and any attempts to check in the modified schema and data will fail. If a new table has been created in the check-out geodatabase, it will be ignored when the rest of the data is checked in.
Managing check-outs
Once a check-out has been created, any subsequent modifications to the properties of the check-out are made asynchronously. This means that changes made to the properties of a check-out in a master geodatabase are independent of the associated check-out in the check-out geodatabase and vice versa. For example, if a check-out is unregistered in the master geodatabase, this will not unregister the associated check-out in the check-out geodatabase. Similarly, if a check-out is renamed in the master geodatabase, that operation does not rename the check-out in the check-out geodatabase. The name of a check-out in a master geodatabase does not have to match the name of the check-out in the corresponding check-out geodatabase. If a check-out is renamed in the master but not the check-out geodatabase, the data can still be checked in.
OTE: This functionality is not available with ArcView.
As with checking out data, the check-in process involves a number of automated steps. This process begins by establishing what changes have been made to the data in the check-out geodatabase; only these changes will be checked back in to the master geodatabase. If the check-out geodatabase is an ArcSDE geodatabase, a comparison is made between the edited check-out version and the static synchronization version to identify what is different. If the check-out geodatabase is a personal geodatabase, the changes are recorded in a separate DBMS table. The changes are then transferred directly to the check-out version in the master geodatabase; there is no version reconciliation at this point with the check-out version. If the check-out version has been modified since the data was checked out, these changes may be overwritten. Once the data has been checked back in to the master geodatabase, all associated check-out information will be removed, such as the list of datasets checked out, from both the master and the check-out geodatabases. Any versions created in an ArcSDE check-out geodatabase will also be removed. However, the copy of data that was checked out is not removed from the check-out geodatabase. The responsibility for deleting any residual copies of the data once check-in has completed remains with the user or data administrator.The check-in process may optionally involve an additional step of reconciling and posting the changes from the check-out version to its parent version in the master geodatabase. If any conflicts are detected at this stage, they must be resolved using standard geodatabase version reconciliation tools. If no conflicts were detected, the check
Disconnected editing is supported by two principal mechanisms: checking out andchecking in data. Checking out data from a geodatabase involves taking a copy of some data from one geodatabase, the master geodatabase, and transferring it to another geodatabase, the check-out geodatabase. This copy is undertaken within a framework that allows the data to be reintegrated with the master geodatabase at a later time. Checking in the data from a check-out geodatabase involves establishing whether any changes have been made to the data in the check-out geodatabase and transferring those changes back to the master geodatabase.
OTE: ArcInfo or ArcEditor is required to check data in and out and to edit an ArcSDE check-out geodatabase. You can edit a personal check-out geodatabase with ArcView.
Having identified the data to check out, the check-out process itself involves a number of automated steps. The selected data, along with any related objects, is copied to the designated check-out geodatabase. A new version of the data, the master check-out version, will be created in the master geodatabase as a child of the version to which you are currently connected. This will be created as a public version, accessible to all users in the master geodatabase. This version may be set to private, or hidden from general access, if required. For example, if you are connected to the DEFAULT version, a new version with the same name as the check-out will be created as a child of DEFAULT. This version will receive the changes from a check-out geodatabase when the data is checked in.
If the check-out geodatabase is an ArcSDE geodatabase, then two new versions are created in the check-out geodatabase. The first version, the synchronization version, will be created as a child of the DEFAULT version. This synchronization version will reflect the state of the data at the time the check-out was created and should not be edited. The second version, the check-out version, will be created as a child of the synchronization version. Only the edits made to this version can be checked back into the master geodatabase. Once data has been checked out to an ArcSDE geodatabase, it is automatically registered as versioned. If the check-out geodatabase is a personal geodatabase that does not support versioning, changes to the data are maintained in a separate DBMS table. The check-out process concludes by adding information that describes each check-out to both the master and check-out geodatabases. This information includes the name of the user who created the check-out, the data that has been checked out, the time the check-out was created, and the name of the new check-out version in the master geodatabase.Details about the source of the data, the master geodatabase, are also recorded. This involves storing partial ArcSDE connection information, which will be used during the check-in process. Usernames and passwords are not stored in the check-out geodatabase.
Restrictions
There are some important restrictions to remember when checking out data. First, the version created in the master geodatabase should not be edited while the data it represents is still checked out. Because this check-out version in the master geodatabase is public and, therefore, editable when created, any changes made to this version may be overwritten during the check-in process, since no conflict reconciliation is undertaken at this point.Second, it is not possible to append data to or refresh an existing check-out. You cannot check out an updated version of the same data to a check-out geodatabase while it contains a check-out. You must first check in the original check-out and make a second check-out. Once data has been checked back in, the check-out geodatabase no longer participates in any check-out or check-in relationship with a master geodatabase. However, it is possible to reuse a geodatabase for a new check-out. You can reuse the existing schema in a geodatabase to form a template for a second check-out. If the data to be checked out is complex, reusing the schema in a geodatabase will afford some performance improvements. When creating the new check-out, if the geodatabase to be reused contains an older copy of the data, this will be deleted in preparation for receiving the latest copy of the data from the master geodatabase. If required, additional objects may be included to augment the check-out. Finally, the check-out model does not support schema modifications to data that has been checked out. If the schema is altered in any way, either in the master or check-out geodatabase, for example, by adding a field to a table or feature class, the check-out is rendered invalid, and any attempts to check in the modified schema and data will fail. If a new table has been created in the check-out geodatabase, it will be ignored when the rest of the data is checked in.
Managing check-outs
Once a check-out has been created, any subsequent modifications to the properties of the check-out are made asynchronously. This means that changes made to the properties of a check-out in a master geodatabase are independent of the associated check-out in the check-out geodatabase and vice versa. For example, if a check-out is unregistered in the master geodatabase, this will not unregister the associated check-out in the check-out geodatabase. Similarly, if a check-out is renamed in the master geodatabase, that operation does not rename the check-out in the check-out geodatabase. The name of a check-out in a master geodatabase does not have to match the name of the check-out in the corresponding check-out geodatabase. If a check-out is renamed in the master but not the check-out geodatabase, the data can still be checked in.
OTE: This functionality is not available with ArcView.
As with checking out data, the check-in process involves a number of automated steps. This process begins by establishing what changes have been made to the data in the check-out geodatabase; only these changes will be checked back in to the master geodatabase. If the check-out geodatabase is an ArcSDE geodatabase, a comparison is made between the edited check-out version and the static synchronization version to identify what is different. If the check-out geodatabase is a personal geodatabase, the changes are recorded in a separate DBMS table. The changes are then transferred directly to the check-out version in the master geodatabase; there is no version reconciliation at this point with the check-out version. If the check-out version has been modified since the data was checked out, these changes may be overwritten. Once the data has been checked back in to the master geodatabase, all associated check-out information will be removed, such as the list of datasets checked out, from both the master and the check-out geodatabases. Any versions created in an ArcSDE check-out geodatabase will also be removed. However, the copy of data that was checked out is not removed from the check-out geodatabase. The responsibility for deleting any residual copies of the data once check-in has completed remains with the user or data administrator.The check-in process may optionally involve an additional step of reconciling and posting the changes from the check-out version to its parent version in the master geodatabase. If any conflicts are detected at this stage, they must be resolved using standard geodatabase version reconciliation tools. If no conflicts were detected, the check
Dot Net Information
1 :: How many languages .NET is supporting now?
When .NET was introduced it came with several languages. VB.NET, C#, COBOL and Perl, etc. The site DotNetLanguages.Net says 44 languages are supported by .NET
2 :: How is .NET able to support multiple languages?
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.
3 :: How ASP .NET different from ASP?
Scripting is separated from the HTML, Code is compiled as a DLL, these DLLs can be executed on the server.
4 :: What is smart navigation in .NET?
The cursor position is maintained when the page gets refreshed due to the server side validation and the page gets refreshed.
5 :: What is view state in .NET?
The web is stateless. But in ASP.NET, the state of a page is maintained in the in the page itself automatically. How? The values are encrypted and saved in hidden controls. this is done automatically by the ASP.NET. This can be switched off / on for a single control
Basic Dot Net Interview Questions and Answers.
Basic Dot Net questions updated at 19 Feb 09 in Category Computer Programming and visited 82832 Times
Select Question To View Answers
Dot Net Questions and Answers:
·
6 :: How do you validate the controls in an ASP .NET page?
Using special validation controls that are meant for validation of any controle. We have Range Validator, Email Validator in .NET to validate any control.
7 :: Can the validation be done in the server side? Or this can be done only in the Client side?
Client side is done by default. Server side validation is also possible in .NET. We can switch off the client side and server side can be done only in .NET
8 :: How to manage pagination in a page using .NET?
Using pagination option in DataGrid control is available in .NET. We have to set the number of records for a page, then it takes care of pagination by itself automatically.
9 :: What is ADO .NET and what is difference between ADO and ADO.NET?
ADO.NET is stateless mechanism. I can treat the ADO.Net as a separate in-memory database where in I can use relationships between the tables and select insert and updates to the database. I can update the actual database as a batch
10 :: Observations between VB.NET and VC#.NET?
Choosing a programming language depends on your language experience and the scope of the application you are building. While small applications are often created using only one language, it is not uncommon to develop large applications using multiple languages.For example, if you are extending an application with existing XML Web services, you might use a scripting language with little or no programming effort. For client-server applications, you would probably choose the single language
you are most comfortable with for the entire application. For new enterprise applications,
where large teams of developers create components and services for deployment across multiple
remote sites, the best choice might be to use several languages depending on developer
skills and long-term maintenance expectations.The .NET Platform programming languages - including Visual Basic .NET, Visual C#, and Visual C++ with managed extensions, and many other programming languages from various vendors - use .NET Framework services and features through a common set of unified classes. The .NET unified classes provide a consistent method of accessing the platform's
functionality. If you learn to use the class library, you will find that all tasks follow the same uniform architecture. You no longer need to learn and master different API architectures to write your applications
11 :: Advantages of migrating to VB.NET?
Visual Basic .NET has many new and improved language features — such as inheritance, interfaces, and overloading that make it a powerful object-oriented programming language. As a Visual Basic developer, you can now create multithreaded, scalable applications using explicit multithreading. Other new language features in Visual Basic .NET include structured exception handling, custom attributes, and common language specification (CLS) compliance.The CLS is a set of rules that standardizes such things as data types and how objects are exposed and interoperate. Visual Basic .NET adds several features that take advantage of the CLS. Any CLS-compliant language can use the classes, objects, and components you create in Visual Basic .NET. And you, as a Visual Basic user, can access classes, components, and objects from other CLS-compliant programming languages without worrying about language-specific differences such as data types.CLS features used by Visual Basic .NET programs include assemblies, namespaces, and attributes.
12 :: Advantages of VB.NET?
1. First of all, VB.NET provides managed code execution that runs under the Common Language Runtime (CLR), resulting in robust, stable and secure applications. All features of the .NET framework are readily available in VB.NET.2. VB.NET is totally object oriented. This is a major addition that VB6 and other earlier releases didn't have.3. The .NET framework comes with ADO.NET, which follows the disconnected paradigm, i.e. once the required records are fetched the connection no longer exists. It also retrieves the records that are expected to be accessed in the immediate future. This enhances Scalability of the application to a great extent.4. VB.NET uses XML to transfer data between the various layers in the DNA Architecture i.e. data are passed as simple text strings.5. Error handling has changed in VB.NET. A new Try-Catch-Finally block has been introduced to handle errors and exceptions as a unit, allowing appropriate action to be taken at the place the error occurred thus discouraging the use of ON ERROR GOTO statement. This again credits to the maintainability of the code.
13 :: Using ActiveX Control in .Net?
ActiveX control is a special type of COM component that supports a User Interface. Using ActiveX Control in your .Net Project is even easier than using COM component. They are bundled usually in .ocx files. Again a proxy assembly is made by .Net utility AxImp.exe (which we will see shortly) which your application (or client) uses as if it is a .Net control or assembly.Making Proxy Assembly For ActiveX Control: First, a proxy assembly is made using AxImp.exe (acronym for ActiveX Import) by writing following command on Command Prompt:C:> AxImp C:MyProjectsMyControl.ocxThis command will make two dlls, e.g., in case of above commandMyControl.dllAxMyControl.dllThe first file MyControl.dll is a .Net assembly proxy, which allows you to reference the ActiveX as if it were non-graphical object.The second file AxMyControl.dll is the Windows Control, which allows u to use the graphical aspects of activex control and use it in the Windows Form Project.Adding Reference of ActiveX Proxy Assembly in your Project Settings: To add a reference of ActiveX Proxy Assembly in our Project, do this:
14 :: What is Machine.config in .NET?
Machine configuration file: The machine.config file contains settings that apply to the entire computer. This file is located in the %runtime install path%Config directory. There is only one machine.config file on a computer. The Machine.Config file found in the "CONFIG" subfolder of your .NET Framework install directory (c:WINNTMicrosoft.NETFramework{Version Number}CONFIG on Windows 2000 installations). The machine.config, which can be found in the directory $WINDIR$Microsoft.NETFrameworkv1.0.3705CONFIG, is an XML-formatted configuration file that specifies configuration options for the machine. This file contains, among many other XML elements, a browserCaps element. Inside this element are a number of other elements that specify parse rules for the various User-Agents, and what properties each of these parsings supports.For example, to determine what platform is used, a filter element is used that specifies how to set the platform property based on what platform name is found in the User-Agent string. Specifically, the machine.config file contains:platform=Win95platform=Win98platform=WinNT...
15 :: What is Web.config in .NET?
In classic ASP all Web site related information was stored in the metadata of IIS. This had the disadvantage that remote Web developers couldn't easily make Web-site configuration changes. For example, if you want to add a custom 404 error page, a setting needs to be made through the IIS admin tool, and you're Web host will likely charge you a flat fee to do this for you. With ASP.NET, however, these settings are moved into an XML-formatted text file (Web.config) that resides in the Web site's root directory. Through Web.config you can specify settings like custom 404 error pages, authentication and authorization settings for the Web sitempilation options for the ASP.NET Web pages, if tracing should be enabled, etc. The Web.config file is an XML-formatted file. At the root level is the tag. Inside this tag you can add a number of other tags, the most common and useful one being the system.web tag, where you will specify most of the Web site configuration parameters. However, to specify application-wide settings you use the tag.For example, if we wanted to add a database connection string parameter we could have a Web.config file like so.
16 :: What is the difference between ADO and ADO.NET?
ADO uses Recordsets and cursors to access and modify data. Because of its inherent design, Recordset can impact performance on the server side by tying up valuable resources. In addition, COM marshalling - an expensive data conversion process - is needed to transmit a Recordset. ADO.NET addresses three important needs that ADO doesn't address:1. Providing a comprehensive disconnected data-access model, which is crucial to the Web environment2. Providing tight integration with XML, and3. Providing seamless integration with the .NET Framework (e.g., compatibility with the base class library's type system). From an ADO.NET implementation perspective, the Recordset object in ADO is eliminated in the .NET architecture. In its place, ADO.NET has several dedicated objects led by the DataSet object and including the DataAdapter, and DataReader objects to perform specific tasks. In addition, ADO.NET DataSets operate in disconnected state whereas the ADO RecordSet objects operated in a fully connected state.In ADO, the in-memory representation of data is the recordset. In ADO.NET, it is the dataset. A recordset looks like a single table. If a recordset is to contain data from multiple database tables, it must use a JOIN query, which assembles the data from the various database tables into a single result table. In contrast, a dataset is a collection of one or more tables.
17 :: What is the difference between VB and VB.NET?
Now VB.NET is object-oriented language. The following are some of the differences:Data Type ChangesThe .NET platform provides Common Type System to all the supported languages. This means that all the languages must support the same data types as enforced by common language runtime. This eliminates data type incompatibilities between various languages. For example on the 32-bit Windows platform, the integer data type takes 4 bytes in languages like C++ whereas in VB it takes 2 bytes. Following are the main changes related to data types in VB.NET:. Under .NET the integer data type in VB.NET is also 4 bytes in size.. VB.NET has no currency data type. Instead it provides decimal as a replacement.. VB.NET introduces a new data type called Char. The char data type takes 2 bytes and can store Unicode characters.. VB.NET do not have Variant data type. To achieve a result similar to variant type you can use Object data type. (Since every thing in .NET including primitive data types is an object, a variable of object type can point to any data type).. In VB.NET there is no concept of fixed length strings.. In VB6 we used the Type keyword to declare our user-defined structures. VB.NET introduces the structure keyword for the same purpose.Declaring VariablesConsider this simple example in VB6:Dim x,y as integer
18 :: What is a Strong Name in .NET?
A strong name consists of the assembly's identity its simple text name, version number, and culture information (if provided) plus a public key and a digital signature. It is generated from an assembly file (the file that contains the assembly manifest, which in turn contains the names and hashes of all the files that make up the assembly), using the corresponding private key. Assemblies with the same strong name are expected to be identical.Strong names guarantee name uniqueness by relying on unique key pairs. No one can generate the same assembly name that you can, because an assembly generated with one private key has a different name than an assembly generated with another private key.When you reference a strong-named assembly, you expect to get certain benefits, such as versioning and naming protection. If the strong-named assembly then references an assembly with a simple name, which does not have these benefits, you lose the benefits you would derive from using a strong-named assembly and revert to DLL conflicts. Therefore, strong-named assemblies can only reference other strong-named assemblies.There are two ways to sign an assembly with a strong name:1. Using the Assembly Linker (Al.exe) provided by the .NET Framework SDK.2. Using assembly attributes to insert the strong name information in your code. You can use either the AssemblyKeyFileAttribute or the AssemblyKeyNameAttribute, depending
19 :: What is a Manifest in .NET?
An assembly manifest contains all the metadata needed to specify the assembly's version requirements and security identity, and all metadata needed to define the scope of the assembly and resolve references to resources and classes. The assembly manifest can be stored in either a PE (Portable Executable) file (an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a standalone PE (Portable Executable) file that contains only assembly manifest information. The following table shows the information contained in the assembly manifest. The first four items the assembly name, version number, culture, and strong name information make up the assembly's identity.Assembly name: A text string specifying the assembly's name.Version number: A major and minor version number, and a revision and build number. The common language runtime uses these numbers to enforce version policy.Culture: Information on the culture or language the assembly supports. This information should be used only to designate an assembly as a satellite assembly containing culture- or language-specific information. (An assembly with culture information is automatically assumed to be a satellite assembly.) Strong name information: The public key from the publisher if the assembly has been given a strong name. List of all files in the assembly:
20 :: Creating a Key Pair in .NET?
You can create a key pair using the Strong Name tool (Sn.exe). Key pair files usually have an .snk extension. To create a key pair At the command prompt, type the following command:sn kIn this command, file name is the name of the output file containing the key pair. The following example creates a key pair called sgKey.snk.sn -k sgKey.snk
21 :: What is the difference between "using System.Data;" and directly adding the reference from "Add References Dialog Box"?
When u compile a program using command line, u add the references using /r switch. When you compile a program using Visual Studio, it adds those references to our assembly, which are added using "Add Reference" dialog box. While "using" statement facilitates us to use classes without using their fully qualified names.For example: if u have added a reference to "System.Data.SqlClient" using "Add Reference" dialog box then u can use SqlConnection class like this:System.Data.SqlClient.SqlConnectionBut if u add a "using System.Data.SqlClient" statement at the start of ur code then u can directly use SqlConnection class.On the other hand if u add a reference using "using System.Data.SqlClient" statement, but don't add it using "Add Reference" dialog box, Visual Studio will give error message while we compile the program.
22 :: What is GAC in .NET?
The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to. Assemblies deployed in the global assembly cache must have a strong name. When an assembly is added to the global assembly cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change. Use a developer tool called the Global Assembly Cache tool (Gacutil.exe), provided by the .NET Framework SDK or Use Windows Explorer to drag assemblies into the cache. To install a strong-named assembly into the global assembly cache At the command prompt, type the following command:gacutil IIn this command, assembly name is the name of the assembly to install in the global assembly cache.
23 :: What is a Metadata in .NET?
Metadata is information about a PE. In COM, metadata is communicated through non-standardized type libraries.In .NET, this data is contained in the header portion of a COFF-compliant PE and follows certain guidelines; it contains information such as the assembly’s name, version, language (spoken, not computera.k.a., culture), what external types are referenced, what internal types are exposed, methods, properties, classes, and much more.The CLR uses metadata for a number of specific purposes. Security is managed through a public key in the PE’s header.Information about classes, modules, and so forth allows the CLR to know in advance what structures are necessary. The class loader component of the CLR uses metadata to locate specific classes within assemblies, either locally or across networks.Just-in-time (JIT) compilers use the metadata to turn IL into executable code.Other programs take advantage of metadata as well.A common example is placing a Microsoft Word document on a Windows 2000 desktop. If the document file has completed comments, author, title, or other Properties metadata, the text is displayed as a tool tip when a user hovers the mouse over the document on the desktop. You can use the Ildasm.exe utility to view the metadata in a PE. Literally, this tool is an IL disassembler.
24 :: What is managed code and managed data in .NET?
Managed code is code that is written to target the services of the Common Language Runtime.In order to target these services, the code must provide a minimum level of information (metadata) to the runtime.All C#, Visual Basic .NET, and JScript .NET code is managed by default.Visual Studio .NET C++ code is not managed by default, but the compiler can produce managed code by specifying a command-line switch (/CLR).Closely related to managed code is managed data--data that is allocated and de- allocated by the Common Language Runtime's garbage collector. C#, Visual Basic, and JScript .NET data is managed by default.C# data can, however, be marked as unmanaged through the use of special keywords.Visual Studio .NET C++ data is unmanaged by default (even when using the /CLR switch), but when using Managed Extensions for C++, a class can be marked as managed using the __gc keyword. As the name suggests, this means that the memory for instances of the class is managed by the garbage collector.In addition, the class becomes a full participating member of the .NET Framework community, with the benefits and restrictions that it brings. An example of a benefit is proper interoperability with classes written in other languages (for example, a managed C++ class can inherit from a Visual Basic class).An example of a restriction is that a managed class can only inherit from one base class.
25 :: What is .NET and .NET Framework?
It is a Framework in which Windows applications may be developed and run. The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries, and a componentized version of Active Server Pages called ASP.NET. The .NET Framework provides a new programming model and rich set of classes designed to simplify application development for Windows, the Web, and mobile devices. It provides full support for XML Web services, contains robust security features, and delivers new levels of programming power. The .NET Framework is used by all Microsoft languages including Visual C#, Visual J#, and Visual C++.
26 :: What is Reflection in .NET?
It extends the benefits of metadata by allowing developers to inspect and use it at runtime. For example, dynamically determine all the classes contained in a given assembly and invoke their methods. Reflection provides objects that encapsulate assemblies, modules, and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object. You can then invoke the type's methods or access its fields and properties. Namespace: System.Reflection
27 :: What is "Common Type System" (CTS) in .NET?
CTS defines all of the basic types that can be used in the .NET Framework and the operations performed on those type.All this time we have been talking about language interoperability, and .NET Class Framework. None of this is possible without all the language sharing the same data types. What this means is that an int should mean the same in VB, VC++, C# and all other .NET compliant languages. This is achieved through introduction of Common Type System (CTS).
28 :: What is "Common Language Specification" (CLS) in .NET?
CLS is the collection of the rules and constraints that every language (that seeks to achieve .NET compatibility) must follow. It is a subsection of CTS and it specifies how it shares and extends one another libraries.
29 :: What is "Common Language Runtime" (CLR) in .NET?
CLR is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that converts a MSIL code into the host machine language code, which is then executed appropriately. The CLR is the execution engine for .NET Framework applications. It provides a number of services, including:- Code management (loading and execution)- Application memory isolation- Verification of type safety- Conversion of IL to native code.- Access to metadata (enhanced type information)- Managing memory for managed objects- Enforcement of code access security- Exception handling, including cross-language exceptions- Interoperation between managed code, COM objects, and pre-existing DLL's (unmanaged code and data)- Automation of object layout- Support for developer services (profiling, debugging, and so on)
30 :: What are Attributes in .NET?
Attributes are declarative tags in code that insert additional metadata into an assembly. There exist two types of attributes in the .NET Framework: Predefined attributes such as Assembly Version, which already exist and are accessed through the Runtime Classes; and custom attributes, which you write yourself by extending the System.Attribute class.
31 :: What are the Types of Assemblies in .NET?
Assemblies are of two types:1. Private Assemblies2. Shared AssembliesPrivate Assemblies: The assembly is intended only for one application. The files of that assembly must be placed in the same folder as the application or in a sub folder. No other application will be able to make a call to this assembly. The advantage of having a private assembly is that, it makes naming the assembly very easy, since the developer need not worry about name clashes with other assemblies. As long as the assembly has a unique name within the concerned application, there won't be any problems.Shared Assemblies: If the assembly is to be made into a Shared Assembly, then the naming conventions are very strict since it has to be unique across the entire system. The naming conventions should also take care of newer versions of the component being shipped. These are accomplished by giving the assembly a Shared Name. Then the assembly is placed in the global assembly cache, which is a folder in the file system reserved for shared assemblies.
32 :: What is an Intermediate language?
Assemblies are made up of IL code modules and the metadata that describes them. Although programs may be compiled via an IDE or the command line, in fact, they are simply translated into IL, not machine code. The actual machine code is not generated until the function that requires it is called. This is the just-in-time, or JIT, compilation feature of .NET. JIT compilation happens at runtime for a variety of reasons, one of the most ambitious being Microsoft's desire for cross-platform .NET adoption. If a CLR is built for another operating system (UNIX or Mac), the same assemblies will run in addition to the Microsoft platforms. The hope is that .NET assemblies are write-once-run-anywhere applications. This is a .NET feature that works behind-the-scenes, ensuring that developers are not limited to writing applications for one single line of products. No one has demonstrated whether or not this promise will ever truly materialize.CTS/CLSThe MSIL Instruction Set Specification is included with the .NET SDK, along with the IL Assembly Language Programmers Reference. If a developer wants to write custom .NET programming languages, these are the necessary specifications and syntax. The CTS and CLS define the types and syntax's that every .NET language needs to embrace. An application may not expose these features, but it must consider them when communicating through IL.
33 :: ASP.NET Authentication Providers and IIS Security?
ASP.NET implements authentication using authentication providers, which are code modules that verify credentials and implement other security functionality such as cookie generation. ASP.NET supports the following three authentication providers:Forms Authentication: Using this provider causes unauthenticated requests to be redirected to a specified HTML form using client side redirection. The user can then supply logon credentials, and post the form back to the server. If the application authenticates the request (using application-specific logic), ASP.NET issues a cookie that contains the credentials or a key for reacquiring the client identity. Subsequent requests are issued with the cookie in the request headers, which means that subsequent authentications are unnecessary.Passport Authentication: This is a centralized authentication service provided by Microsoft that offers a single logon facility and membership services for participating sites. ASP.NET, in conjunction with the Microsoft® Passport software development kit (SDK), provides similar functionality as Forms Authentication to Passport users.Windows Authentication: This provider utilizes the authentication capabilities of IIS. After IIS completes its authentication, ASP.NET uses the authenticated identity's token to authorize access.To enable a specified authentication provider for an ASP.NET application, you must create an entry in the applicati
34 :: What is the difference between ASP and ASP.NET?
ASP is interpreted. ASP.NET Compiled event base programming.Control events for text button can be handled at client javascript only. Since we have server controls events can handle at server side.More error handling.ASP .NET has better language support, a large set of new controls and XML based components, and better user authentication.ASP .NET provides increased performance by running compiled code.ASP .NET code is not fully backward compatible with ASP.ASP .NET also contains a new set of object oriented input controls, like programmable list boxes, validation controls. A new data grid control supports sorting, data paging, and everything you expect from a dataset control. The first request for an ASP.NET page on the server will compile the ASP .NET code and keep a cached copy in memory. The result of this is greatly increased performance.ASP .NET is not fully compatible with earlier versions of ASP, so most of the old ASP code will need some changes to run under ASP .NET. To overcome this problem,ASP .NET uses a new file extension ".aspx". This will make ASP .NET applications able to run side by side with standard ASP applications on the same server.
35 :: Using COM Component in .Net?
As most of you know that .Net does not encourage the development of COM components and provides a different solution to making reusable components through Assemblies. But, there are a lot of COM components present which our .Net application might need to use. Fortunately, .Net provides an extremely simple approach to achieve this. This is achieved by using ‘Wrapper Classes’ and ‘Proxy Components’. .Net wraps the COM component into .Net assembly technically called ‘Runtime Callable Wrapper’ or RCW. Then u can call and use your COM component just as a .Net (or C#, if u are using C#) Assembly.
36 :: What is an assembly in .NET?
An assembly is the primary building block of a .NET Framework application. It is a collection of functionality that is built, versioned, and deployed as a single implementation unit (as one or more files). All managed types and resources are marked either as accessible only within their implementation unit, or as accessible by code outside that unit. .NET Assembly contains all the metadata about the modules, types, and other elements it contains in the form of a manifest. The CLR loves assemblies because differing programming languages are just perfect for creating certain kinds of applications. For example, COBOL stands for Common Business-Oriented Language because it’s tailor-made for creating business apps. However, it’s not much good for creating drafting programs. Regardless of what language you used to create your modules, they can all work together within one Portable Executable Assembly. There’s a hierarchy to the structure of .NET code. That hierarchy is Assembly - > Module -> Type -> Method." Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in portable executable (PE) files.
37 :: What is a Web Service in .NET?
A web service is a software component that exposes itself through the open communication channels of the Internet. Applications running on remote machines, on potentially different platforms, can access these components in a language and platform-independent manner. A Web Service is a group of functions, packaged together for use in a common framework throughout a network.
38 :: Explain webFarm Vs webGardens in .NET?
A web farm is a multi-server scenario. So we may have a server in each state of US. If the load on one server is in excess then the other servers step in to bear the brunt.How they bear it is based on various models.1. RoundRobin. (All servers share load equally)2. NLB (economical)3. HLB (expensive but can scale up to 8192 servers)4. Hybrid (of 2 and 3).5. CLB (Component load balancer).A web garden is a multi-processor setup. i.e., a single server (not like the multi server above).How to implement webfarms in .Net:Go to web.config and Here for mode = you have 4 options.a) Say mode=inproc (non web farm but fast when you have very few customers).b) Say mode = StateServer (for webfarm)c) Say mode = SqlServer (for webfarm)Whether to use option b or c depends on situation. StateServer is faster but SqlServer is more reliable and used for mission critical applications.How to use webgardens in .Net:Go to web.config and Change the false to true. You have one more attribute that is related to webgarden in the same tag called cpuMask.
39 :: What is the difference between a namespace and assembly name in .NET?
A namespace is a logical naming scheme for types in which a simple type name, such as MyType, is preceded with a dot-separated hierarchical name. Such a naming scheme is completely under control of the developer. For example, types MyCompany.FileAccess.A and MyCompany.FileAccess.B might be logically expected to have functionally related to file access. The .NET Framework uses a hierarchical naming scheme for grouping types into logical categories of related functionality, such as the ASP.NET application framework, or remoting functionality. Design tools can make use of namespaces to make it easier for developers to browse and reference types in their code. The concept of a namespace is not related to that of an assembly. A single assembly may contain types whose hierarchical names have different namespace roots, and a logical namespace root may span multiple assemblies. In the .NET Framework, a namespace is a logical design-time naming convenience, whereas an assembly establishes the name scope for types at run time.
40 :: What’s a Windows process in .NET?
Windows process is an application that’s running and had been allocated memory in .NET
41 :: What’s typical about a Windows process in regards to memory allocation in .NET?
Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.
42 :: Explain what relationship is between a Process, Application Domain, and Application?
Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.A process is an instance of a running application. An application is an executable on the hard drive or network. There can be numerous processes launched of the same application (5 copies of Word running), but 1 process can run just 1 application.
43 :: 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.
44 :: 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 information. Web Services are best when you need to communicate with an external organization or another (non-.NET) technology.
45 :: 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.
46 :: 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.
47 :: 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.
48 :: 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.
49 :: What is a formatter in .NET?
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.
50 :: Choosing between HTTP and TCP for protocols and Binary and SOAP for formatters, what are the trade-offs?
Binary over TCP is the most efficient, SOAP over HTTP is the most interoperable in .NET.
51 :: What’s SingleCall activation mode used for in .NET?
If the server object is instantiated for responding to just one single request, the request should be made in SingleCall mode in .NET
52 :: What’s Singleton activation mode in .NET?
A single object is instantiated regardless of the number of clients accessing it. Lifetime of this object is determined by lifetime lease.
53 :: How do you define the lease of the object in .NET?
By implementing ILease interface when writing the class code in .NET
54 :: 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.
55 :: How can you automatically generate interface for the remotable object in .NET with Microsoft tools?
Use the Soapsuds tool to generate automatically interface for the remotable object in .NET with Microsoft tools.
56 :: What is Delegation in .NET?
A delegate acts like a strongly type function pointer. Delegates can invoke the methods that they reference without making explicit calls to those methods.Delegate is an entity that is entrusted with the task of representation, assign or passing on information. In code sense, it means a Delegate is entrusted with a Method to report information back to it when a certain task (which the Method expects) is accomplished outside the Method's class.
57 :: What is "Microsoft Intermediate Language" (MSIL)?
A .NET programming language (C#, VB.NET, J# etc.) does not compile into executable code; instead it compiles into an intermediate code called Microsoft Intermediate Language (MSIL). As a programmer one need not worry about the syntax of MSIL - since our source code in automatically converted to MSIL. The MSIL code is then send to the CLR (Common Language Runtime) that converts the code to machine language, which is, then run on the host machine. MSIL is similar to Java Byte code. MSIL is the CPU-independent instruction set into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects. Combined with metadata and the common type system, MSIL allows for true cross- language integration Prior to execution, MSIL is converted to machine code. It is not interpreted.
58 :: Differences between Datagrid, Datalist and Repeater in .NET?
1. Datagrid has paging while Datalist doesn't.2. Datalist has a property called repeat. Direction = vertical/horizontal. (This is of great help in designing layouts). This is not there in Datagrid.3. A repeater is used when more intimate control over html generation is required.4. When only checkboxes/radiobuttons are repeatedly served then a checkboxlist or radiobuttonlist are used as they involve fewer overheads than a Datagrid.The Repeater repeats a chunk of HTML you write, it has the least functionality of the three. DataList is the next step up from a Repeater; accept you have very little control over the HTML that the control renders. DataList is the first of the three controls that allow you Repeat-Columns horizontally or vertically. Finally, the DataGrid is the motherload. However, instead of working on a row-by-row basis, you’re working on a column-by-column basis. DataGrid caters to sorting and has basic paging for your disposal. Again you have little control, over the HTML. NOTE: DataList and DataGrid both render as HTML tables by default. Out of the 3 controls, I use the Repeater the most due to its flexibility w/ HTML. Creating a Pagination scheme isn't that hard, so I rarely if ever use a DataGrid.Occasionally I like using a DataList because it allows me to easily list out my records in rows of three for instance.
59 :: I am constantly writing the drawing procedures with System.Drawing.Graphics, but having to use the try and dispose blocks is too time-consuming with Graphics objects. Can I automate this?
Yes, the codeSystem.Drawing.Graphics canvas = new System.Drawing.Graphics();try{//some code}finallycanvas.Dispose();is functionally equivalent tousing (System.Drawing.Graphics canvas = new System.Drawing.Graphics()){//some code} //canvas.Dispose() gets called automatically
60 :: How do you trigger the Paint event in System.Drawing?
Invalidate the current form, the OS will take care of repainting. The Update method forces the repaint.
61 :: With these events, why wouldn’t Microsoft combine Invalidate and Paint, so that you wouldn’t have to tell it to repaint, and then to force it to repaint?
Painting is the slowest thing the OS does, so usually telling it to repaint, but not forcing it allows for the process to take place in the background.
62 :: How can you assign an RGB color to a System.Drawing.Color object?
Call the static method FromArgb of this class and pass it the RGB values in .NET
63 :: What class does Icon derive from? Isn’t it just a Bitmap with a wrapper name around it?
No, Icon lives in System.Drawing namespace. It’s not a Bitmap by default, and is treated separately by .NET. However, you can use ToBitmap method to get a valid Bitmap object from a valid Icon object.
64 :: Before in my VB app I would just load the icons from DLL. How can I load the icons provided by .NET dynamically?
By using System.Drawing.SystemIcons class, for example System.Drawing.SystemIcons.Warning produces an Icon with a warning sign in it.
65 :: When displaying fonts, what’s the difference between pixels, points and ems?
A pixel is the lowest-resolution dot the computer monitor supports. Its size depends on user’s settings and monitor size. A point is always 1/72 of an inch. An em is the number of pixels that it takes to display the letter M.
Basic Dot Net Interview Questions and Answers.
Basic Dot Net questions updated at 19 Feb 09 in Category Computer Programming and visited 82844 Times
Select Question To View Answers
Dot Net Questions and Answers:
·
66 :: What is the difference between VB 6 and VB.NET?
VB1,Object-based Language2,Doesnot support Threading3,Not powerful Exception handling mechanism4,Doesnot having support for the console based applications5,Cannot use more than one version of com objects in vb application called DLL error6,Doesnot support for the Disconnected data source.VB.Net1,Object-oriented Language2,supports Threading3,powerful Exception handling mechanism4,having support for the console based applications5,More than one version of dll is supported6,supports the Disconnected data source by using Dataset class
67 :: What are the authentication methods in .NET?
There are 4 types of authentications.1.WINDOWS AUTHENTICATION2.FORMS AUTHENTICATION3.PASSPORT AUTHENTICATION4.NONE/CUSTOM AUTHENTICATIONThe authentication option for the ASP.NET application is specified by using the tag in the Web.config file, as shown below:other authentication options1. WINDOWS AUTHENTICATION SchemesI. Integrated Windows authenticationII. Basic and basic with SSL authenticationIII. Digest authenticationIV. Client Certificate authentication2. FORMS AUTHENTICATIONYou, as a Web application developer, are supposed to develop the Web page and authenticate the user by checking the provided user ID and password against some user database3.PASSPORT AUTHENTICATIONA centralized service provided by Microsoft, offers a single logon point for clients. Unauthenticated users are redirected to the Passport site4 NONE/CUSTOM AUTHENTICATION:If we don’t want ASP.NET to perform any authentication, we can set the authentication mode to “none”. The reason behind this decision could be: We don’t want to authenticate our users, and our Web site is open for all to use. We want to provide our own custom authentication
68 :: What is Serialization in .NET?
The serialization is the process of converting the objects into stream of bytes.they or used for transport the objects(via remoting) and persist objects(via files and databases)
69 :: What’s the use of System.Diagnostics.Process class in .NET?
By using System.Diagnostics.Process class, we can provide access to the files which are presented in the local and remote system.Example: System.Diagnostics.Process(”c:globalguidelineexample.txt”) — local fileSystem.Diagnostics.Process(”http://www.globalguideline.comexample.txt”) — remote file
70 :: Difference Abstract class and Interface in .NET?
Abstract class: This class has abstract methods (no body). This class cannot be instantiated. One needs to provide the implementation of the methods by overriding them in the derived class. No Multiple Inheritance.Interfaces: Interface class contains all abstract methods which are public by default. All of these methods must be implemented in the derived class. One can inherit from from more than one interface thus provides for Multiple Inheritance.
71 :: Explain re-clarification of object based in .NET?
VB6 DOES support polymorphism and interface inheritance. It also supports the “Implements” keyword. What is not supported in vb6 is implementation inheritance.Also, from above, vb6 DOES “provides access to third-party controls like COM, DCOM ” That is not anything new in .NET.
72 :: How to achieve Polymorphism in VB.Net?
We can achieve polymarphism in .Net i.e Compile time polymarphism and Runtime polymarphism. Compiletime Polymarphism achieved by method overloading. Runtime polymarphism achieved by Early Binding or Late Binding. Provide the function pointer to the object at compile time called as Early Binding.provide the function pointer to the object at runtime called as Late Bindingclass emp having the method display()class dept having the method display()create objects as in the main function// Early bindingdim obj as new empdim ob as new deptobj.display()-to call the display method of emp classob.display-to call the display method of the dept class// Late bindingcreate object in the main class asobject objobj=new empobj.display()-to call the display of emp classobj=new deptobj.display()-to call the display of dept class
73 :: Difference between Class And Interface in .NET?
Class is logical representation of object. It is collection of data and related sub procedures with definition.Interface is also a class containing methods which is not having any definitions.Class does not support multiple inheritance. But interface can support
74 :: What does mean by .NET framework?
The .NET Framework is an environment for building, deploying, and running Web Services and other applications. It consists of three main parts: the Common Language Runtime, the Framework classes, and ASP.NET
75 :: What is assembly in .NET?
It is a single deploy able unit that contains all the information about the implementation of classes , structures and interfaces
StumbleUpon
Digg
Delicious
Twitter
FaceBook
LinkedIn
Google
Yahoo
MySpace
Tell Your Friend
76 :: What is namespaces in .NET?
It is a logical group of related classes and interfaces and that can be used by any language targeting the .net framework.
77 :: Tell me about Secure Socket Layer? How to make use of the technology?
Secure Sockets Layer (SSL) and Transport Layer Security (TLS), its successor, are cryptographic protocols which provide secure communications on the Internet. There are slight differences between SSL 3.0 and TLS 1.0, but the protocol remains substantially the same. The term “SSL” as used here applies to both protocols unless clarified by context.
78 :: Can any object be stored in a Viewstate in .NET?
An object that either is serializable or has a TypeConverter defined for it can be persisted in ViewState
79 :: Explain ADO.NET features? Benefits? Drawbacks?
1. Data will be retrieved through DataSets2. Scalability
80 :: ASP.NET interview questions only?
1. How does ASP page work?2. How ASP.NET page works?3. What are the contents of cookie?4. How do you create a permanent cookie?5. What is ViewState? What does the “EnableViewState” property do? Whay would I want it on or off?6. Give an example of what might be best suited to place in the Application_Start and Session_Start subroutines?7. Describe the role of global.asax?8. How can you debug your.NET application?9. How do you deploy your ASP.NET application?10. Where do we store our connection string in ASP.NET application?11. Explain security types in ASP.NET?12. Where do we store our connection string in ASP.NET application?13. Explain different Authentication modes in ASP.NET?14. How.NET has implemented security for web applications?15. How to do forms authentication in ASP.NET?16. Explain authentication levels in.NET?17. Explain authorization levels in.NET?18. How can you debug an ASP page, without touching the code?19. How can you handle Exceptions in ASP.NET?20. How can you handle UnManaged Code Exceptions in ASP.NET?
81 :: How is meant by DLL in .NET?
A DLL (Dynamic Link Library) in .NET is a file that can be loaded and executed by programs dynamically. Basically it’s an external code repository for programs. Since usually several different programs reuse the same DLL instead of having that code in their own file, this dramatically reduces required storage space. A synonym for a DLL would be library in .NET
82 :: How does output caching work in ASP.NET?
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.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.The output cache also supports variations of cached GET or POST name/value pairs.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 - a page is valid until a certain time.
83 :: Explain how Viewstate is being formed and how it’s stored on client in .NET?
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.)
84 :: Explain assemblies in .NET?
Assemblies are similar to dll files. Both has the reusable pieces of code in the form of classes/ functions. Dll needs to be registered but assemblies have its own metadata.
85 :: Explain DataSet.AcceptChanges and DataAdapter.Update methods in .NET?
DataAdapter.Update method Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet.DataSet.AcceptChanges method Commits all the changes made to this row since the last time AcceptChanges was called.
86 :: Explain Difference between Panel and GroupBox classes using .NET?
Panel and Group box both can used as container for other controls like radio buttons and check box.the difference in panel and group box are Panel1) In case of panel captions cannot be displayed2) Can have scroll bars.Group box1) Captions can be displayed.2) Cannot have a scroll bar
87 :: How many types of exception handlers are there in .NET?
FromMSDN>gt; “How the Runtime Manages Exceptions”http://msdn.microsoft.com/library/default.asp? url=/library/en-us/cpguide/html/cpconexceptionsoverview.aspThe exception information table represents four types of exception handlers for protected blocks:A finally handler that executes whenever the block exits, whether that occurs by normal control flow or by an unhandled exception.A fault handler that must execute if an exception occurs, but does not execute on completion of normal control flow.A type-filtered handler that handles any exception of a specified class or any of its derived classes.A user-filtered handler that runs user-specified code to determine whether the exception should be handled by the associated handler or should be passed to the next protected block.
88 :: What are the advantages and drawbacks of using ADO.NET?
Pros====ADO.NET is rich with plenty of features that are bound to impress even the most skeptical of programmers. If this weren’t the case, Microsoft wouldn’t even be able to get anyone to use the Beta. What we’ve done here is come up with a short list of some of the more outstanding benefits to using the ADO.NET architecture and the System.Data namespace.* Performance – there is no doubt that ADO.NET is extremely fast. The actual figures vary depending on who performed the test and which benchmark was being used, but ADO.NET performs much, much faster at the same tasks than its predecessor, ADO. Some of the reasons why ADO.NET is faster than ADO are discussed in the ADO versus ADO.NET section later in this chapter.* Optimized SQL Provider – in addition to performing well under general circumstances, ADO.NET includes a SQL Server Data Provider that is highly optimized for interaction with SQL Server. It uses SQL Server’s own TDS (Tabular Data Stream) format for exchanging information. Without question, your SQL Server 7 and above data access operations will run blazingly fast utilizing this optimized Data Provider.
89 :: What are different methods of session maintenance in ASP.NET?
3 types:In-process storage.Session State Service.Microsoft SQL Server.In-Process StorageThe default location for session state storage is in the ASP.NET process itself.Session State ServiceAs 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.To use the State Service, you need to edit the sessionState element in your ASP.NET application’s web.config file: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 start up. If you’re going to depend on it for storing session state, you’ll want to change that to automatic start up by using the Services MMC plug-in in the Administrative Tools group.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.
90 :: List of ASP.NET interview questions only?
1. What is a static class?2. What is static member?3. What is static function?4. What is static constructor?5. How can we inherit a static variable?6. How can we inherit a static member?7. Can we use a static function with a non-static variable?8. How can we access static variable?9. Why main function is static?10. How will you load dynamic assembly? How will create assesblies at run time?11. What is Reflection?12. If I have more than one version of one assemblies, then how will I use old version (how/where to specify version number?) in my application?13. How do you create threading in.NET? What is the namespace for that?14. What do you mean by Serialize and MarshalByRef?15. What is the difference between Array and LinkedList?16. What is Asynchronous call and how it can be implemented using delegates?17. How to create events for a control? What is custom events? How to create it?18. If you want to write your own dot net language, what steps you will you take care?19. Describe the diffeerence between inline and code behind - which is best in a loosely coupled solution?20. How dot net compiled code will become platform independent?
StumbleUpon
Digg
Delicious
Twitter
FaceBook
LinkedIn91 :: What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why?
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).
92 :: What is CLR in .NET?
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.
93 :: What exactly is being serialized when you perform serialization in .NET?
The object’s state (values)
94 :: What do you know about ADO.NET’s objects and methods?
ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as data sources exposed through OLE DB and XML.Data-sharing consumer applications can use ADO.NET to connect to these different data sources and retrieve, manipulate, and update data.ADO.NET provides first-class support for the disconnected, n-tier programming environment for which many new applications are written.
95 :: .NET framework overview?
1. Has own class libraries. System is the main namespace and all other namespaces are subsets of this.2. It has CLR(Common language runtime, Common type system, common language specification)3. All the types are part of CTS and Object is the base class for all the types.4. If a language said to be .net complaint, it should be compatible with CTS and CLS.5. All the code compiled into an intermediate language by the .Net language compiler, which is nothing but an assembly.6. During runtime, JIT of CLR picks the IL code and converts into PE machine code and from there it processes the request.7. CTS, CLS, CLR8. Garbage Collection9. Dispose, finalize, suppress finalize, Idispose interface10. Assemblies, Namespace: Assembly is a collection of class/namespaces. An assembly contains Manifest, Metadata, Resource files, IL code11. Com interoperability, adding references, web references12. Database connectivity and providers
96 :: Name some of the languages .NET support?
Some of the languages that are supported by .NET1. Visual Basic.NET2. Visual C#3. Visual C++
97 :: Main differences between ASP and ASP.NET?
1. ASP: Code is InterpretedASP.NET: Code is Compiled2. ASP: Business Logic and Presentation Logic are in a single fileASP.NET: Business Logic and Presentation Logic are in separate files (.cs or .vb) and (.aspx) respectively.3. ASP: No Web Server ControlsASP.NET: Web Server Controls supported by strong .NET Framework4. ASP: No RAD in Classic ASPASP.NET: Supports RAD
98 :: What is the base class of .NET?
Base class provides a base set of methods that all derived classes can use
99 :: What is the base class of Button control in .NET?
Listing from visual studio .net > Button Class System.ObjectSystem.MarshalByRefObjectSystem.ComponentModel.ComponentSystem.Windows.Forms.ControlSystem.Windows.Forms.ButtonBaseSystem.Windows.Forms.Button
100 :: ASP.NET interview questions list only?
1. Describe the difference between a Thread and a Process?2. What is a Windows Service and how does its lifecycle differ from a .standard. EXE?3. What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?4. What is the difference between an EXE and a DLL?5. What is strong-typing versus weak-typing? Which is preferred? Why?6. What.s wrong with a line like this? DateTime.Parse(myString7. What are PDBs? Where must they be located for debugging to work?8. What is cyclomatic complexity and why is it important?9. Write a standard lock() plus double check to create a critical section around a variable access.10. What is FullTrust? Do GAC’ed assemblies have FullTrust?11. What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?12. What does this do? gacutil /l find /i about13. What does this do? sn -t foo.dll14. What ports must be open for DCOM over a firewall? What is the purpose of Port 135?15. Contrast OOP and SOA. What are tenets of each16. How does the XmlSerializer work? What ACL permissions does a process using it require?17. Why is catch(Exception) almost always a bad idea?18. What is the difference between Debug.Write and Trace.Write? When should each be used?
When .NET was introduced it came with several languages. VB.NET, C#, COBOL and Perl, etc. The site DotNetLanguages.Net says 44 languages are supported by .NET
2 :: How is .NET able to support multiple languages?
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.
3 :: How ASP .NET different from ASP?
Scripting is separated from the HTML, Code is compiled as a DLL, these DLLs can be executed on the server.
4 :: What is smart navigation in .NET?
The cursor position is maintained when the page gets refreshed due to the server side validation and the page gets refreshed.
5 :: What is view state in .NET?
The web is stateless. But in ASP.NET, the state of a page is maintained in the in the page itself automatically. How? The values are encrypted and saved in hidden controls. this is done automatically by the ASP.NET. This can be switched off / on for a single control
Basic Dot Net Interview Questions and Answers.
Basic Dot Net questions updated at 19 Feb 09 in Category Computer Programming and visited 82832 Times
Select Question To View Answers
Dot Net Questions and Answers:
·
6 :: How do you validate the controls in an ASP .NET page?
Using special validation controls that are meant for validation of any controle. We have Range Validator, Email Validator in .NET to validate any control.
7 :: Can the validation be done in the server side? Or this can be done only in the Client side?
Client side is done by default. Server side validation is also possible in .NET. We can switch off the client side and server side can be done only in .NET
8 :: How to manage pagination in a page using .NET?
Using pagination option in DataGrid control is available in .NET. We have to set the number of records for a page, then it takes care of pagination by itself automatically.
9 :: What is ADO .NET and what is difference between ADO and ADO.NET?
ADO.NET is stateless mechanism. I can treat the ADO.Net as a separate in-memory database where in I can use relationships between the tables and select insert and updates to the database. I can update the actual database as a batch
10 :: Observations between VB.NET and VC#.NET?
Choosing a programming language depends on your language experience and the scope of the application you are building. While small applications are often created using only one language, it is not uncommon to develop large applications using multiple languages.For example, if you are extending an application with existing XML Web services, you might use a scripting language with little or no programming effort. For client-server applications, you would probably choose the single language
you are most comfortable with for the entire application. For new enterprise applications,
where large teams of developers create components and services for deployment across multiple
remote sites, the best choice might be to use several languages depending on developer
skills and long-term maintenance expectations.The .NET Platform programming languages - including Visual Basic .NET, Visual C#, and Visual C++ with managed extensions, and many other programming languages from various vendors - use .NET Framework services and features through a common set of unified classes. The .NET unified classes provide a consistent method of accessing the platform's
functionality. If you learn to use the class library, you will find that all tasks follow the same uniform architecture. You no longer need to learn and master different API architectures to write your applications
11 :: Advantages of migrating to VB.NET?
Visual Basic .NET has many new and improved language features — such as inheritance, interfaces, and overloading that make it a powerful object-oriented programming language. As a Visual Basic developer, you can now create multithreaded, scalable applications using explicit multithreading. Other new language features in Visual Basic .NET include structured exception handling, custom attributes, and common language specification (CLS) compliance.The CLS is a set of rules that standardizes such things as data types and how objects are exposed and interoperate. Visual Basic .NET adds several features that take advantage of the CLS. Any CLS-compliant language can use the classes, objects, and components you create in Visual Basic .NET. And you, as a Visual Basic user, can access classes, components, and objects from other CLS-compliant programming languages without worrying about language-specific differences such as data types.CLS features used by Visual Basic .NET programs include assemblies, namespaces, and attributes.
12 :: Advantages of VB.NET?
1. First of all, VB.NET provides managed code execution that runs under the Common Language Runtime (CLR), resulting in robust, stable and secure applications. All features of the .NET framework are readily available in VB.NET.2. VB.NET is totally object oriented. This is a major addition that VB6 and other earlier releases didn't have.3. The .NET framework comes with ADO.NET, which follows the disconnected paradigm, i.e. once the required records are fetched the connection no longer exists. It also retrieves the records that are expected to be accessed in the immediate future. This enhances Scalability of the application to a great extent.4. VB.NET uses XML to transfer data between the various layers in the DNA Architecture i.e. data are passed as simple text strings.5. Error handling has changed in VB.NET. A new Try-Catch-Finally block has been introduced to handle errors and exceptions as a unit, allowing appropriate action to be taken at the place the error occurred thus discouraging the use of ON ERROR GOTO statement. This again credits to the maintainability of the code.
13 :: Using ActiveX Control in .Net?
ActiveX control is a special type of COM component that supports a User Interface. Using ActiveX Control in your .Net Project is even easier than using COM component. They are bundled usually in .ocx files. Again a proxy assembly is made by .Net utility AxImp.exe (which we will see shortly) which your application (or client) uses as if it is a .Net control or assembly.Making Proxy Assembly For ActiveX Control: First, a proxy assembly is made using AxImp.exe (acronym for ActiveX Import) by writing following command on Command Prompt:C:> AxImp C:MyProjectsMyControl.ocxThis command will make two dlls, e.g., in case of above commandMyControl.dllAxMyControl.dllThe first file MyControl.dll is a .Net assembly proxy, which allows you to reference the ActiveX as if it were non-graphical object.The second file AxMyControl.dll is the Windows Control, which allows u to use the graphical aspects of activex control and use it in the Windows Form Project.Adding Reference of ActiveX Proxy Assembly in your Project Settings: To add a reference of ActiveX Proxy Assembly in our Project, do this:
14 :: What is Machine.config in .NET?
Machine configuration file: The machine.config file contains settings that apply to the entire computer. This file is located in the %runtime install path%Config directory. There is only one machine.config file on a computer. The Machine.Config file found in the "CONFIG" subfolder of your .NET Framework install directory (c:WINNTMicrosoft.NETFramework{Version Number}CONFIG on Windows 2000 installations). The machine.config, which can be found in the directory $WINDIR$Microsoft.NETFrameworkv1.0.3705CONFIG, is an XML-formatted configuration file that specifies configuration options for the machine. This file contains, among many other XML elements, a browserCaps element. Inside this element are a number of other elements that specify parse rules for the various User-Agents, and what properties each of these parsings supports.For example, to determine what platform is used, a filter element is used that specifies how to set the platform property based on what platform name is found in the User-Agent string. Specifically, the machine.config file contains:platform=Win95platform=Win98platform=WinNT...
15 :: What is Web.config in .NET?
In classic ASP all Web site related information was stored in the metadata of IIS. This had the disadvantage that remote Web developers couldn't easily make Web-site configuration changes. For example, if you want to add a custom 404 error page, a setting needs to be made through the IIS admin tool, and you're Web host will likely charge you a flat fee to do this for you. With ASP.NET, however, these settings are moved into an XML-formatted text file (Web.config) that resides in the Web site's root directory. Through Web.config you can specify settings like custom 404 error pages, authentication and authorization settings for the Web sitempilation options for the ASP.NET Web pages, if tracing should be enabled, etc. The Web.config file is an XML-formatted file. At the root level is the tag. Inside this tag you can add a number of other tags, the most common and useful one being the system.web tag, where you will specify most of the Web site configuration parameters. However, to specify application-wide settings you use the tag.For example, if we wanted to add a database connection string parameter we could have a Web.config file like so.
16 :: What is the difference between ADO and ADO.NET?
ADO uses Recordsets and cursors to access and modify data. Because of its inherent design, Recordset can impact performance on the server side by tying up valuable resources. In addition, COM marshalling - an expensive data conversion process - is needed to transmit a Recordset. ADO.NET addresses three important needs that ADO doesn't address:1. Providing a comprehensive disconnected data-access model, which is crucial to the Web environment2. Providing tight integration with XML, and3. Providing seamless integration with the .NET Framework (e.g., compatibility with the base class library's type system). From an ADO.NET implementation perspective, the Recordset object in ADO is eliminated in the .NET architecture. In its place, ADO.NET has several dedicated objects led by the DataSet object and including the DataAdapter, and DataReader objects to perform specific tasks. In addition, ADO.NET DataSets operate in disconnected state whereas the ADO RecordSet objects operated in a fully connected state.In ADO, the in-memory representation of data is the recordset. In ADO.NET, it is the dataset. A recordset looks like a single table. If a recordset is to contain data from multiple database tables, it must use a JOIN query, which assembles the data from the various database tables into a single result table. In contrast, a dataset is a collection of one or more tables.
17 :: What is the difference between VB and VB.NET?
Now VB.NET is object-oriented language. The following are some of the differences:Data Type ChangesThe .NET platform provides Common Type System to all the supported languages. This means that all the languages must support the same data types as enforced by common language runtime. This eliminates data type incompatibilities between various languages. For example on the 32-bit Windows platform, the integer data type takes 4 bytes in languages like C++ whereas in VB it takes 2 bytes. Following are the main changes related to data types in VB.NET:. Under .NET the integer data type in VB.NET is also 4 bytes in size.. VB.NET has no currency data type. Instead it provides decimal as a replacement.. VB.NET introduces a new data type called Char. The char data type takes 2 bytes and can store Unicode characters.. VB.NET do not have Variant data type. To achieve a result similar to variant type you can use Object data type. (Since every thing in .NET including primitive data types is an object, a variable of object type can point to any data type).. In VB.NET there is no concept of fixed length strings.. In VB6 we used the Type keyword to declare our user-defined structures. VB.NET introduces the structure keyword for the same purpose.Declaring VariablesConsider this simple example in VB6:Dim x,y as integer
18 :: What is a Strong Name in .NET?
A strong name consists of the assembly's identity its simple text name, version number, and culture information (if provided) plus a public key and a digital signature. It is generated from an assembly file (the file that contains the assembly manifest, which in turn contains the names and hashes of all the files that make up the assembly), using the corresponding private key. Assemblies with the same strong name are expected to be identical.Strong names guarantee name uniqueness by relying on unique key pairs. No one can generate the same assembly name that you can, because an assembly generated with one private key has a different name than an assembly generated with another private key.When you reference a strong-named assembly, you expect to get certain benefits, such as versioning and naming protection. If the strong-named assembly then references an assembly with a simple name, which does not have these benefits, you lose the benefits you would derive from using a strong-named assembly and revert to DLL conflicts. Therefore, strong-named assemblies can only reference other strong-named assemblies.There are two ways to sign an assembly with a strong name:1. Using the Assembly Linker (Al.exe) provided by the .NET Framework SDK.2. Using assembly attributes to insert the strong name information in your code. You can use either the AssemblyKeyFileAttribute or the AssemblyKeyNameAttribute, depending
19 :: What is a Manifest in .NET?
An assembly manifest contains all the metadata needed to specify the assembly's version requirements and security identity, and all metadata needed to define the scope of the assembly and resolve references to resources and classes. The assembly manifest can be stored in either a PE (Portable Executable) file (an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a standalone PE (Portable Executable) file that contains only assembly manifest information. The following table shows the information contained in the assembly manifest. The first four items the assembly name, version number, culture, and strong name information make up the assembly's identity.Assembly name: A text string specifying the assembly's name.Version number: A major and minor version number, and a revision and build number. The common language runtime uses these numbers to enforce version policy.Culture: Information on the culture or language the assembly supports. This information should be used only to designate an assembly as a satellite assembly containing culture- or language-specific information. (An assembly with culture information is automatically assumed to be a satellite assembly.) Strong name information: The public key from the publisher if the assembly has been given a strong name. List of all files in the assembly:
20 :: Creating a Key Pair in .NET?
You can create a key pair using the Strong Name tool (Sn.exe). Key pair files usually have an .snk extension. To create a key pair At the command prompt, type the following command:sn kIn this command, file name is the name of the output file containing the key pair. The following example creates a key pair called sgKey.snk.sn -k sgKey.snk
21 :: What is the difference between "using System.Data;" and directly adding the reference from "Add References Dialog Box"?
When u compile a program using command line, u add the references using /r switch. When you compile a program using Visual Studio, it adds those references to our assembly, which are added using "Add Reference" dialog box. While "using" statement facilitates us to use classes without using their fully qualified names.For example: if u have added a reference to "System.Data.SqlClient" using "Add Reference" dialog box then u can use SqlConnection class like this:System.Data.SqlClient.SqlConnectionBut if u add a "using System.Data.SqlClient" statement at the start of ur code then u can directly use SqlConnection class.On the other hand if u add a reference using "using System.Data.SqlClient" statement, but don't add it using "Add Reference" dialog box, Visual Studio will give error message while we compile the program.
22 :: What is GAC in .NET?
The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to. Assemblies deployed in the global assembly cache must have a strong name. When an assembly is added to the global assembly cache, integrity checks are performed on all files that make up the assembly. The cache performs these integrity checks to ensure that an assembly has not been tampered with, for example, when a file has changed but the manifest does not reflect the change. Use a developer tool called the Global Assembly Cache tool (Gacutil.exe), provided by the .NET Framework SDK or Use Windows Explorer to drag assemblies into the cache. To install a strong-named assembly into the global assembly cache At the command prompt, type the following command:gacutil IIn this command, assembly name is the name of the assembly to install in the global assembly cache.
23 :: What is a Metadata in .NET?
Metadata is information about a PE. In COM, metadata is communicated through non-standardized type libraries.In .NET, this data is contained in the header portion of a COFF-compliant PE and follows certain guidelines; it contains information such as the assembly’s name, version, language (spoken, not computera.k.a., culture), what external types are referenced, what internal types are exposed, methods, properties, classes, and much more.The CLR uses metadata for a number of specific purposes. Security is managed through a public key in the PE’s header.Information about classes, modules, and so forth allows the CLR to know in advance what structures are necessary. The class loader component of the CLR uses metadata to locate specific classes within assemblies, either locally or across networks.Just-in-time (JIT) compilers use the metadata to turn IL into executable code.Other programs take advantage of metadata as well.A common example is placing a Microsoft Word document on a Windows 2000 desktop. If the document file has completed comments, author, title, or other Properties metadata, the text is displayed as a tool tip when a user hovers the mouse over the document on the desktop. You can use the Ildasm.exe utility to view the metadata in a PE. Literally, this tool is an IL disassembler.
24 :: What is managed code and managed data in .NET?
Managed code is code that is written to target the services of the Common Language Runtime.In order to target these services, the code must provide a minimum level of information (metadata) to the runtime.All C#, Visual Basic .NET, and JScript .NET code is managed by default.Visual Studio .NET C++ code is not managed by default, but the compiler can produce managed code by specifying a command-line switch (/CLR).Closely related to managed code is managed data--data that is allocated and de- allocated by the Common Language Runtime's garbage collector. C#, Visual Basic, and JScript .NET data is managed by default.C# data can, however, be marked as unmanaged through the use of special keywords.Visual Studio .NET C++ data is unmanaged by default (even when using the /CLR switch), but when using Managed Extensions for C++, a class can be marked as managed using the __gc keyword. As the name suggests, this means that the memory for instances of the class is managed by the garbage collector.In addition, the class becomes a full participating member of the .NET Framework community, with the benefits and restrictions that it brings. An example of a benefit is proper interoperability with classes written in other languages (for example, a managed C++ class can inherit from a Visual Basic class).An example of a restriction is that a managed class can only inherit from one base class.
25 :: What is .NET and .NET Framework?
It is a Framework in which Windows applications may be developed and run. The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries, and a componentized version of Active Server Pages called ASP.NET. The .NET Framework provides a new programming model and rich set of classes designed to simplify application development for Windows, the Web, and mobile devices. It provides full support for XML Web services, contains robust security features, and delivers new levels of programming power. The .NET Framework is used by all Microsoft languages including Visual C#, Visual J#, and Visual C++.
26 :: What is Reflection in .NET?
It extends the benefits of metadata by allowing developers to inspect and use it at runtime. For example, dynamically determine all the classes contained in a given assembly and invoke their methods. Reflection provides objects that encapsulate assemblies, modules, and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object. You can then invoke the type's methods or access its fields and properties. Namespace: System.Reflection
27 :: What is "Common Type System" (CTS) in .NET?
CTS defines all of the basic types that can be used in the .NET Framework and the operations performed on those type.All this time we have been talking about language interoperability, and .NET Class Framework. None of this is possible without all the language sharing the same data types. What this means is that an int should mean the same in VB, VC++, C# and all other .NET compliant languages. This is achieved through introduction of Common Type System (CTS).
28 :: What is "Common Language Specification" (CLS) in .NET?
CLS is the collection of the rules and constraints that every language (that seeks to achieve .NET compatibility) must follow. It is a subsection of CTS and it specifies how it shares and extends one another libraries.
29 :: What is "Common Language Runtime" (CLR) in .NET?
CLR is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that converts a MSIL code into the host machine language code, which is then executed appropriately. The CLR is the execution engine for .NET Framework applications. It provides a number of services, including:- Code management (loading and execution)- Application memory isolation- Verification of type safety- Conversion of IL to native code.- Access to metadata (enhanced type information)- Managing memory for managed objects- Enforcement of code access security- Exception handling, including cross-language exceptions- Interoperation between managed code, COM objects, and pre-existing DLL's (unmanaged code and data)- Automation of object layout- Support for developer services (profiling, debugging, and so on)
30 :: What are Attributes in .NET?
Attributes are declarative tags in code that insert additional metadata into an assembly. There exist two types of attributes in the .NET Framework: Predefined attributes such as Assembly Version, which already exist and are accessed through the Runtime Classes; and custom attributes, which you write yourself by extending the System.Attribute class.
31 :: What are the Types of Assemblies in .NET?
Assemblies are of two types:1. Private Assemblies2. Shared AssembliesPrivate Assemblies: The assembly is intended only for one application. The files of that assembly must be placed in the same folder as the application or in a sub folder. No other application will be able to make a call to this assembly. The advantage of having a private assembly is that, it makes naming the assembly very easy, since the developer need not worry about name clashes with other assemblies. As long as the assembly has a unique name within the concerned application, there won't be any problems.Shared Assemblies: If the assembly is to be made into a Shared Assembly, then the naming conventions are very strict since it has to be unique across the entire system. The naming conventions should also take care of newer versions of the component being shipped. These are accomplished by giving the assembly a Shared Name. Then the assembly is placed in the global assembly cache, which is a folder in the file system reserved for shared assemblies.
32 :: What is an Intermediate language?
Assemblies are made up of IL code modules and the metadata that describes them. Although programs may be compiled via an IDE or the command line, in fact, they are simply translated into IL, not machine code. The actual machine code is not generated until the function that requires it is called. This is the just-in-time, or JIT, compilation feature of .NET. JIT compilation happens at runtime for a variety of reasons, one of the most ambitious being Microsoft's desire for cross-platform .NET adoption. If a CLR is built for another operating system (UNIX or Mac), the same assemblies will run in addition to the Microsoft platforms. The hope is that .NET assemblies are write-once-run-anywhere applications. This is a .NET feature that works behind-the-scenes, ensuring that developers are not limited to writing applications for one single line of products. No one has demonstrated whether or not this promise will ever truly materialize.CTS/CLSThe MSIL Instruction Set Specification is included with the .NET SDK, along with the IL Assembly Language Programmers Reference. If a developer wants to write custom .NET programming languages, these are the necessary specifications and syntax. The CTS and CLS define the types and syntax's that every .NET language needs to embrace. An application may not expose these features, but it must consider them when communicating through IL.
33 :: ASP.NET Authentication Providers and IIS Security?
ASP.NET implements authentication using authentication providers, which are code modules that verify credentials and implement other security functionality such as cookie generation. ASP.NET supports the following three authentication providers:Forms Authentication: Using this provider causes unauthenticated requests to be redirected to a specified HTML form using client side redirection. The user can then supply logon credentials, and post the form back to the server. If the application authenticates the request (using application-specific logic), ASP.NET issues a cookie that contains the credentials or a key for reacquiring the client identity. Subsequent requests are issued with the cookie in the request headers, which means that subsequent authentications are unnecessary.Passport Authentication: This is a centralized authentication service provided by Microsoft that offers a single logon facility and membership services for participating sites. ASP.NET, in conjunction with the Microsoft® Passport software development kit (SDK), provides similar functionality as Forms Authentication to Passport users.Windows Authentication: This provider utilizes the authentication capabilities of IIS. After IIS completes its authentication, ASP.NET uses the authenticated identity's token to authorize access.To enable a specified authentication provider for an ASP.NET application, you must create an entry in the applicati
34 :: What is the difference between ASP and ASP.NET?
ASP is interpreted. ASP.NET Compiled event base programming.Control events for text button can be handled at client javascript only. Since we have server controls events can handle at server side.More error handling.ASP .NET has better language support, a large set of new controls and XML based components, and better user authentication.ASP .NET provides increased performance by running compiled code.ASP .NET code is not fully backward compatible with ASP.ASP .NET also contains a new set of object oriented input controls, like programmable list boxes, validation controls. A new data grid control supports sorting, data paging, and everything you expect from a dataset control. The first request for an ASP.NET page on the server will compile the ASP .NET code and keep a cached copy in memory. The result of this is greatly increased performance.ASP .NET is not fully compatible with earlier versions of ASP, so most of the old ASP code will need some changes to run under ASP .NET. To overcome this problem,ASP .NET uses a new file extension ".aspx". This will make ASP .NET applications able to run side by side with standard ASP applications on the same server.
35 :: Using COM Component in .Net?
As most of you know that .Net does not encourage the development of COM components and provides a different solution to making reusable components through Assemblies. But, there are a lot of COM components present which our .Net application might need to use. Fortunately, .Net provides an extremely simple approach to achieve this. This is achieved by using ‘Wrapper Classes’ and ‘Proxy Components’. .Net wraps the COM component into .Net assembly technically called ‘Runtime Callable Wrapper’ or RCW. Then u can call and use your COM component just as a .Net (or C#, if u are using C#) Assembly.
36 :: What is an assembly in .NET?
An assembly is the primary building block of a .NET Framework application. It is a collection of functionality that is built, versioned, and deployed as a single implementation unit (as one or more files). All managed types and resources are marked either as accessible only within their implementation unit, or as accessible by code outside that unit. .NET Assembly contains all the metadata about the modules, types, and other elements it contains in the form of a manifest. The CLR loves assemblies because differing programming languages are just perfect for creating certain kinds of applications. For example, COBOL stands for Common Business-Oriented Language because it’s tailor-made for creating business apps. However, it’s not much good for creating drafting programs. Regardless of what language you used to create your modules, they can all work together within one Portable Executable Assembly. There’s a hierarchy to the structure of .NET code. That hierarchy is Assembly - > Module -> Type -> Method." Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in portable executable (PE) files.
37 :: What is a Web Service in .NET?
A web service is a software component that exposes itself through the open communication channels of the Internet. Applications running on remote machines, on potentially different platforms, can access these components in a language and platform-independent manner. A Web Service is a group of functions, packaged together for use in a common framework throughout a network.
38 :: Explain webFarm Vs webGardens in .NET?
A web farm is a multi-server scenario. So we may have a server in each state of US. If the load on one server is in excess then the other servers step in to bear the brunt.How they bear it is based on various models.1. RoundRobin. (All servers share load equally)2. NLB (economical)3. HLB (expensive but can scale up to 8192 servers)4. Hybrid (of 2 and 3).5. CLB (Component load balancer).A web garden is a multi-processor setup. i.e., a single server (not like the multi server above).How to implement webfarms in .Net:Go to web.config and Here for mode = you have 4 options.a) Say mode=inproc (non web farm but fast when you have very few customers).b) Say mode = StateServer (for webfarm)c) Say mode = SqlServer (for webfarm)Whether to use option b or c depends on situation. StateServer is faster but SqlServer is more reliable and used for mission critical applications.How to use webgardens in .Net:Go to web.config and Change the false to true. You have one more attribute that is related to webgarden in the same tag called cpuMask.
39 :: What is the difference between a namespace and assembly name in .NET?
A namespace is a logical naming scheme for types in which a simple type name, such as MyType, is preceded with a dot-separated hierarchical name. Such a naming scheme is completely under control of the developer. For example, types MyCompany.FileAccess.A and MyCompany.FileAccess.B might be logically expected to have functionally related to file access. The .NET Framework uses a hierarchical naming scheme for grouping types into logical categories of related functionality, such as the ASP.NET application framework, or remoting functionality. Design tools can make use of namespaces to make it easier for developers to browse and reference types in their code. The concept of a namespace is not related to that of an assembly. A single assembly may contain types whose hierarchical names have different namespace roots, and a logical namespace root may span multiple assemblies. In the .NET Framework, a namespace is a logical design-time naming convenience, whereas an assembly establishes the name scope for types at run time.
40 :: What’s a Windows process in .NET?
Windows process is an application that’s running and had been allocated memory in .NET
41 :: What’s typical about a Windows process in regards to memory allocation in .NET?
Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.
42 :: Explain what relationship is between a Process, Application Domain, and Application?
Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.A process is an instance of a running application. An application is an executable on the hard drive or network. There can be numerous processes launched of the same application (5 copies of Word running), but 1 process can run just 1 application.
43 :: 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.
44 :: 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 information. Web Services are best when you need to communicate with an external organization or another (non-.NET) technology.
45 :: 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.
46 :: 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.
47 :: 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.
48 :: 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.
49 :: What is a formatter in .NET?
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.
50 :: Choosing between HTTP and TCP for protocols and Binary and SOAP for formatters, what are the trade-offs?
Binary over TCP is the most efficient, SOAP over HTTP is the most interoperable in .NET.
51 :: What’s SingleCall activation mode used for in .NET?
If the server object is instantiated for responding to just one single request, the request should be made in SingleCall mode in .NET
52 :: What’s Singleton activation mode in .NET?
A single object is instantiated regardless of the number of clients accessing it. Lifetime of this object is determined by lifetime lease.
53 :: How do you define the lease of the object in .NET?
By implementing ILease interface when writing the class code in .NET
54 :: 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.
55 :: How can you automatically generate interface for the remotable object in .NET with Microsoft tools?
Use the Soapsuds tool to generate automatically interface for the remotable object in .NET with Microsoft tools.
56 :: What is Delegation in .NET?
A delegate acts like a strongly type function pointer. Delegates can invoke the methods that they reference without making explicit calls to those methods.Delegate is an entity that is entrusted with the task of representation, assign or passing on information. In code sense, it means a Delegate is entrusted with a Method to report information back to it when a certain task (which the Method expects) is accomplished outside the Method's class.
57 :: What is "Microsoft Intermediate Language" (MSIL)?
A .NET programming language (C#, VB.NET, J# etc.) does not compile into executable code; instead it compiles into an intermediate code called Microsoft Intermediate Language (MSIL). As a programmer one need not worry about the syntax of MSIL - since our source code in automatically converted to MSIL. The MSIL code is then send to the CLR (Common Language Runtime) that converts the code to machine language, which is, then run on the host machine. MSIL is similar to Java Byte code. MSIL is the CPU-independent instruction set into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects. Combined with metadata and the common type system, MSIL allows for true cross- language integration Prior to execution, MSIL is converted to machine code. It is not interpreted.
58 :: Differences between Datagrid, Datalist and Repeater in .NET?
1. Datagrid has paging while Datalist doesn't.2. Datalist has a property called repeat. Direction = vertical/horizontal. (This is of great help in designing layouts). This is not there in Datagrid.3. A repeater is used when more intimate control over html generation is required.4. When only checkboxes/radiobuttons are repeatedly served then a checkboxlist or radiobuttonlist are used as they involve fewer overheads than a Datagrid.The Repeater repeats a chunk of HTML you write, it has the least functionality of the three. DataList is the next step up from a Repeater; accept you have very little control over the HTML that the control renders. DataList is the first of the three controls that allow you Repeat-Columns horizontally or vertically. Finally, the DataGrid is the motherload. However, instead of working on a row-by-row basis, you’re working on a column-by-column basis. DataGrid caters to sorting and has basic paging for your disposal. Again you have little control, over the HTML. NOTE: DataList and DataGrid both render as HTML tables by default. Out of the 3 controls, I use the Repeater the most due to its flexibility w/ HTML. Creating a Pagination scheme isn't that hard, so I rarely if ever use a DataGrid.Occasionally I like using a DataList because it allows me to easily list out my records in rows of three for instance.
59 :: I am constantly writing the drawing procedures with System.Drawing.Graphics, but having to use the try and dispose blocks is too time-consuming with Graphics objects. Can I automate this?
Yes, the codeSystem.Drawing.Graphics canvas = new System.Drawing.Graphics();try{//some code}finallycanvas.Dispose();is functionally equivalent tousing (System.Drawing.Graphics canvas = new System.Drawing.Graphics()){//some code} //canvas.Dispose() gets called automatically
60 :: How do you trigger the Paint event in System.Drawing?
Invalidate the current form, the OS will take care of repainting. The Update method forces the repaint.
61 :: With these events, why wouldn’t Microsoft combine Invalidate and Paint, so that you wouldn’t have to tell it to repaint, and then to force it to repaint?
Painting is the slowest thing the OS does, so usually telling it to repaint, but not forcing it allows for the process to take place in the background.
62 :: How can you assign an RGB color to a System.Drawing.Color object?
Call the static method FromArgb of this class and pass it the RGB values in .NET
63 :: What class does Icon derive from? Isn’t it just a Bitmap with a wrapper name around it?
No, Icon lives in System.Drawing namespace. It’s not a Bitmap by default, and is treated separately by .NET. However, you can use ToBitmap method to get a valid Bitmap object from a valid Icon object.
64 :: Before in my VB app I would just load the icons from DLL. How can I load the icons provided by .NET dynamically?
By using System.Drawing.SystemIcons class, for example System.Drawing.SystemIcons.Warning produces an Icon with a warning sign in it.
65 :: When displaying fonts, what’s the difference between pixels, points and ems?
A pixel is the lowest-resolution dot the computer monitor supports. Its size depends on user’s settings and monitor size. A point is always 1/72 of an inch. An em is the number of pixels that it takes to display the letter M.
Basic Dot Net Interview Questions and Answers.
Basic Dot Net questions updated at 19 Feb 09 in Category Computer Programming and visited 82844 Times
Select Question To View Answers
Dot Net Questions and Answers:
·
66 :: What is the difference between VB 6 and VB.NET?
VB1,Object-based Language2,Doesnot support Threading3,Not powerful Exception handling mechanism4,Doesnot having support for the console based applications5,Cannot use more than one version of com objects in vb application called DLL error6,Doesnot support for the Disconnected data source.VB.Net1,Object-oriented Language2,supports Threading3,powerful Exception handling mechanism4,having support for the console based applications5,More than one version of dll is supported6,supports the Disconnected data source by using Dataset class
67 :: What are the authentication methods in .NET?
There are 4 types of authentications.1.WINDOWS AUTHENTICATION2.FORMS AUTHENTICATION3.PASSPORT AUTHENTICATION4.NONE/CUSTOM AUTHENTICATIONThe authentication option for the ASP.NET application is specified by using the tag in the Web.config file, as shown below:other authentication options1. WINDOWS AUTHENTICATION SchemesI. Integrated Windows authenticationII. Basic and basic with SSL authenticationIII. Digest authenticationIV. Client Certificate authentication2. FORMS AUTHENTICATIONYou, as a Web application developer, are supposed to develop the Web page and authenticate the user by checking the provided user ID and password against some user database3.PASSPORT AUTHENTICATIONA centralized service provided by Microsoft, offers a single logon point for clients. Unauthenticated users are redirected to the Passport site4 NONE/CUSTOM AUTHENTICATION:If we don’t want ASP.NET to perform any authentication, we can set the authentication mode to “none”. The reason behind this decision could be: We don’t want to authenticate our users, and our Web site is open for all to use. We want to provide our own custom authentication
68 :: What is Serialization in .NET?
The serialization is the process of converting the objects into stream of bytes.they or used for transport the objects(via remoting) and persist objects(via files and databases)
69 :: What’s the use of System.Diagnostics.Process class in .NET?
By using System.Diagnostics.Process class, we can provide access to the files which are presented in the local and remote system.Example: System.Diagnostics.Process(”c:globalguidelineexample.txt”) — local fileSystem.Diagnostics.Process(”http://www.globalguideline.comexample.txt”) — remote file
70 :: Difference Abstract class and Interface in .NET?
Abstract class: This class has abstract methods (no body). This class cannot be instantiated. One needs to provide the implementation of the methods by overriding them in the derived class. No Multiple Inheritance.Interfaces: Interface class contains all abstract methods which are public by default. All of these methods must be implemented in the derived class. One can inherit from from more than one interface thus provides for Multiple Inheritance.
71 :: Explain re-clarification of object based in .NET?
VB6 DOES support polymorphism and interface inheritance. It also supports the “Implements” keyword. What is not supported in vb6 is implementation inheritance.Also, from above, vb6 DOES “provides access to third-party controls like COM, DCOM ” That is not anything new in .NET.
72 :: How to achieve Polymorphism in VB.Net?
We can achieve polymarphism in .Net i.e Compile time polymarphism and Runtime polymarphism. Compiletime Polymarphism achieved by method overloading. Runtime polymarphism achieved by Early Binding or Late Binding. Provide the function pointer to the object at compile time called as Early Binding.provide the function pointer to the object at runtime called as Late Bindingclass emp having the method display()class dept having the method display()create objects as in the main function// Early bindingdim obj as new empdim ob as new deptobj.display()-to call the display method of emp classob.display-to call the display method of the dept class// Late bindingcreate object in the main class asobject objobj=new empobj.display()-to call the display of emp classobj=new deptobj.display()-to call the display of dept class
73 :: Difference between Class And Interface in .NET?
Class is logical representation of object. It is collection of data and related sub procedures with definition.Interface is also a class containing methods which is not having any definitions.Class does not support multiple inheritance. But interface can support
74 :: What does mean by .NET framework?
The .NET Framework is an environment for building, deploying, and running Web Services and other applications. It consists of three main parts: the Common Language Runtime, the Framework classes, and ASP.NET
75 :: What is assembly in .NET?
It is a single deploy able unit that contains all the information about the implementation of classes , structures and interfaces
StumbleUpon
Digg
Delicious
Yahoo
MySpace
Tell Your Friend
76 :: What is namespaces in .NET?
It is a logical group of related classes and interfaces and that can be used by any language targeting the .net framework.
77 :: Tell me about Secure Socket Layer? How to make use of the technology?
Secure Sockets Layer (SSL) and Transport Layer Security (TLS), its successor, are cryptographic protocols which provide secure communications on the Internet. There are slight differences between SSL 3.0 and TLS 1.0, but the protocol remains substantially the same. The term “SSL” as used here applies to both protocols unless clarified by context.
78 :: Can any object be stored in a Viewstate in .NET?
An object that either is serializable or has a TypeConverter defined for it can be persisted in ViewState
79 :: Explain ADO.NET features? Benefits? Drawbacks?
1. Data will be retrieved through DataSets2. Scalability
80 :: ASP.NET interview questions only?
1. How does ASP page work?2. How ASP.NET page works?3. What are the contents of cookie?4. How do you create a permanent cookie?5. What is ViewState? What does the “EnableViewState” property do? Whay would I want it on or off?6. Give an example of what might be best suited to place in the Application_Start and Session_Start subroutines?7. Describe the role of global.asax?8. How can you debug your.NET application?9. How do you deploy your ASP.NET application?10. Where do we store our connection string in ASP.NET application?11. Explain security types in ASP.NET?12. Where do we store our connection string in ASP.NET application?13. Explain different Authentication modes in ASP.NET?14. How.NET has implemented security for web applications?15. How to do forms authentication in ASP.NET?16. Explain authentication levels in.NET?17. Explain authorization levels in.NET?18. How can you debug an ASP page, without touching the code?19. How can you handle Exceptions in ASP.NET?20. How can you handle UnManaged Code Exceptions in ASP.NET?
81 :: How is meant by DLL in .NET?
A DLL (Dynamic Link Library) in .NET is a file that can be loaded and executed by programs dynamically. Basically it’s an external code repository for programs. Since usually several different programs reuse the same DLL instead of having that code in their own file, this dramatically reduces required storage space. A synonym for a DLL would be library in .NET
82 :: How does output caching work in ASP.NET?
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.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.The output cache also supports variations of cached GET or POST name/value pairs.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 - a page is valid until a certain time.
83 :: Explain how Viewstate is being formed and how it’s stored on client in .NET?
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.)
84 :: Explain assemblies in .NET?
Assemblies are similar to dll files. Both has the reusable pieces of code in the form of classes/ functions. Dll needs to be registered but assemblies have its own metadata.
85 :: Explain DataSet.AcceptChanges and DataAdapter.Update methods in .NET?
DataAdapter.Update method Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet.DataSet.AcceptChanges method Commits all the changes made to this row since the last time AcceptChanges was called.
86 :: Explain Difference between Panel and GroupBox classes using .NET?
Panel and Group box both can used as container for other controls like radio buttons and check box.the difference in panel and group box are Panel1) In case of panel captions cannot be displayed2) Can have scroll bars.Group box1) Captions can be displayed.2) Cannot have a scroll bar
87 :: How many types of exception handlers are there in .NET?
FromMSDN>gt; “How the Runtime Manages Exceptions”http://msdn.microsoft.com/library/default.asp? url=/library/en-us/cpguide/html/cpconexceptionsoverview.aspThe exception information table represents four types of exception handlers for protected blocks:A finally handler that executes whenever the block exits, whether that occurs by normal control flow or by an unhandled exception.A fault handler that must execute if an exception occurs, but does not execute on completion of normal control flow.A type-filtered handler that handles any exception of a specified class or any of its derived classes.A user-filtered handler that runs user-specified code to determine whether the exception should be handled by the associated handler or should be passed to the next protected block.
88 :: What are the advantages and drawbacks of using ADO.NET?
Pros====ADO.NET is rich with plenty of features that are bound to impress even the most skeptical of programmers. If this weren’t the case, Microsoft wouldn’t even be able to get anyone to use the Beta. What we’ve done here is come up with a short list of some of the more outstanding benefits to using the ADO.NET architecture and the System.Data namespace.* Performance – there is no doubt that ADO.NET is extremely fast. The actual figures vary depending on who performed the test and which benchmark was being used, but ADO.NET performs much, much faster at the same tasks than its predecessor, ADO. Some of the reasons why ADO.NET is faster than ADO are discussed in the ADO versus ADO.NET section later in this chapter.* Optimized SQL Provider – in addition to performing well under general circumstances, ADO.NET includes a SQL Server Data Provider that is highly optimized for interaction with SQL Server. It uses SQL Server’s own TDS (Tabular Data Stream) format for exchanging information. Without question, your SQL Server 7 and above data access operations will run blazingly fast utilizing this optimized Data Provider.
89 :: What are different methods of session maintenance in ASP.NET?
3 types:In-process storage.Session State Service.Microsoft SQL Server.In-Process StorageThe default location for session state storage is in the ASP.NET process itself.Session State ServiceAs 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.To use the State Service, you need to edit the sessionState element in your ASP.NET application’s web.config file: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 start up. If you’re going to depend on it for storing session state, you’ll want to change that to automatic start up by using the Services MMC plug-in in the Administrative Tools group.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.
90 :: List of ASP.NET interview questions only?
1. What is a static class?2. What is static member?3. What is static function?4. What is static constructor?5. How can we inherit a static variable?6. How can we inherit a static member?7. Can we use a static function with a non-static variable?8. How can we access static variable?9. Why main function is static?10. How will you load dynamic assembly? How will create assesblies at run time?11. What is Reflection?12. If I have more than one version of one assemblies, then how will I use old version (how/where to specify version number?) in my application?13. How do you create threading in.NET? What is the namespace for that?14. What do you mean by Serialize and MarshalByRef?15. What is the difference between Array and LinkedList?16. What is Asynchronous call and how it can be implemented using delegates?17. How to create events for a control? What is custom events? How to create it?18. If you want to write your own dot net language, what steps you will you take care?19. Describe the diffeerence between inline and code behind - which is best in a loosely coupled solution?20. How dot net compiled code will become platform independent?
StumbleUpon
Digg
Delicious
LinkedIn91 :: What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why?
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).
92 :: What is CLR in .NET?
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.
93 :: What exactly is being serialized when you perform serialization in .NET?
The object’s state (values)
94 :: What do you know about ADO.NET’s objects and methods?
ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as data sources exposed through OLE DB and XML.Data-sharing consumer applications can use ADO.NET to connect to these different data sources and retrieve, manipulate, and update data.ADO.NET provides first-class support for the disconnected, n-tier programming environment for which many new applications are written.
95 :: .NET framework overview?
1. Has own class libraries. System is the main namespace and all other namespaces are subsets of this.2. It has CLR(Common language runtime, Common type system, common language specification)3. All the types are part of CTS and Object is the base class for all the types.4. If a language said to be .net complaint, it should be compatible with CTS and CLS.5. All the code compiled into an intermediate language by the .Net language compiler, which is nothing but an assembly.6. During runtime, JIT of CLR picks the IL code and converts into PE machine code and from there it processes the request.7. CTS, CLS, CLR8. Garbage Collection9. Dispose, finalize, suppress finalize, Idispose interface10. Assemblies, Namespace: Assembly is a collection of class/namespaces. An assembly contains Manifest, Metadata, Resource files, IL code11. Com interoperability, adding references, web references12. Database connectivity and providers
96 :: Name some of the languages .NET support?
Some of the languages that are supported by .NET1. Visual Basic.NET2. Visual C#3. Visual C++
97 :: Main differences between ASP and ASP.NET?
1. ASP: Code is InterpretedASP.NET: Code is Compiled2. ASP: Business Logic and Presentation Logic are in a single fileASP.NET: Business Logic and Presentation Logic are in separate files (.cs or .vb) and (.aspx) respectively.3. ASP: No Web Server ControlsASP.NET: Web Server Controls supported by strong .NET Framework4. ASP: No RAD in Classic ASPASP.NET: Supports RAD
98 :: What is the base class of .NET?
Base class provides a base set of methods that all derived classes can use
99 :: What is the base class of Button control in .NET?
Listing from visual studio .net > Button Class System.ObjectSystem.MarshalByRefObjectSystem.ComponentModel.ComponentSystem.Windows.Forms.ControlSystem.Windows.Forms.ButtonBaseSystem.Windows.Forms.Button
100 :: ASP.NET interview questions list only?
1. Describe the difference between a Thread and a Process?2. What is a Windows Service and how does its lifecycle differ from a .standard. EXE?3. What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?4. What is the difference between an EXE and a DLL?5. What is strong-typing versus weak-typing? Which is preferred? Why?6. What.s wrong with a line like this? DateTime.Parse(myString7. What are PDBs? Where must they be located for debugging to work?8. What is cyclomatic complexity and why is it important?9. Write a standard lock() plus double check to create a critical section around a variable access.10. What is FullTrust? Do GAC’ed assemblies have FullTrust?11. What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?12. What does this do? gacutil /l find /i about13. What does this do? sn -t foo.dll14. What ports must be open for DCOM over a firewall? What is the purpose of Port 135?15. Contrast OOP and SOA. What are tenets of each16. How does the XmlSerializer work? What ACL permissions does a process using it require?17. Why is catch(Exception) almost always a bad idea?18. What is the difference between Debug.Write and Trace.Write? When should each be used?
Subscribe to:
Comments (Atom)
ArcCommunity
About Me
- Manoj Singh
- Kanpur/Almora, Uttar Pradesh, India