1. Start Microsoft Visual Studio .NET or Microsoft Visual Studio 2005.
2. On the File menu, click New, and then click Project.
3. Select Console Application from the Visual C# Projects types. By default, Class1.cs is created in Visual Studio .NET. Program.cs is created in Visual Studio 2005.
4. In the code window, replace the whole code with the following:using System;
Code:
using System.Net;
using System.IO;
namespace WebDavNET
{
///
/// Summary description for Class1.
///
class Class1
{
static void Main(string[] args)
{
try
{
/*
'strFolderType Name
'
'MailItems IPF.Note
'ContactItems IPF.Contact
'AppointmentItems IPF.Appointment
'NoteItems IPF.StickyNote
'TaskItems IPF.Task
'JournalItems IPF.Journal
*/
// TODO: Replace with the URL of an object on Exchange Server
string sUri = "http://ExchServer/Exchange/Administrator/Inbox/NewApptFolder";
System.Uri myUri = new System.Uri(sUri);
HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(myUri);
string sQuery;
sQuery = "" +
"
"
"
"
"";
// Set Credentials
// TODO: Replace with appropriate user credentials
NetworkCredential myCred = new NetworkCredential(@"DomainName\UserName", "UserPassword");
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
HttpWRequest.Credentials = myCredentialCache;
// Set Headers
HttpWRequest.KeepAlive = false;
HttpWRequest.Headers.Set("Pragma", "no-cache");
HttpWRequest.ContentType = "text/xml";
HttpWRequest.ContentLength = sQuery.Length;
//Set the request timeout to 5 minutes
HttpWRequest.Timeout = 300000;
// Set the request method
HttpWRequest.Method = "MKCOL";
// Store the data in a byte array
byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes(sQuery);
HttpWRequest.ContentLength = ByteQuery.Length;
Stream QueryStream = HttpWRequest.GetRequestStream();
// Write the data to be posted to the Request Stream
QueryStream.Write(ByteQuery,0,ByteQuery.Length);
QueryStream.Close();
// Send Request and Get Response
HttpWebResponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();
// Get the Status code
int iStatCode = (int)HttpWResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);
// Get the request headers
string sReqHeaders = HttpWRequest.Headers.ToString();
Console.WriteLine(sReqHeaders);
// Read the Response Steam
Stream strm = HttpWResponse.GetResponseStream();
StreamReader sr = new StreamReader(strm);
string sText = sr.ReadToEnd();
Console.WriteLine("Response: {0}", sText);
// Close Stream
strm.Close();
// Clean Up
myCred = null;
myCredentialCache = null;
HttpWRequest = null;
HttpWResponse = null;
QueryStream = null;
strm = null;
sr = null;
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
}
}
}
5. Modify the code wherever you see "TODO".
6. Press F5 to build and run the program.
7. Verify that the folder is created.
0 comments:
Post a Comment