17 Temmuz 2011 Pazar

Programming with SPFile Objects

WSS obje modelinden bir sayfaya ulaşmak için SPFile sınıfını kullanırız. Bir sayfayı SPFile objesinin GetFile metodunu kullanarak okuyup değiştirebiliriz.

SPWeb site = SPContext.Current.Web;
SPFile homePage = site.GetFile("default.aspx");

OpenBinary ve OpenBinaryStream metodu ile safyayı okuyabilir, SaveBinary metodu ile sayfayı güncelleştirebilirsiniz. Ancak unutulmamalıdır ki güncelleştirilen sayfalar özelleşecektir ve unghosted halini alacaktır.

Delete, MoveTo, CopyTo metodları ile sayfaları silebilir, kopyalayabilir hatta yerlerini değiştrebilirsiniz.

Add metodu ile yeni sayfalar oluşturabilir. MemoryStream metodu ile bu sayfalara kod yazabilirsiniz.

// write out new page in memory stream
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("<html><body>");
writer.WriteLine("Hello, World");
writer.WriteLine("</body></html>");
writer.Flush();

// add new page to site
SPWeb site = SPContext.Current.Web;
site.Files.Add("hello.htm", stream);

Ancak Add metodu yalnızca unghosted sayfalar oluşturduğunu unutmamamız gerekir.

Sayfaların özelleştirilmiş olup olmadığını öğrenmemiz için SPFile sınıfı bize CustomizedPageStatus propertysini sunar. Dahası RevertContentStream metodu ile bir sayfanın özelleştirilen özelliklerini kaldırarak o sayfayı ghosted haline çevirebilir.

Rerefence: Inside Microsoft Windows SharePoint Services 3.0 by Ted Pattisonand, Daniel Larson

Hiç yorum yok:

Yorum Gönder