Ingo Rammer Technology Consulting
» IngoRammer.com
» My Books
» Conferences
» Consulting & Services
» Newsletter
 
 
 
» Contact
 

Articles

Remoting vs. ASP.NET performance

This article compares the performance of some choices in Remoting channel and formatter configuration with the performance of ASP.NET Web Services.


.NET Remoting FAQs

HOWTO: Use the BinaryFormatter with HTTPChannel

This articles shows you how to use the BinaryFormatter with the HTTPChannel. A choice which yields the best combination of features and performance.

HOWTO: Use Interface-based remote objects with config files

Interfaces seem to be the best way to share the metadata for remote objects. At the first look it seems that this would render the remoting configuration file unusable. This article demonstrates how you can nevertheless use dynamically configured properties with your interface based remote object.

HOWTO: Use CAOs behind a firewall

This article shows you possible problems and workarounds with Client Activated Objects which are located behind a firewall.

HOWTO: Get a MarshalByRefObject's remote URL

This article shows how you can get the remote URL of a MarshalByRefObject for which you only have a __TransparentProxy object.

HOWTO: Publish a specific object-instance via Remoting

This article shows you how to take an existing object instance in any .NET application and publish it as a wellknown remoting object at a certain URL.

[NEW] Question: How many channels should be registered?

How many channels should be registered in your client application to allow communication with multiple object? In this FAQ, Ingo answers this question and explains the reasons why it's actually enought to just register a single channel

PRB: GUI application hangs when using non-[OneWay]-Events

When implementing Windows Forms based applications which send data to a server from which this data is in turn broadcast to several clients, the application will hang when using non-[OneWay] events. As you already know, [OneWay] events are not the best thing to do, so this article shows you the reasons for this problem and how you can work around them.

INFO: Why Singletons are destroyed after five minutes

In this short article, Ingo shows you why a .NET Remoting singleton might be destroyed and re-created while your application is running and how you can change this behavior.

INFO: Why CAOs don't expose WSDL - and how to get it nevertheless

This article discusses the reason why SoapSuds won't generate metadata-only Assemblies for client activated objects when using the -url parameter and shows you two other solutions on how to acquire the metadata nevertheless.

PRB: BinaryFormatter Version Incompatibility

This article shows the real reason for the mysterious "BinaryFormatter Version incompatibility"-Exception which occurs from time to time when hosting components in IIS and accessing them using the binary formatter. You will be surprised ...


More FAQs and Article

HOWTO: Use ASP.NET projects as Remoting clients?

This article shows you how to access a remoting server when using an ASP.NET application as a client.

HOWTO: Change a Message in the sink stack

This article shows you how to use the MethodCallMessageWrapper to change the input arguments of a call while the message is handed through the sink stack.

HOWTO: Implement async handling in an IMessageSink

This article shows how to implement asynchronous processing in an IMessageSink by creating a secondary IMessageSink and using it as a reply sink.

HOWTO: Access the same type from multiple servers

This short article contains a tip which shows you how to access the same type running on multiple servers.

PRB: System.Runtime.Remoting, or dependencies not found

This article shows you some problems with older (Microsoft .NET Framework, Beta 2) code which could result in a System.IO.FileNotFoundException.

HOWTO: Use a [WebMethod] from .NET Remoting?

Contains a short tip how to access a [WebMethod] from Remoting.

HOWTO: Use A Custom Proxy For Cross-AppDomain Calls

This article shows you how to create a custom proxy and a proxy attribute which can be used for controlled tunnelling of cross-AppDomain calls.

SAMPLE: ThreadPriorityChangerSink

These Sinks can be used on the client respectively the server to propagate the Thread.CurrentThread.Priority via remoting boundaries to the server.

Microsoft Knowledgebase

[KB312114] BUG: Remoted Events (Chat) Sample in Framework Documentation Does Not Work as Expected

The "Remoting Example: Delegates and Events" sample provided in the .NET Framework SDK documentation does not work as expected. The sample is a chat application that demonstrates the use of remoted delegates and events. Client applications submit...

[KB319177] FIX: CallContext Objects Are Lost When You Create a New Serviced Component

If you set CallContext objects before you create an instance of a serviced component in a client application, you may lose the CallContext objects after you create the object instance.

[KB320079] BUG: BinaryFormatter and .NET Remoting Cannot Deserialize Deeply Nested Structs

When you try to pass or return a deeply nested struct in a call to a remote object by using .NET Remoting, you may receive a System.Runtime.Serialization.SerializationException that contains the following message: "Fixing up a partially available...

[KB320347] BUG: Calling GetData or GetHashCode on a Remoting Object Destroys the CallContext

When you call the GetType method or the GetHashCode method on a remoted object, remotable items in the CallContext object are destroyed.

[KB323490] INFO: Configure .NET Remoting When the Remoting Client Is an ASP.NET Application or the Client Is Another Remoted Component That Is Hosted by IIS

This article describes configuration information for .NET remoting when the remoting client is an ASP.NET application or the client is another remoted component hosted by Internet Information Services (IIS). Configure Remoting Client in Global.asax...

[KB327441] BUG: "System.Security.SecurityException" Error Message Occurs When You Invoke a Method on a Transparent Proxy

When a method is called through an interface on a transparent proxy, you may get the following error message: An unhandled exception of type 'System.Security.SecurityException' occurred in TestClass.exe Additional information:...

[KB322975] BUG: Passing Large Quantities of Data in .NET Remoting Calls Causes an Unexpected Exception to Occur

You can use .NET Remoting to allow instances of any type that can be serialized to be passed as method parameters between the client and the server applications. However, if the type instance that is passed is very large (tens of megabytes), the...

Training and Consulting

Chewing on the multitude of architectural choices in distributed .NET applications? Fear no longer - starting with 2003, you can hire Ingo Rammer to help you solve your distributed .NET trouble.

Ingo currently offers three comprehensive courses on architecture, design and development of distributed .NET applications: Distributed .NET, .NET Remoting and .NET Remoting Internals. These courses can be delivered directly in your offices throughout the European Union and Switzerland.

Another great offer are Ingo's on demand workshops, consulting and prototype development services. To find out what else he can do for you and why he's the right one to help you with distributed .NET applications, please check out the details.






© 2002, 2003 by Ingo Rammer (ingo@ingorammer.com). Information is provided as-is and is subject to heavy changes due to its pre-release character.