This blog is about the dotnet.all types of codes,news about dotnet including asp.net,vb.net,c# and know about new dotnet technology.programing in asp.net,vb.net,c#, ajax, AJAX tech support for .net and discuss the new technology in dotnet.ncluding asp.net,vb.net,c# and know about new dotnet technology.programing in asp.net,vb.net,c#, ajax, AJAX tech support for .net and discuss the new technology in dotnet.asp.net programming,dot net programming,dotnet programs,dotnet source code,source code.

Free Hosting

Free Hosting

Tuesday, January 29, 2008

How to create an Outlook Calendar folder by using WebDAV in Visual C#

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 = "" +
""xmlns:ex='http://schemas.microsoft.com/exchange/'>" +
"" +
"IPF.Appointment" +
"
" +
"
";
// 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:

dotnet(.Net) Project Source code Downloads and Tutorials

Email Subscrption



Enter your email address:

Delivered by FeedBurner

Feedburner Count

Unique Visitor

Design by araba-cı | MoneyGenerator Blogger Template by GosuBlogger