Sayfalar

6 Ağustos 2013 Salı

ASP.NET MVC HABER SİTESİ V2

Haber sitesinin yeni versiyonunu github a yükledim. Yeni versiyonun adresi:

https://github.com/alirizaadiyahsi/HaberSitesiV2

Yeni versiyonu indirdikten sonra ilk yapılması gereken web.config dosyasında, aşağıdaki satırlarda ayarlama yapmak:

<connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" 
        connectionString="data source=localhost;database=HaberSitesiDb;
            integrated security=true;MultipleActiveResultSets=True;" />
</connectionStrings>
<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com"
                 port="587"
                 userName="xxx@gmail.com"
                 password="sifre"
                 enableSsl="false"/>
      </smtp>
    </mailSettings>
  </system.net>

Connectionstring ve mail ayarları. Mail ayarları yeni uye olanlar için uye onaylama linki gondermek için gereklidir. Aksi taktirde sisteme uye olmak isteyenlere e-posta dogrulama kodu gonderilemeyecektir.

Uygulamayı indirdikten sonra çalıştırdığınızda veritabanı otomatik olarak belirlediginiz yere (connection string e gore) kurulacaktır. Yönetici olarak bir kullanıcı eklenecektir.

Yöneticinin;
 kullanıcı adı: admin@gmail.com
şifre: Admin

Yönetici olarak giriş yaptıktan sonra sisteme haber ekleyebilirsiniz.  Şimdilik bir hata gorunmuyor gibi. Test edilip geri donus oldukca, iyileştirmeler olacaktır.

Açıklama olarak neler ekleyebileceğimi şimdilik tasarlayamadım. Gerekli açıklamaları, sistemin kısıtlarını, teknik özelliklerini, vb. gibi detayları tasarlama kısmı biraz zaman alıyor. Bu işlerle zaman kaybedip, projeyi bekletmek istemedigimden direk yayınladım. Zamanla, geri donus oldukca, gerekli acıklamalarıda projenin, readme.md dosyasına da ekleyeceğim. Bu arada zaten dersler boyunca proje üzerinden anlatım olacak. Böylece projede tam olarak anlasılacaktır.

Projeyi indiren arkadaslardan ricam, geri donus yapmalarıdır. Anlasılmayan, eksik kalan yerleri. Proje hala geliştirme aşamasındadır. Şu haliyle de zaten bir haber sitesi gibi kullanılabilir durumdadır. Üyeliği biten bir site bitmiş demektir.

Kolay Gelsin.

62 yorum:

  1. Projenin çalıştırılması ile alakalıda bir ders olsa benim ve benim gibi arkadaşlar için iyi olacak :)

    Bu arada gerçekten emeğinize saygı duyuyorum ve teşekkür ediyorum çok yararlı konular ve tatmin edici anlatımlarınız bulunmakta

    Not: Proje V1 çalıştı sadece index sayfası geliyor fakat admin sayfasına ulaşamadım böyle bir sayfa yok diyor.

    V2 versiyonda ise çoğu DLL bulunamıyor.

    YanıtlaSil
    Yanıtlar
    1. V2 ye bakıyorum hemen. V1 de admin için link koymamısım, tarayıcıdan yazarak girebilirsiniz. Ama V2, V1 den daha kapsamlı. V2 yi tekrardan kontrol edeyim. Bu arada yakaladıgınız hata mesajları falan olursa bunları yazarsanız düzeltmeye calısayım.

      Sil
    2. Sorunu çözdüm. Şimdi çalışıyor. Tekrar deneyip, geri dönüş yapar mısınız?

      Sil
    3. Hemen deniyorum teşşekkür ederim.

      Sil
  2. AdminAreaRegistration.cs hatası aşıyorum

    Aşağıdaki hata yazısı geliyor ve dosyayı bulmamı isyiyor.

    the source file is defferent from when the module was built. Would you like the debugger to use it anyway?

    YanıtlaSil
    Yanıtlar
    1. VisualStudio 2012 mi kullanıyorsunuz? 2010 da çalışmaz.

      Sil
    2. birde şu linki inceler misiniz?

      http://netmassdownloader.codeplex.com/discussions/21775

      Sil
  3. Derleme sırasında 'Admin_default' adlı yönlendirme zaten yönlendirme koleksiyonunda yer alıyor. Yönlendirme adları benzersiz olmalıdır. hatası veriyor.
    Dosya adı = AdminAreaRegistiration.cs

    YanıtlaSil
    Yanıtlar
    1. Bu hatayı almamanız gerekiyor, çünkü Admin nin Route ayarı yapılmış durumda, Çalıştırmadan önce projenin tamamını bir derleyin

      Sil
  4. Sanırım derleme sırasında veritabanı oluşmadan bu kodun çalışmasından kaynaklanıyor Rebuild ettiğimde

    The variable 'ex' is declared but never used Hataları alıyorum.

    Size biraz uğraştıracağım ama kusura bakmayın

    YanıtlaSil
    Yanıtlar
    1. onlar hata degil. Sorun yok. Projeyi çalıştırın veritabanını kendisi kuracaktır.

      Sil
  5. ali rıza bey skype varmı eklesem yada siz beni ekseniz er.samet@hotmail.com

    YanıtlaSil
    Yanıtlar
    1. skype yok hocam, kusura bakmayın. Buradan yazarsanız hem başkalarınada faydalı olur.

      Sil
  6. Ok ekran görüntüsünü size göstermek için istemiştim yalız dosyaları yeniden indirdim az önce şu an çalıştı bir sıkıntı gözükmüyor emeginize sağlık

    YanıtlaSil
    Yanıtlar
    1. Evet sıkıntı çıkarmaması lazım. Sadece web.config içerisinde connectionStrging i (ihtiyaç varsa) ve mail ayarlarını ayarlamanız lazım. Ben de indirdim ve çalıştırdım bir sorun görünmüyor. Admin ile giriş yapıp, haber ekleyince ana sayfada haberler gorunmeye baslayacaktır.

      Sil
  7. Ewt sıkıntısız çalışıyor teşekkürler

    YanıtlaSil
    Yanıtlar
    1. Hocam, takıldığınız noktalarda buraya yazarsanız sevinirim. Eksik bir yer kalmasın istiyorum. Kolay gelsin, iyi çalışmalar...

      Sil
  8. Daha tam incelemedi ama, gördüğüm kadarıyla admin sayfasındaki yorumlar bölümü çalışmıyor. Güzel bir çalışma olmuş. Ama keşke bunu aşama aşama yazsaydın veya videosunu yapsaydın, öğrenmemize çok faydalı olacaktı.
    Yine saol

    YanıtlaSil
    Yanıtlar
    1. Hepsi doğal gelişiyor hocam. Aklımda proje yapmak yoktu. Ben sadece makale yazmaya çalışıyordum, proje olsa iyi olur dediler, proje yaptım. Aşama aşama hem yazıp hem sürekli anlatmak kolay iş değil. yarım saatte yapılan bir proje de değil ki geliştirme aşaması anlatılsın. Aşama aşama anlatma işini makaleler içerisinde eklemeye çalışıyorum.

      Bu arada projeyi, anlatılanların uygulaması olacak şekilde geliştiriyorum. Tam manasıyla bitmiş bir proje olarak çalışması için değil. Tabi mimariyi, geliştirmeye uygun esneklikte yapmaya çalışıyorum. Böylece bu uygulamayı kullanmak/yayınlamak isteyenler, küçük eklemelerle yayına hazır hale getirebilirler.

      Yorumlar sayfası içinse; tüm yorumları gösterme değilde, habere göre yorumları gösterme gibi bir ekran da olabilir diye düşünüyorum. Tam olarak gösterimin nasıl olacağına karar veremediğim için henüz eklemedim. Tavsiye gelirse, ona göre de yapabiliriz.

      Sil
  9. Merhaba,
    Service katmanı diye belirttiğin katman içersinde service olamayan bir katman bunu değiştirmelisin :)

    YanıtlaSil
  10. ConnectionString' de nasıl bir değişiklik yapacağız ? Veritabanı bağlantı hatası alıyorum

    YanıtlaSil
    Yanıtlar
    1. veritabanı nereye kurulsun istiyorsanız, onun stringini yazın. Değişiklik yapmazsanız, zaten localhost a, veritanı kurulacaktır.

      Sil
  11. Bu yorum yazar tarafından silindi.

    YanıtlaSil
    Yanıtlar
    1. Kerim Duran beyin yazdığına verdiğim cevapta bunun nedeni var.

      Sil
  12. Merhaba güzel bir uygulama olmuş, teşekkür ederim ama değinmek istediğim birkaç nokta var. Yazar editör ya da modaratör herhangi bir haber falan ekleyemiyor, sanırım onlar için ayrı bi area açmamız gerekiyor. 2. bi noktada giriş yaptıktan sonra üyelik bilgilerini değiştiremiyoruz. Yorum sayfası içinde habere göre yorumları gösterme fikri bence doğru olur..

    YanıtlaSil
    Yanıtlar
    1. Bu uygulama eğitim amaçlı, tam olarak çalışan bir haber sitesi değil. İşlenilen konuyu anlatmak amaçlı olduğundan gerektiği kadar özelliği var. Aslında basit bir proje altyapısıda diyebiliriz. Uygulamaya bu açıdan bakmalısınız :) Ayrıca yazar, moderatör ve ya herhangibir başka rol. Bunlar için Area da açabilirsiniz, Admin area içerisindeki metodlara role göre yüklenme iznide verebilirsiniz. Her rol için, area açmak iyi bir yöntem değil.

      Sil
    2. Teşekkür ederim :)

      Sil
  13. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

    public Kullanici AktifKullanici(string eposta)
    {
    return db.Kullanici
    .FirstOrDefault(x => x.Eposta == eposta);
    }

    burda hata alıyorum

    YanıtlaSil
    Yanıtlar
    1. ConnectionString i kendi veritabanınıza göre ayarladınız mı?

      Sil
  14. manşet haber ie da çalışmıyor
    windows 7 ie

    YanıtlaSil
    Yanıtlar
    1. Çalışmıyor derken neyi kastediyorsunuz? görünmüyor mu yoksa başka bir problem mi?

      Sil
  15. görünmüyor desteklemiyor sanırıım denerseniz

    YanıtlaSil
  16. Repository yi projede kullanmak lazım aynı kodları farklı entityler için tekrarlamışsın.

    YanıtlaSil
    Yanıtlar
    1. Aynı kodlarıda tekrarlamışsın derken neyi kastettin? Hangi kodlar tekrarlanmış?

      Sil
    2. Search metodu ekliyceksin diyelim tüm entityler için bunu yazman gerekecek. Bunun yerine interface tanımlayıp implemente etsen daha iyi olur bence :)

      Sil
    3. Sonuçta her entity için yine search metodunu implement edip, search algoritmasını yazacaksın. Yine koddan tasarruf yok. Repository Pattern, projeyi yapısal olarak ayırmak için kullanılır (veritabanına erişen bir katman), kod tekrarını engellemek için değil. EntityFramework aslında kendisi bir Repository Pattern dır. Ama bağımlılığı artırdığı için EF ile de Repository kullanılabilir. Son yazdığım makaleler de zaten Repository kullanılıyor. Ama dediğim gibi Repository kullanmamın sebebi, kod tekrarını azaltmak değil, veritabanına erişen bir katmanın olması ve EF ye bağımlı olmaması için.

      Sil
  17. Kayıt olduktan sonra maile gelen bir onay kodu msjı veriyor giriş yapılmıyor ne önerirsin giriş yapabilmemiz için

    YanıtlaSil
    Yanıtlar
    1. Tam olarak anlamadım, onay mesajı gelmeden, direk kayıt olup giriş mi yapsın, yoksa onay mesajından sonra hemen giriş mi yapsın? Aslında maildeki linke tıkladığında kullanıcı giriş yapmış olması gerekiyor, yani bir sorun olmaması lazım

      Sil
  18. Selam. Projede resim ekleme kısmında (haberler, resim ekle, image resizer) herşey düzgün çalışıyor, silme işlemi yaparken veri tabanından siliniyor ama dosya sisteminde resim kalıyor. Delete metodunda sistemden de silme işlemini nasıl yapılır, orjinal büyük ve küçük resimlerin hepsi için.

    YanıtlaSil
    Yanıtlar
    1. C# ile dosya silme işlemlerini araştırıp, bu kısmı kendiniz yazabilirsiniz.

      Sil
  19. Merhaba alirıza hocam çalışmanız gayet başarılı yanlız galeri kısmı da ekleme yaparken haber seçip ekliyorz ama galeri resimleri eksik ti onuda yazsaydınız iyi olurdu neyseki onuda ben haletim

    YanıtlaSil
  20. iyi günler makale olarak deil de video egitim hazırlasaydınız çok daha güzel olurdu bence şahsi fikrim sayın degerli hocam

    YanıtlaSil
  21. .net 4 de çalıştırmamız mümkün müdür hocam ufak tefek derlemelerle

    YanıtlaSil
  22. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  23. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  24. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  25. Hocam veritabanı bağlanmasına rağmen aşağıdaki hata dönüyor.
    Satır 281: add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web.v20, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"

    YanıtlaSil
  26. Solutionı rebuild edince: "The name 'EntityState' does not exist in the current context" hatası alıyorum, "System.Data.Entity" namespaceini "using System.Data.Entity;" diyerek çağırınca düzeliyor. Ayrıca Entity Framework güncellemesi yaptım. "update-database" komutu ile veri tabanı, tablo ve sütunlar oluşuyor fakat içi boş olarak oluşuyor. Bunun nedeni ne olabilir ?(VS 2013 kullanıyorum)

    YanıtlaSil
  27. Merhaba bana yardımcı olabilir misiniz? Şöyle bir hata alıyorum :
    An exception of type 'System.Data.ProviderIncompatibleException' occurred in EntityFramework.dll but was not handled in user code

    YanıtlaSil
  28. Bu kadar bilgi karmaşasında benim için çok güzel açıklayıcı örnekler yapmışsınız. Teşekkür ederim emeğiniz için. Burada uyguladıklarınızla haber portal uygulaması yapmışsınız ve paylaşmışsınız şuan bu linkler kırık rica etsem tekrar paylaşabilir misiniz?

    YanıtlaSil
  29. Merhaba Şuan githubdaki indirme linkiniz çalışmyıyor.

    YanıtlaSil
  30. github üzerindeki link çalışmıyor, projeye nasıl ulaşabiliriz ? Öğrendiklerimi pekiştirmek için proje çok iyi olurdu :)

    YanıtlaSil
    Yanıtlar
    1. https://github.com/alirizaadiyahsi/NewsSite

      Sil
    2. Teşekkürler, V2 sürümü bu değil mi ?

      Sil
    3. Makaleleri yazarken hazırladığım tüm projeleri sildim. Bu en son yaptığım, en güncel ve en kapsamlı proje...

      Sil
  31. Hocam merhaba öncelikle dersleriniz için teşekkür ediyorum bir kaç yerde sorunum oluştu 1-hangi web config ayarlarını yapcaz 2- genel web config de entity framework ile NewsSiteDB oluşturulmuş HaberSitesiDb ile NewsSiteDb arasındaki fark nedir ?

    YanıtlaSil
  32. Merhaba,
    Visual studio 2012'de kodladığım projemi 2015 versiyonunda bazı sayfalardaki kodlar çalışmamakta.Sürüm yükselttiğim dolayı yaşadığım sorun ile ilgili 2015 versiyonunda sorunsuz çalışması için bir öneriniz varmı? Yoksa 2012 üzerindenmi devam etmeliyim?
    Teşekkürler.

    YanıtlaSil
  33. Ali Rıza Bey emeğinize sağlık ilgili projeyi responsive hale getirmek istiyorum. Bunun için habersitesi.web klasörü içindeki tüm dosyaları editlemek mi gerekecek. Nereden başlamam gerekiyor.

    YanıtlaSil