| .NET Remoting ( A Simple Approach) |
| C# Help |
| .NET Remoting provides a powerful and high performance way of working with remote objects. Architecturally, .NET Remote objects are a perfect fit for accessing resources across the network without the overhead posed by SOAP based WebServices. .NET Remoting is easier to use than Java's RMI, but definately more difficult than creating a WebService. In this article, we will create a remote object that will return rows from a database table. For the sake of simplicity i have used the NorthWind database that is packed with the installation of the Microsoft SQL Server. |
|
| .NET Remoting - The Interface Approach |
| C# Help |
| In this article, we will create a remote object, and access this object using an interface. This method is important when creating a physical separation between business tier and consumer code. In traditional Remoting approaches, to access a remote object, you need a copy of that object on the client machine. With this approach, the metadata is split into a separate library that can be copied to the client machine. |
|
| .NET Remoting Contexts |
| C#Today |
| In a distributed architecture, disparate components co-operate to perform work, and in such an architecture there needs to be a streamlined infrastructure for providing cross object communication. .NET framework introduces a new one, called .NET Remoting. .NET remoting is the glue that links together components (aka assemblies) in different .NET application domains. In addition to the marshalling of calls across these app domains, the remoting infrastructure also maintains a context for each assembly, and each method call that crosses over assembly boundaries. In this article, Kaushal Sanghavi looks at what contexts are, how they work, and how they can be used to pass data between different objects. |
|
| .NET Remoting Explained |
| http://www.pinnaclepublishing.com/ |
| What if you were told that you had to create an application that was to support several thousand concurrent users, 24x7? And the only choice you had was to create a single, monolithic application that ran on one machine! No matter how big a machine you get, it won't be long before you start pulling your hair out. Luckily, you won't have to do that in the .NET platform—thanks to its distributed computing capabilities. Tarak Modi explains in detail. |
|
| .NET Remoting Interception |
| C#Today |
| With the advent of .NET, Microsoft realized the need for a more flexible approach for building distributed applications. .NET Remoting is the technology that allows remote components to interface and integrate. However, in order for this transparent integration, .NET remoting needs to provide some plumbing wherein it can resolve object references and direct method calls to the specific application hosting the required component, on the specific machine. This concept is based on the principle of Interception. In this article, Kaushal Sangahvi discusses the interception mechanism that is used by remoting, to allow for location transparency of objects. |
|
| .NET Remoting under IIS - ASP.NET Application as Client. |
| The Code Project |
| Simplest method to host remote component under IIS with ASP.NET application as client |
|
| .NET Remoting Using Broker Pattern |
| The Code Project |
| .NET remoting using Broker pattern. |
|
| .NET Remoting Using Broker Pattern |
| The Code Project |
| .NET remoting using Broker pattern. |
|
| A Portal for My Data |
| MSDN |
| With it comes to retrieving data in an n-tier application. We often design our systems in a way that forces us to figure out a different way to get each type of data, calling a different service, object, or method each time. To get customer data, we call the GetCustomer method of the CustomerService. To get product data, we call the Product method of a WebProduct service. This can get confusing! |
|
| A Session Data Management Tool |
| The Code Project |
| Introducing a .NET web service to manage session data for multiple applications |
|
| A Simple But Useful Example of .NET Remoting Part 2 |
| The Code Project |
| Introduces .NET remoting via a simple but potentially useful example. |
|
| A Simple Chat Application Using .NET Remoting |
| The Code Project |
| The application is a simple chat tool. Anyone who connects to the chat server receives all chat communication between the connected users. The application is deliberately kept simple to clarify .NET Remoting. This application also demonstrates the event and delegate usage in an application that uses .NET Remoting. |
|
| About .NET Remoting: 3 Concepts Compared and Simplified |
| The Code Project |
| An article on .NET remoting which discusses and compares the 3 ways, by which .NET remoting can be used to access a Server-side object from the clients- Singleton, SingleCall and Client Activation. |
|
| Adventures in Visual Basic .NET: Broadcasting Messages to Multiple Clients |
| MSDN |
| Rocky Lhotka discusses optimistic concurrency and shows you how to create a messaging system that lets multiple users know when they are editing the same data at the same time. |
|
| An Introduction to Microsoft .NET Remoting Framework |
| MSDN |
| This article explains the fundamentals of the Microsoft .NET Remoting Framework. In addition to describing the main components that make up the .NET Remoting Framework, this document describes different scenarios in which .NET Remoting could be used to communicate with distributed objects. |
|
| AppDomains and Assemblies |
| MSDN |
| I've been writing some code recently to deal with AppDomains. AppDomains provide a way to isolate part of an application from another part. In short, it lets you run in two separate environments. In some cases, the two environments may be on different machines and the communication between AppDomains is handled through remoting, and in other cases, they may be in the same process. |
|
| Application Domains Overview |
| MSDN |
| Historically, process boundaries have been used to isolate applications running on the same computer. Each application is loaded into a separate process, which isolates the application from other applications running on the same computer. The applications are isolated because memory addresses are process-relative; a memory pointer passed from one process to another cannot be used in any meaningful way in the target process. In addition, you cannot make direct calls between two processes. Instead, you must use proxies, which provide a level of indirection. |
|
| Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse |
| MSDN |
| Aspect-oriented Programming (AOP), a paradigm invented at Xerox PARC in the 1990s, lets the developer better separate tasks that should not be inextricably tangled, such as mathematical operations and exception handling. The AOP approach has a number of benefits. First, it improves performance because the operations are more succinct. Second, it allows programmers to spend less time rewriting the same code. Overall, AOP enables better encapsulation of distinct procedures and promotes future interoperation. |
|
| BUG: "Unable to import binding" error message when you try to create an XML Web service proxy for the .NET Framework remoting service that contains Char data type members or Guid data type members |
| http://www.kbalertz.com/ |
| (831689) - Describes the "Unable to import binding" error that occurs when you try to build XML Web service proxies for the .NET Framework remoting services that contain Char or Guid data type members. Requires familiarity with the .NET Framework remoting. |
|
| BUG: AppDomainUnloadedException is thrown when you call a virtual destructor on a __nogc class during an AppDomain unload |
| http://www.kbalertz.com/ |
| (837317) - Discusses a bug that causes an AppDomainUnloadedException when you are unloading the AppDomain of a class that is declared as __nogc and that has a virtual destructor. |
|
| BUG: Passing large quantities of data in .NET Remoting calls causes an unexpected exception to occur |
| http://www.kbalertz.com/ |
| (322975) - 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... |
|
| C++ Q&A |
| MSDN |
| Performance Optimization, Controls versus Components |
|
| COM+ and .NET - A practical approach - Part 3 |
| The Code Project |
| A look at COM+ and .NET |
|
| Creating a Singleton Service with Visual Studio .NET |
| MSDN |
| A common design pattern that I've seen used is the creation of a COM singleton that resides in a service. A service is a long-running executable that does not support a user interface, and which might not run under the logged-on user account. The service can run without any user being logged on to the computer. This makes services ideal for use on a server or whenever you need functionality that does not interfere with other users who are working on the same computer. |
|
| Declarative Transactions using ADO.NET and Without Enterprise Services |
| The Code Project |
| Sometimes it is nice to prototype up a simple database application. This code may help, by providing the automatic transactional model of COM+ in a non-COM+ environment. This example uses "Interception" to provide automatic transactioning support for non-COM+ classes. |
|