Pazartesi, Ocak 26, 2009

Portal Geliştirirken Bir Daha Düşünün

Portal tabanlı uygulama geliştireceklere önerim, eğer çok büyük uygulamalar ve çok fazla entegrasyon içermeyecekse ve bütçeniz de kısıtlıysa SharePoint yerine DotNetNuke kullanmanızı öneririm. Sakın aspnet wizardlarıyla starter kit üzerinden web site oluşturmayın, her şeyi html koduna yazdığı için kodunuz bir yerden sonra hem çöplüğe dönüyor hem de altyapısı sizin kontrolünüzde olmadığı için bir yerden sonra wizard kullanarak kazandığınız zamanın daha fazlasını kişiselleştirmek için harcamak zorunda kalıyorsunuz.

Zaten OOP mantığında yetişen uygulama geliştiriciler için iş mantığının arayüz kodlarında bulunması da yazılım geliştirme açısından katliam sayılabilecek bir davranıştır.

SharePoint Erişim İstisnası

Web Uygulaması Geliştirirken yada SharePoint'te veritabanı ile ilgili işlem yapıyorsanız yada başka bir dll çağırıyorsanız buna benzer bir istisna aldığınızda

System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.PermissionSet.Demand() at System.Data.Common.DbConnectionOptions.DemandPermission() at System.Data.SqlClient.SqlConnection.PermissionDemand() at System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at WebUserControls_TestWUControl.GetTableByQuery(String strQuery, String strConnection) The action that failed was: Demand The type of the first permission that failed was: System.Data.SqlClient.SqlClientPermission The Zone of the assembly that failed was: MyComputer
-------------------------------------------------------------------------------------------------
web config dosyasında
configuration=>system.web sekmesi altında trust level="WSS_Minimal" originUrl=""
ifadesi varsa onun yerine trust level="Full" originUrl=""

bu ifadeyi yazarak uygulamanıza yerel kaynaklara erişim için tam yetki verebilirsiniz. Bu sayede özellikle SharePoint'te kullandığınız her dll'i GAC'a atmaktan kurtulmuş olursunuz.

İyi Çalışmalar,

Visual Studio Solution Dosyalarını Admin Seviyesinde Açmak

Vista kullananlar da benim gibi heralde Visual Studio'da uygulama geliştirirken bazı işlemleri yaparken hata aldıkları zaman her seferinde Visual Studio'yu sağ tıklayıp Run As Administrator diyerek açmaktan bıkmışlardır. Bunun için bir kısa yol önereyim

\Common Files\microsoft shared\MSEnv\VSLauncher.exe dosyasına gidip sağ tıklayıp Properties'i seçtikten sonra Compatibility altındaki Run As Administrator seçeneği seçin ve bir daha sağ tıklayarak uygulama açmak zorunda kalmayın.

İyi Çalışmalar,