This topic demonstrates how to transfer a file in an instant messaging (IM) conversation using .NET code with Microsoft Lync 2010 SDK.
Prerequisites
For a list of prerequisites, see Walkthrough: Start an Instant Message Conversation .
Creating the IM Conversation Application
To create the file transfer application
-
Sign in to Microsoft Lync 2010.
-
In Microsoft Visual Studio development system, create a new Windows Forms application.
-
Select .NET Framework 3.5 or 4.0 as the target framework. For more information, see the MSDN topic How to: Target a Specific .NET Framework.
-
Add a reference to Microsoft.Comunicator.Model.
-
In Form1.cs add the following using statement.
Copy Code using Microsoft.Lync.Model; using Microsoft.Lync.Model.Extensibility;
-
At the top of the Formclass add the following declarations.
Copy Code // Create the major UI Automation objects. Automation _Automation = LyncClient.GetAutomation(); // Create a dictionary object to contain AutomationModalitySettings data pairs. Dictionary<AutomationModalitySettings, object> _ModalitySettings = new Dictionary<AutomationModalitySettings, object>();
-
In the Form1_Load event add the following code.
Copy Code AutomationModalities _ChosenMode = AutomationModalities.FileTransfer | AutomationModalities.InstantMessage; // Store the file path as an object using the generic List class. string myFileTransferPath = string.Empty; // Edit this to provide a valid file path. myFileTransferPath = @"C:\myFolder\myFile.txt"; // Create a generic List object to contain a contact URI. String[] invitees = {"elise@contoso.com"} //Adds text to toast and local user IMWindow text entry control. _ModalitySettings.Add(AutomationModalitySettings.FirstInstantMessage, "Hello Elise. I would like to send you my text file."); _ModalitySettings.Add(AutomationModalitySettings.SendFirstInstantMessageImmediately, true); //Add file transfer conversation context type _ModalitySettings.Add(AutomationModalitySettings.FilePathToTransfer, myFileTransferPath); // Start the conversation. IAsyncResult ar = _Automation.BeginStartConversation( _ChosenMode , invitees , _ModalitySettings , null , null); //Block UI thread until conversation is started. _Automation.EndStartConversation(ar);
-
Build and run the application.
-
Enter a contact name and then click OK. The conversation window appears with a link to the specified file. The remote user gets a conversation invitation with an option to accept the text file.