1. Can we 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.

2. What is the difference btw the following methods in .NET remoting?
RegisterWellknownServiceType()
RegisterWellknownClientType()
RegisterActivatedServiceType()
RegisterActivatedClientType()

RegisterWellknownServiceType():
Method used to define and configure a remotable Object that
needs to be Activated on server side. This takes 3
parameter as follows:-
RegisterWellKnownServiceType( typeof( <Class/Object
Name> ), <"SomeURI">,
WellKnownObjectMode.Singleton/SingleCall );

RegisterWellknownClientType():
This method has to be used on the client module to
comunicate with serve-side activated remote object. Ex:
RegisterWellKnownClientType( typeof( <Class/Object Name> ),
<"Server Remotable Object URL"> );


RegisterActivatedServiceType():
RegisterActivatedClientType():
Similarly, the above two methods are used to define
remotable object type as client activated.

3. Explain About sn.exe?

strong Name is the process of assinging the storng name to
the shared assembly.

4. Explain About .NET Remoting and types of remoting?

NET Remoting is an enabler for application communication.
It is a generic system for different applications to use to
communicate with one another. .NET objects are exposed to
remote processes, thus allowing interprocess communication

5. What are static assemblies and dynamic assemlies.
Differences between them?

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 PE files. You can also use the .NET Framework to
create dynamic assemblies, which are run directly from
memory and are not saved to disk before execution. You can
save dynamic assemblies to disk after they have executed.

6. What is a process?

Process is set of task of an running application or an
application itself, getting executed on a OS for which
memory is allocated by OS.

7. What are various types of assemblies?

1) shared assembly
2) private assembly
3) satellite assembly

In other way static assembly and dynamic assemblies.

8. What is strong name and what is the purpose of strong name?

A name that consists of an assembly's identity-its simple
text name, version number, and culture information (if
provided)-strengthened by a public key and a digital
signature generated over the assembly.

9. What is an assembly and what does manifest consists?

Assembly:
Which is reusable,verionable and self describing
building blocks in CLR(Common Language Runtime).

Manifest:
It contains information about the Assembly where it is
residing.

10. What do you mean by passport authentication and windows authentication?

Passport authentication relies on a centralized service
provided by Microsoft. Passport authentication identifies a
user with using his or her e-mail address and a password
and a single Passport account can be used with many
different Web sites. Passport authentication is primarily
used for public Web sites with thousands of users.

Download Interview PDF

11. What is boxing and unboxing?

Box is used to convert Value type to reference type(ie.
Object)
Unboxing is the reverse of the boxing.

12. Explain Threading Types?

Theading types in Microsoft world are
STA -Single threaded apartment model- Synchronized
automatically- E.g Forms in windows(Win forms) are STA
application.
MTA -Multithreaded apartment model -Here synchronization is
required to acess shared resources. Use Mutex or Monitors

13. What is unmanaged code and will CLR handle this kind of code or not?

Unmanaged code is the type of code which will not execute
in the CLR environment. Memory manangement,garbage
collection,security of CLR environment do not apply to
Ummanaged code.

14. Write a example for remoting (code)?

public class CommonClass : MarshalByRefObject
{

public string FirstName;

public string LastName;

public string GetWelcomeString()
{
Console.WriteLine("Welcome " + FirstName + " " + LastName);
return "Welcome " + FirstName + " " + LastName;
}

}

15. Explain is .NET Remoting?

Net remoting replaces DCOM. Web Services that uses remoting
can run in anyApplication type i.e. Console Application,
Windows Form Applications,Window Services etc. In CLR
Object Remoting we can call objectsacross network.

16. What is sitemap?

To use ASP.NET site navigation, you must describe the structure of the site so that the site navigation API and the site navigation controls can expose the site structure properly. By default, the site navigation system uses an XML file that contains the site hierarchy. However, you can also configure the site navigation system to use alternative data sources.

17. What is the diff between remoting and webservice?

1. Web service is to achieve cross-platform interoperability where as .NET Remoting desgined expressly for .NET -to- .NET communications.
2. .NET Remoting would offer best performance for communicating .NET applications where as web services wouldn't
in this case.

18. What are the various type of channels used by .Net remoting and which is the best one?

There are 2 types of channels .

channel means sending messages. 2 types are http and tcp
Tcp is used for lan , http is used for lan and wan

19. In which conditions do you opt for Remoting services?

Remoting is something like web services. You might decide to opt for
Remoting instead of web services in following cases...

1) Client and server platform is fixed
2) Protocol is NOT fixed. (Like web services strictly work
on HTTP protocol)
3) Where object serialization is to be done strictly
through CLR.
4) Where platform is fixed i.e. .Net framework.

20. What are the differences between Marshal by value and Marshal by reference?

Marshal-by-value objects are copied by the remoting system
and passed in their entirety to the caller's application
domain. Once copied to the caller's application domain (by
the marshaling process), all method calls and property
accesses are executed entirely within that domain. The
entire object exists in the caller's domain, so there is no
need to marshal accesses across domain boundaries. Using
marshal-by-value objects can increase performance and
reduce network traffic when used for small objects or
objects to which you will be making many accesses. However,
because the object exists entirely in the caller's
application domain, no state changes to the object are
communicated to the originating application domain, or from
the originator back to the caller. Marshal-by-value is not
a good choice for very large objects with many accesses. It
makes little sense to marshal an entire large object across
domain boundaries when all you need is access to a single
field, method, or property.

21. Give the Hierarchial description of remoting?

.Net remoting is replacement of DCOM.
Step 1:Build a proxcy which is looks like a real obj.
Step 2:By useing proxcy U can make method calls on remoting
objs.
Step 3:These method calls know as "Messages", messages can
be serialized by Formater.
Step 4:It send to client channel.
Step 5:Client channel communicate with sever channel. And
Deserialized the Messages.
Step 6:Sever send the exact remot obj.

22. How to perform Remoting?

Remoting Performance and Auto Web Proxy .

The .Net Framework 2.0 has significant changes to its
support for proxies including support for connection-
specific proxy settings, automatic proxy configuration and
the ability to automatically refreshing proxy settings
whenever the active connection changes. These features can
be very useful in .Net Remoting but the auto web proxy
feature can also affect performance. If you do not need
these settings in your client it might be useful to disable
them.

There are a number of ways to disable this:



1. In Internet Explorer Open Internet Options,
(either through control panel or the Internet Explorerâ„¢
tools menu), switch to the connections tab, and select LAN
settings. Clear all checkboxes under automatic
configuration. This will disable automatic proxy settings
for the current user (note that this will not work for
ASP.NET sites making outgoing web service calls because
they run under a different user).

2. Imperatively disable it by setting
System.Net.WebRequest.DefaultWebProxy = null;

3. In your config file bypass the proxy for your web-
server. You can also disable the default proxy altogether.

23. When we use web service and when we use Remoting?

.NET remoting is specifically used when you are using only
Microsoft platform. Remoting cannot be used between .net
client and non .NET clients.
Web services though can be used for communication on
MIcrosoft technologies, but their main feature is Platform
Interoperability.
So if you are using client and server supporting .NET
framwork, iwould recommend to use .NET remoting because
you can customise it to great detail and also its faster.
If you are developing for cross platform technologies, you
cannot use .NET remoting. So the only option you have is ot
use web services

25. How does assembly versioning in .NET prevent DLL Hell?

The runtime checks to see that only one version of an
assembly is on the machine at any one time.

.NET allows assemblies to specify the name AND the version
of any assemblies they need to run.

The compiler offers compile time checking for backward
compatibility.