Entry No.1
date: 5th, April
First of all, we should separate the AS2 sender code into a new class AS2Sender which has static methods for the different functions of the sender:

public static void Send(String message, Url receiver, bool encrypt, bool sign)

This is a method that simply sends a message to a URL (I think the Url is a class for web URLs) which is optionally signed and encrypted. If an error occurs, this method should throw an exception.

public static MDN SendWithSynchMDN(String message, Url receiver, bool encryptMessage, bool signMessage, bool encryptMDN, bool signMDN)

This method send the message and asks for a synchronous MDN, which can also be signed and encrypted.

public static void SendWithAsynchMDN(String message, Url receiver, bool encryptMessage, bool signMessage, bool encryptMDN, bool signMDN)

This method send the message and asks for an asynchronous MDN, which can also be signed and encrypted. The method does not return a MDN because the MDN is sent asynchronously and may arrive later. The HTTP handler on the sender side has to deal with the reception of an asynchronous MDN.

Right now, the AS2 logic is in the same Visual Studio project as the GUI. This should not be so. We want a separate project for the AS2Sender and a separate one for the AS2Receiver (both DLLs), and again a separate one for testing (this time an executable), which can have a GUI.

Also, it is important to use the C# documentation features to really document the code (esp. explain all public classes and methods etc.).
top
Introduction  
Events
Deliverables
workLog
aboutMe