Anasayfa RSS Email

c#

Microsoft'dan Open Source CMS

Microsoft'un daha önce başlattığı open source CMS projesi farklı bir isim ve MS desteksiz şekilde public olarak indirilebilir. Proje henüz yolun başında ancak Codeplex üzerinden source kodlara erişebileceğiniz söyleniyor. Ben henüz incelem fırsatı bulamadım ancak ASP.NET MVC için güzel  bir örnek olacağa benziyor. ZDNET'den haberi : http://blogs.zdnet.com/microsoft/?p=4506 Codeplex sitesi : http://orchard.codeplex.com/ Kaynak kodlara erişim için : http://orchard.codeplex.com/wikipage?title=enlist&referringTitle=Documentation

Specified Pickup Directory özelliği ile geliştirme ortamınızda smtp sunucusu kullanmanıza gerek yok.

Geliştirme ortamınızda programınız içinden email gönderilmesi durumunda geçici bir email server kurabilir ya da production da olan bir smtp sunucusu üzerinden çalışma yapabilirsiniz. Ben daha önce genellikle kendi makineme ya da geliştirme ortamına local bir smtp sunucusu kurardım. Bunun yerine system.net için web.config dosyanızda aşağıda ki tanımlamayı yaparsanız. Program içinden system.net ile email göndermek istediğinizde emailer C:\gidenposta klasörüne .eml uzantılı dosyalar olarak yazılır .eml dosyası çift tıkladığınız da email istemci yazılımınız tarafından açılacaktır. <configuration>     <system.net>         <mailSettings>             <smtp deliveryMethod="SpecifiedPickupDirectory">                 <specifiedPickupDirectory pickupDirectoryLocation="c:\gidenposta" />             </smtp>         </mailSettings>     </system.net> </configuration>

Fluent Interface

Fluent Interface kavramı 20 Aralık 2005 tarihli Fluent Interface (akıcı arayüz) başlıklı makalesinde anlattığı gibi Martin Fowler ve Eric Evans tarafından bulunmuştur. Temel olarak birbiri arkasına aynı satırda çağrılan methodlar ile okunurken yaptığı işi anlatan methodlar hazırlanmasıdır. Bunu yapmak için bir methoddan geriye aynı nesneyi dönmek yeterlidir. Method çağrılarının "akıcı" şekilde okunması ile yapılan işin kendi kendini anlatır şekilde, dokumente edilmiş, yorum satırı ile desteklenmiş gibi açıklayıcı Örneğin Field bazında sorgulama yapmak için kullanılacak bir sınıf tanımlayalım ve bunun Fluent Interface  public class FieldCriteria     {         public string FieldName { get; private set; }         public FieldCriteria(string fieldName)         {             this.FieldName = fieldName;         }         public FieldCriteria StartsWith(string startsWith)         {             return this;        ...

Partial Methods

C# 3.0 ile beraber gelen partial class yapısını artık ister istemez bir çoğumuz kullanıyoruz. Visual Studio Designer'ları aracılığı ile oluşturulan sınıflar genellikle partial class olarak oluşturulur. Partial class ların ne olduğunu kısaca hatırlamak gerekirse; fiziksel olarak yada aynı fiziksel dosyada (amacına göre ayrı iki .cs dosyasında olması makbul ve mantıklıdır) tanımlanan class tanımlarının tek bir class olarak çalışması ve derlenmesidir. Yani aslında bir sınıfın methodların farklı .cs dosyalarında tanımalayabilmeyi sağlar. Kısaca ApprovalDocument.cs içinde aşağıdaki property ve methodların olduğunu varsayalım.  public partial class ApprovalDocument     {         public string DocumentName { get; set; }         public bool Delete()         {             //delete işleri...             return true;         }         public bool Save()         {             //persistency için gerekli işler...

Harici Assembly dosyalarını embedded resource olarak kullanmak

Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .NET uygulamaları geliştirirken .NET Framework Base Class Library (BCL) kütüphanelerini projelerimize referans ekleyerek kullanırız ve bu kütüphaneleri projemizi dağıtırken dağıtmamız yani istemci bilgisayarlara kopyalamamıza gerek yoktur, zira örneğin System.Net.Dll dosyasını referans ekleyip kullandığınızda sadece bu dosyayı kullanan kendi proje dosyalarınızı uygulamanızın çalışacağı ortama kopyalamanız gerekir. Ancak bir şekilde edindiğiniz .NET uygulamalarının tek bir dosya olarak dağıtıldığına şahit olmuşsunuzdur. Eğer .NET Framework BCL dışında kullanılan tüm sınıflar sizin tarafınızdan yazılmış ise, ya da açık kaynak kodlu bir kütüphane desteği alıyorsanız ve bu harici kütüphanenin lisanslama modeli kaynak kodları kendi projenize dahil etmenizi ve bu şekilde derleyip dağıtmanızı engellemiyor ise sorun yok tek bir...

Web Statistics