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.
“Dot Net Remoting frequently Asked Questions in various Dot Net Remoting job Interviews by interviewer. Get preparation of Dot Net Remoting job interview”
Yes, via machine.config and application level .config file
(or web.config in ASP.NET). Application-level XML settings
take precedence over machine.config.
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.
strong Name is the process of assinging the storng name to
the shared assembly.
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
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.
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.
1) shared assembly
2) private assembly
3) satellite assembly
In other way static assembly and dynamic assemblies.
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.
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.
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.
Box is used to convert Value type to reference type(ie.
Object)
Unboxing is the reverse of the boxing.
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
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.
public class CommonClass : MarshalByRefObject
{
public string FirstName;
public string LastName;
public string GetWelcomeString()
{
Console.WriteLine("Welcome " + FirstName + " " + LastName);
return "Welcome " + FirstName + " " + LastName;
}
}
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.
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.
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.
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
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.
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.