PeerApplication Class


Represents an application that is available for use with the Peer Collaboration infrastructure.

public ref class PeerApplication : IDisposable, IEquatable<System::Net::PeerToPeer::Collaboration::PeerApplication ^>, System::Runtime::Serialization::ISerializable
public class PeerApplication : IDisposable, IEquatable<System.Net.PeerToPeer.Collaboration.PeerApplication>, System.Runtime.Serialization.ISerializable
type PeerApplication = class
    interface IDisposable
    interface IEquatable<PeerApplication>
    interface ISerializable
Public Class PeerApplication
Implements IDisposable, IEquatable(Of PeerApplication), ISerializable


An application is a set of software or software features available to a peer from an endpoint. Commonly, this refers to network-enabled software packages such as games or other collaborative applications. A PeerApplication defines the set of software applications or components available for use with the PeerCollaboration network. This network enables infrastructure participants to initiate usage of this application. They may initiate a collaboration session using the application identified by this class.

After constructing an instance of this class and setting the appropriate properties, this object may be used in System.Net.PeerToPeer collaboration sessions. Its use is accomplished by passing it to the peer collaboration RegisterApplication and UnregisterApplication methods, which will enable or disable it.

The globally unique Id and PeerApplicationRegistrationType properties of this instance must be set before the application can successfully be registered.

After registering an application with the Peer Collaboration infrastructure, the registration information persists in the registry. This makes the application available to collaboration applications even after the program which registered the application has exited.

Changing the properties on an application instance after it has been registered has no effect on the registration. To update the registration, the application must be unregistered and then registered again with the new information.



Initializes a new default instance of the PeerApplication type.

PeerApplication(Guid, String, Byte[], String, String, PeerScope)

Initializes a new PeerApplication instance with the supplied application ID, description, scope, and data elements.

PeerApplication(SerializationInfo, StreamingContext)

Initializes a new instance of the PeerApplication type with the data required for serialization.



Gets or sets command-line parameters to use when initiating a PeerApplication.


Gets or sets data associated with the current PeerApplication instance.


Gets or sets a Unicode String that describes the PeerApplication.


Gets or sets the user-defined Guid associated with the PeerApplication.


Gets or sets the path that designates where the PeerApplication executable file resides on the local file system.


Gets or sets the scope in which the PeerApplication is registered for collaboration.


When this property value is set, all events not fired as the result of an asynchronous operation will have the associated event handlers called back on the thread that created the specific SynchronizingObject.



Releases resources used by the PeerApplication object.


Releases the unmanaged resources used by the PeerApplication object and optionally releases the managed resources.


Compares the PeerApplication to the specified Object.

Equals(Object, Object)

Determines whether the specified PeerApplication objects are considered equal.


Compares the PeerApplication to the specified PeerApplication instance.


Returns the hash code for a PeerApplication instance.

GetObjectData(SerializationInfo, StreamingContext)

Populates a SerializationInfo with the data needed to serialize the target PeerApplication.


Gets the Type of the current instance.

(Inherited from Object)

Creates a shallow copy of the current Object.

(Inherited from Object)

Raises the ApplicationChanged event.


Returns a string that contains the Id and Description of the PeerApplication instance.



This event is raised whenever a PeerApplication is added, updated or deleted by a remote peer on a subscribed endpoint.

Explicit Interface Implementations

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implements the ISerializable interface and returns the data required to serialize the target PeerApplication.

Applies to

See also