<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Rohit Puri's Blog</title><subtitle type="html" /><id>http://blogs.msdn.com/rohitpuri/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/rohitpuri/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-04-10T17:58:26Z</updated><entry><title>Uploading and Downloading documents from a Office Live Business Application using DAV/FPRPC</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/08/21/uploading-and-downloading-documents-from-a-office-live-business-application-using-dav-fprpc.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/08/21/uploading-and-downloading-documents-from-a-office-live-business-application-using-dav-fprpc.aspx</id><published>2007-08-21T23:01:21Z</published><updated>2007-08-21T23:01:21Z</updated><content type="html">&lt;p&gt;It’s somewhat difficult to work with Front Page RPCs.&amp;nbsp; We’ve heard this from folks, and I recently solved it for myself in a client app that uploads and downloads files from document libraries sitting in a custom business application in Microsoft Office Live.&amp;nbsp;  &lt;p&gt;I wrapped up the FPRPC&amp;nbsp;and DAV code in a class library&amp;nbsp;for use in any client application. Figured I should share this to save you some effort.  &lt;p&gt;This Sample allows working with documents in a Office Live Business Application using FPRPC or DAV. &lt;/p&gt; &lt;p&gt;Note that this has not gone through testing and has no guarantees etc.&lt;/p&gt; &lt;p&gt;How to use the sample?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Download &lt;a href="http://thepurifamily.com/Documents/DocumentHandlerDll.zip"&gt;Document Handler (FPRPC/DAV) Sample&lt;/a&gt;&amp;nbsp;and extract all files.  &lt;li&gt;Re-add the reference to Microsoft.Windows.Live.Id  &lt;li&gt;Build the project.  &lt;li&gt;Output is a dll DocumentHandler.dll  &lt;li&gt;In your client application reference this and use it as follows.  &lt;p&gt; &lt;p&gt;string OfficeLiveFileURL = "&lt;a href="https://mysitecom.officelive.com/Documents/documents/ClickToCall.doc&amp;quot;;"&gt;https://mysitecom.officelive.com/Documents/documents/ClickToCall.doc"&lt;/a&gt;&lt;br&gt;string NewOfficeLiveFileURLDoc = &lt;a href="https://mysitecom.officelive.com/Documents/documents/NewClickToCallDoc.doc"&gt;https://mysitecom.officelive.com/Documents/documents/NewClickToCallDoc.doc&lt;/a&gt;  &lt;p&gt;DocumentHandler.DocumentManager dm = new DocumentHandler.DocumentManager();&lt;br&gt;&lt;/p&gt; &lt;p&gt;//BusinessName is your Business Application Name in &lt;/p&gt; &lt;p&gt;//Office Live that you want to use. &lt;br&gt;dm.BusinessName = "Document Manager"&lt;br&gt;dm.UserName = &lt;a href="mailto:administrator@northwindinn.com"&gt;administrator@northwindinn.com&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;//This brings up the liveID sign on box to sign you in.&lt;br&gt;dm.SignIn(); &lt;/p&gt; &lt;p&gt;//Use FPRPC&lt;br&gt;string result = dm.UploadFileViaRPC(NewOfficeLiveFileURLDoc, "C:\\LocalFile.doc");&lt;br&gt;result = dm.DownloadFileViaRPC(OfficeLiveFileURL, "c:\\LocalFile.doc");  &lt;p&gt;//Use DAV&lt;br&gt;result = dm.UploadFileViaWebDAV(NewOfficeLiveFileURLDoc,&lt;br&gt;"C:\\LocalFile.doc");&lt;br&gt;result = dm.DownloadFileViaWebDAV(OfficeLiveFileURL, "C:\\LocalFile.doc"); &lt;/p&gt; &lt;li&gt;Build and Run. &lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4498706" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry><entry><title>TechEd 2007</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/06/29/teched-2007.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/06/29/teched-2007.aspx</id><published>2007-06-29T23:19:08Z</published><updated>2007-06-29T23:19:08Z</updated><content type="html">&lt;p&gt;Little late in posting about this. Was waiting on my friend to share pics he had taken :) &lt;/p&gt; &lt;p&gt;This was my first TechEd and was a blast!!!! It was great meeting all the people using and building on SharePoint. Getting their valuable feedback on SharePoint. &lt;/p&gt; &lt;p&gt;Here are some pics from the event.&lt;/p&gt; &lt;p&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010078%5B6%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010071%5B4%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B2%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097%5B4%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097_thumb%5B2%5D.jpg" width="240" align="left" border="0"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082%5B5%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010082_thumb%5B1%5D.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010071%5B4%5D.jpg" atomicselection="true"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104%5B2%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010110%5B5%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104_thumb%5B2%5D%5B1%5D%5B1%5D%5B1%5D%5B2%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104_thumb%5B2%5D%5B1%5D%5B1%5D%5B1%5D_thumb%5B1%5D.jpg" width="240" align="left" border="0"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010110%5B6%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010090%5B4%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010090_thumb%5B2%5D.jpg" width="240" border="0"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097%5B6%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097_thumb%5B4%5D.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010110%5B8%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010110_thumb%5B4%5D.jpg" width="240" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010071%5B9%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010100%5B3%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097%5B3%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010100%5B3%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104%5B2%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097%5B3%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010097%5B3%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010100%5B3%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/TechEd2007_BAB3/P1010104%5B2%5D.jpg" atomicselection="true"&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp; ]&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3609643" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry><entry><title>Attending TechEd 2007 in Orlando June 4-8</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/06/01/attending-teched-2007-in-orlando-june-4-8.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/06/01/attending-teched-2007-in-orlando-june-4-8.aspx</id><published>2007-06-01T20:22:19Z</published><updated>2007-06-01T20:22:19Z</updated><content type="html">&lt;p&gt;I am looking forward to being at TechEd this year in Orlando and will be at the Windows SharePoint Services booth. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="Prepare to make your mark. Microsoft Tech&amp;middot;Ed 2007 June 4-8, Orlando" href="http://www.microsoft.com/events/teched2007/registrationpricing.mspx" target="_new" xmlns="http://www.microsoft.com/MSCOM/MNP2/Schemas"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="84" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/AttendingTechEd2007inOrlandoJune48_91D0/sub_hero%5B4%5D.jpg" width="424" border="0"&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3027792" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry><entry><title>Develop for Microsoft Office Live</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/05/23/develop-for-microsoft-office-live.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/05/23/develop-for-microsoft-office-live.aspx</id><published>2007-05-23T23:36:51Z</published><updated>2007-05-23T23:36:51Z</updated><content type="html">&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://officelive.com/"&gt;&lt;img height="64" alt="OfficeLiveLogo" src="http://blogs.msdn.com/blogfiles/doncampbell/WindowsLiveWriter/LearnHowToDevelopforOfficeLive_F44B/OfficeLiveLogo_3.png" width="240" border="0"&gt;&lt;/a&gt; &lt;p&gt;Learn about the &lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=306897"&gt;opportunity that Office Live represents&lt;/a&gt; for developers at one of our upcoming Office Live reviews.&amp;nbsp;  &lt;ul&gt; &lt;li&gt;Do you build software solutions and/or provide services to small business?&amp;nbsp;  &lt;li&gt;Do you want to create an additional stream of income with a low technical barrier of entry?&amp;nbsp;  &lt;li&gt;Are you interested in knowing how to take advantage of the shifting software plus services paradigm?  &lt;li&gt;Then the Office Live Review for Micro ISVs is the event you should attend!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In June we are conducting&amp;nbsp;two &lt;a href="https://microsoft.crgevents.com/officelive/"&gt;Office Live Review&lt;/a&gt; events:  &lt;p&gt;· &lt;b&gt;Tuesday, June 5&lt;sup&gt;th&lt;/sup&gt;&lt;/b&gt; at the &lt;a href="http://www.microsoft.com/services/microsoftservices/srv_mtcBoston.mspx"&gt;Microsoft Technical Center in Boston, Mass.&lt;/a&gt; &lt;p&gt;· &lt;b&gt;Monday, June 11&lt;sup&gt;th&lt;/sup&gt;&lt;/b&gt; at the &lt;a href="http://www.microsoft.com/services/microsoftservices/srv_MTCSilicon_Valley.mspx"&gt;Microsoft Technical Center in Silicon Valley, CA.&lt;/a&gt; &lt;p&gt;These one-day workshop focus on helping custom solution developers, web partners, and ISVs understand Microsoft’s Office Live strategy, how to customize and extend the Microsoft Office Live environment, and identify with Microsoft Office Live offerings – Office Live Basic, Office Live Collaboration, and Office Live Essentials, and what types of scenarios each of these apply to.&amp;nbsp;  &lt;p&gt;As &lt;a href="http://blogs.msdn.com/mglehman/archive/2007/04/10/free-event-office-live-review-for-microisvs-redmond-wa-may-21-2007.aspx"&gt;Michael Lehman posted&lt;/a&gt; in his blog, &lt;strong&gt;attendees will&lt;/strong&gt; &lt;b&gt;receive a free copy of Office 2007 Ultimate and Windows Vista Ultimate! The first 20 people to create an Office Live solution and post it to the Office Live Marketplace will also receive a Zune!&lt;/b&gt; &lt;p&gt;Use registration code: GENATT when you register for the events.  &lt;p&gt;&lt;strong&gt;Agenda:&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;Start - &lt;/strong&gt;&lt;strong&gt;Stop&amp;nbsp; &lt;/strong&gt;&lt;strong&gt;Description&lt;/strong&gt; &lt;p&gt;08:30 - 09:00 Arrival and registration  &lt;p&gt;09:00 - 09:15 Welcome and logistics  &lt;p&gt;09:15 - 10:00 Understanding the Office Live Architecture  &lt;p&gt;10:00 - 11:00 Understanding the Office Live Data and Storage Architecture  &lt;p&gt;11:00 - 12:00Using Workflows to Define Business Rules in Office Live Apps  &lt;p&gt;12:00 - 13:00 Lunch  &lt;p&gt;13:00 - 14:00 Programming with the Office Live Web Service API  &lt;p&gt;14:00 - 15:00 Integrating with Office Live Authentication using Windows Live ID  &lt;p&gt;15:00 - 15:15 Break  &lt;p&gt;15:15 - 16:15 Build Office Live Integration using VS with Project GlidePath  &lt;p&gt;16:15 - 17:15 Creating Mash-Ups in Office Live  &lt;p&gt;My colleague &lt;a href="http://blogs.msdn.com/doncampbell/"&gt;Don Campbell&lt;/a&gt; and I will be leading these events, and I hope to see you there!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2822842" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry><entry><title>Microsoft Office Live Session at Mix 07</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/05/23/learn-how-to-develop-for-microsoft-office-live.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/05/23/learn-how-to-develop-for-microsoft-office-live.aspx</id><published>2007-05-23T22:59:46Z</published><updated>2007-05-23T22:59:46Z</updated><content type="html">&lt;p&gt;&lt;/p&gt; &lt;h6&gt;&lt;a href="http://officelive.com/"&gt;&lt;/a&gt;&amp;nbsp;&lt;/h6&gt; &lt;h6&gt;&amp;nbsp;&lt;/h6&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/doncampbell/WindowsLiveWriter/OfficeLiveMix07_E4E1/mixbling.jpg"&gt;&lt;img height="120" alt="mixbling" src="http://blogs.msdn.com/blogfiles/doncampbell/WindowsLiveWriter/OfficeLiveMix07_E4E1/mixbling_thumb.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt; At Mix 07 my&amp;nbsp;colleague Don Campbell and I did a session about developer opportunities on Microsoft Office Live. &lt;/p&gt; &lt;p&gt;This was my first MIX and was AWESOME!!!&lt;/p&gt; &lt;p&gt;In short the session the following 2 developer opportunity areas&amp;nbsp;on Office Live.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Creating custom Business Applications  &lt;li&gt;Building Web 2.0 Mash Ups, and  &lt;li&gt;Writing rich client WPF applications that connect to Office Live via Web services.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Thanks to everyone who came to our session and for the great feedback.&amp;nbsp; &lt;p&gt;You can get to the recording of the session at &lt;a href="http://sessions.visitmix.com/default.asp?year=All&amp;amp;event=1011&amp;amp;sessionChoice=2011,2012&amp;amp;sortChoice=4&amp;amp;stype=asc&amp;amp;id=1572&amp;amp;search=XD005&amp;amp;rsscheck=rss"&gt;Microsoft Office Live Session at Mix 07&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Few Pictures:&lt;/strong&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0038%5B2%5D.jpg" atomicselection="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0039%5B4%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0039_thumb%5B2%5D.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0038_thumb.jpg" width="240" border="0"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;  &lt;h4&gt;&lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0040%5B3%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0040_thumb%5B1%5D.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0046%5B5%5D.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://blogs.msdn.com/blogfiles/rohitpuri/WindowsLiveWriter/LearnHowToDevelopforMicrosoftOfficeLive_B6BF/IMG_0046_thumb%5B3%5D.jpg" width="240" align="right" border="0"&gt;&lt;/a&gt;&lt;/h4&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2822138" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry><entry><title>Upload/Download file to/from WSS document library using DAV</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/rohitpuri/archive/2007/04/10/upload-download-file-to-from-wss-document-library-using-dav.aspx" /><id>http://blogs.msdn.com/rohitpuri/archive/2007/04/10/upload-download-file-to-from-wss-document-library-using-dav.aspx</id><published>2007-04-10T19:58:26Z</published><updated>2007-04-10T19:58:26Z</updated><content type="html">&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#004080"&gt;I recently had to do this in an WPF client application. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#004080"&gt;Basically this is a static class that provides the following two methods&lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font color="#004080"&gt;UploadFile - To upload a file to a WSS document library.&lt;/font&gt;  &lt;li&gt;&lt;font color="#004080"&gt;DownloadFile - To download a file from as WSS document library.&lt;/font&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h5&gt;Usage:&lt;/h5&gt; &lt;ul&gt; &lt;li&gt;DAVHelper.UploadFile("&lt;a href="http://servername/DL/test.txt"&gt;http://servername/DL/test.txt&lt;/a&gt;", "C:\test.txt");  &lt;li&gt;DAVHelper.DownloadFile("&lt;a href="http://servername/DL/test.txt"&gt;http://servername/DL/test.txt&lt;/a&gt;", "C:\test.txt");&lt;/li&gt;&lt;/ul&gt; &lt;h5&gt;DAVHelper.cs&lt;/h5&gt; &lt;blockquote&gt; &lt;p&gt;using System;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Collections.Generic;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Text;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.IO;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Web;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Net;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Data;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;using System.Diagnostics; &lt;/p&gt; &lt;p&gt;namespace DAVWrapper&lt;/p&gt; &lt;p&gt;{  &lt;p&gt;&lt;/p&gt;public static class DAVHelper  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;public static string UploadFile(string destUrl, string sourcePath)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;try  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;Uri destUri = new Uri(destUrl);  &lt;p&gt;&lt;/p&gt;FileStream inStream = File.OpenRead(sourcePath);  &lt;p&gt;&lt;/p&gt; &lt;p&gt;WebRequest req = WebRequest.Create(destUri);  &lt;p&gt;&lt;/p&gt;req.Method = "PUT"  &lt;p&gt;&lt;/p&gt;req.Headers.Add("Overwrite", "F");  &lt;p&gt;&lt;/p&gt;req.Timeout = System.Threading.Timeout.Infinite;  &lt;p&gt;&lt;/p&gt; &lt;p&gt;req.Credentials = CredentialCache.DefaultCredentials;  &lt;p&gt;&lt;/p&gt;Stream outStream = req.GetRequestStream();  &lt;p&gt;&lt;/p&gt;string status = CopyStream(inStream, outStream);  &lt;p&gt;&lt;/p&gt; &lt;p&gt;if (status == "success")  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;outStream.Close();  &lt;p&gt;&lt;/p&gt;WebResponse ores = req.GetResponse();  &lt;p&gt;&lt;/p&gt; &lt;p&gt;return "success"  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;else  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return status;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;catch (WebException we)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return we.Message;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;catch (System.Exception ee)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return ee.Message;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt; &lt;p&gt;public static string DownloadFile(string sourceUrl, string destFolder)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;try  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;System.Uri sourceUri = new System.Uri(sourceUrl);  &lt;p&gt;&lt;/p&gt; &lt;p&gt;WebRequest req = WebRequest.Create(sourceUri);  &lt;p&gt;&lt;/p&gt;req.Method = "GET"  &lt;p&gt;&lt;/p&gt;req.Timeout = System.Threading.Timeout.Infinite;  &lt;p&gt;&lt;/p&gt;req.Credentials = CredentialCache.DefaultCredentials;  &lt;p&gt;&lt;/p&gt;WebResponse res = req.GetResponse();  &lt;p&gt;&lt;/p&gt;Stream inStream = res.GetResponseStream();  &lt;p&gt;&lt;/p&gt; &lt;p&gt;FileStream fs = new FileStream(destFolder, FileMode.OpenOrCreate);  &lt;p&gt;&lt;/p&gt;string status = CopyStream(inStream, fs);  &lt;p&gt;&lt;/p&gt; &lt;p&gt;if (status == "success")  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;inStream.Close();  &lt;p&gt;&lt;/p&gt;return "success"  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;else  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;inStream.Close();  &lt;p&gt;&lt;/p&gt;return status;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;catch (WebException we)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return we.Message;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;catch (System.Exception ee)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return ee.Message;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt; &lt;p&gt;private static string CopyStream(Stream inStream, Stream outStream)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;try  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;byte[] buffer = new byte[1024];  &lt;p&gt;&lt;/p&gt;for (; ; )  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;int numBytesRead = inStream.Read(buffer, 0, buffer.Length);  &lt;p&gt;&lt;/p&gt;if (numBytesRead &amp;lt;= 0)  &lt;p&gt;&lt;/p&gt;break;  &lt;p&gt;&lt;/p&gt; &lt;p&gt;outStream.Write(buffer, 0, numBytesRead);  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;inStream.Close();  &lt;p&gt;&lt;/p&gt; &lt;p&gt;return "success"  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;catch (System.Exception ee)  &lt;p&gt;&lt;/p&gt;{  &lt;p&gt;&lt;/p&gt;return ee.Message;  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;p&gt;&lt;/p&gt;}  &lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2080197" width="1" height="1"&gt;</content><author><name>rohitpuri</name><uri>http://blogs.msdn.com/members/rohitpuri.aspx</uri></author></entry></feed>