AspState Aktif Etmek için

by Behlul 5. January 2010 17:35

Sessionlarımızı kalıcı olarak sql de tutmak için

MSSQL'imizi kurduktan sonra

 

Comand prompt'tan

mevcut framework klasörüne erişip aşağıdaki kodu çalıştırdığımızda ilgili tabloların yartılıdığını görürürüz

 

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -ssadd -sstype p -U sa -P sasifresi -S .

Burdaki -P yi yazmazssak ilgili tabloların yaratılmadıgını göreceğiz bu aspstatelerin tempdb'sinde tutulmasını sağlar

daha fazla bilgi için;

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -?

yazarak açıklamaları okumanızı tavsiye ederim

 

şimdi web config dosyamıza

<

 

sessionState mode="SQLServer" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=ilgiliserver; user id=kullaniciID;password=sifre"

/>


yazmamız yeterli olacaktır.

Tags: ,

Coding | Hint

Over by Partition

by Behlul 29. December 2009 05:45

SELECT *
FROM(

      SELECT  *,
                 ROW_NUMBER() OVER (PARTITION BY TestMasterID ORDER BY TestMasterID desc ) as pos                
       FROM
  TestDetay
      
)as Detay INNER JOIN TestMaster as Master on Master.TestMasterID=Detay.TestMasterID
Where Detay.pos >2

Tags:

Coding | Hint

Redirect after 3 seconds

by Behlul 25. December 2009 07:43

<head>
   <META HTTP-EQUIV="refresh" content="3;URL=banu.htm">
</head>

Tags:

Coding | Hint

Birazcık Sihire Nedersiniz ?

by Behlul 25. December 2009 07:37

Şöyle güzel bir site açalım. Bol resim yazı grafik falan olsun.

sonra adres çubuğuna java script kodunu kopyala yapıştır yapalım.

Şimdi boş durmayalım sayfayı kendimize göre düzenleyelim.

Sürükle bırak metodu ile herşeyi serbestce değiştirebilirsiniz.

iyi eğlenceler :)

 

javascript:void(document.body.contentEditable="true");

Tags:

Coding

window.location.href simple link works in IE but not in Firefox

by Behlul 8. December 2009 19:25

Aynı Sayfa içinde window.location.href ' le verince Firefox ve chrome da sayfa postback oluyor.

bunun yerine window.location.hash kullanılırsa sorun çözülüyor....

< a  onclick="selectTab(2);" style="cursor: pointer;"><script type="text/javascript"

$(document).ready(function(){

$(

"#tabs").tabs();

 

 });

 

function selectTab(tab) {

var $tabs = $('#tabs').tabs();

$tabs.tabs('select', tab);

var locationObj = "#tabs"; return false;

window.location.hash = locationObj;

 

 }

</script>

 

Tags: , ,

Coding | Hint

IE'nin window.attachEvent i varsa Firefox'un ....

by Behlul 6. October 2009 16:10

 if  (window.addEventListener)

         window.addEventListener('load', function, false)

else if (window.attachEvent)

 window.attachEvent('onload', function);

else if (document.getElementById)

        window.onload=function;

Tags:

Coding | Hint

Chrome Incognito

by Behlul 23. September 2009 15:04

Tags: ,

Hint

Improve Stored Procedure Performance

by Behlul 9. September 2009 16:34

Sometimes even the simplest things can make a difference.  One of these simple items that should be part of every stored procedure is SET NOCOUNT ON.  This one line of code, put at the top of a stored procedure turns off the messages that SQL Server sends back to the client after each T-SQL statement is executed.  This is performed for all SELECT, INSERT, UPDATE, and DELETE statements. Having this information is handy when you run a T-SQL statement in a query window, but when stored procedures are run there is no need for this information to be passed back to the client.

By removing this extra overhead from the network it can greatly improve overall performance for your database and application.

If you still need to get the number of rows affected by the T-SQL statement that is executing you can still use the @@ROWCOUNT option.  By issuing a SET NOCOUNT ON this function (@@ROWCOUNT) still works and can still be used in your stored procedures to identify how many rows were affected by the statement.

Tags: , ,

Coding | Hint

Sql ShortCuts

by Behlul 4. September 2009 18:44

Management studio'da kısa yolları kaydetmek için Tools ==> Options ==> Keybord seçerek

istenilen tuş kombinasyonuna ister yazdığımız bir function, ister bir store procedure atayabiliyoruz.

atamadan sonra Management Studio'yu tekrar başlatmak gerekiyor...

Tags: , ,

Coding | Hint

Yeni Blog

by Behlul 4. September 2009 09:11

Gerçekten çok uzun zaman oldu bişeyler karalamayalı yada öğrendiğim bir şeyleri paylaşmayalı...

yeniden yazmak için yeni bir blogla burdayım

 

Eski makaleler ve yazılarımı kısa bir sürede burada görebileceksiniz...

Tags:

Yeni

Evleniyoruz

by Behlul 18. July 2009 17:00

Evet en sonunda Banu'yla hayatlarımızı birleştiriyoruz...

Bir ömür boyu mutluluklar bize Laughing...

Özlem'e teşekkürler....

Tags:

Life

Son güncellenenler

by Behlul 24. October 2008 10:26

SELECT
    *
FROM
    INFORMATION_SCHEMA.ROUTINES
ORDER BY
    
LAST_ALTERED DESC

Tags: ,

Hint

Microsoft Releases Robotics Developer Studio 2008 CTP

by Behlul 10. April 2008 07:17

Microsoft today released the first community technology preview (CTP) of Robotics Developer Studio 2008 at the RoboBusiness conference in Pittsburgh.

The product is the third version of the robotics programming platform, which previously had been called the Microsoft Robotics Studio.

Microsoft Robotics Developer Studio 2008 (RDS 08) significantly improves runtime performance, from 150 percent to 300 percent,
according to Microsoft General Manager of the Robotics Group Tandy Trower. "It's not the monolithic, single-threaded model that people have normally used for robots.

 Instead this is a more asynchronous, distributed approach to programming," Trower said.

Trower said RDS 08 will enable developers to write code and routines that rely on asynchronous message passing,
 providing for a more distributed runtime environment and expanding the potential for future robots to process and act on large volumes of information.
According to a Microsoft release, RDS 08 adds support for distributed language integrated queries (LINQ), intended to enable "advanced filtering and inline processing of sensor data at the source."

According to Trower, the distributed application architecture will make it easier for robotic applications to access processing from remote sources,
enabling a simple machine to act on complex processing done on a corporate server or in the cloud.

"You can have cooperative robotic interaction, because the robots can easily share information among each other," Trower said.

The RDS 08 CTP also provides improved sensor interaction, enabling sensors to send granular state change information to the processor, rather than requiring code that constantly checks sensor status.

Microsoft Robotics Studio was launched in 2006 to give developers a way to write high-level robotics applications without having to dive down into the minutiae of hundreds of different sensor and motor interfaces.

Ultimately, Trower said, the tools and techniques developers in the Robotics group could very well end up in mainstream development products at Microsoft.

"You will see that this year the core pieces -- the CCR, which is our concurrency coordination runtime and our DSS services, which is its companion that provides the concurrency model across the distributed network -- these pieces we actually will separate out and offer independently as well as in the toolkit, so that people who are interested in using this for [other] applications will be able to do that," Trower said.

"You will also see them positioned as part of the development tools family outside of the robotics area by our marketing team in our developer tools marketing group."

Tags: ,

Robotics

Disable Button After Click

by Behlul 12. February 2008 07:24

 

Aklımızda, blogumuzda dursun

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   If Not Page.IsPostBack Then

      btnEKTalepEkle.Attributes.Add(

"onclick", "btnEKTalepEkle.disabled=true;" & Me.GetPostBackEventReference(Me.btnEKTalepEkle))

  End If

Tags:

Coding | Hint

What is Project Management

by Behlul 14. January 2008 07:46

Budur....

Tags:

Coding | Hint

İşte Ben :)

by Behlul 25. December 2007 07:49

 

Ellerine Sağlık Özlem

 

Gerçi şişman çizmiş ama... :)

Tags:

MultiLine TextBox MaxLength Problem & Solution

by Behlul 3. October 2007 07:30

Bildiğiniz gibi asp.net uygulamalarında textboxlara karakter sınırı koymak için maxlength adlı propertisini kullanabiliriz.

 Fakat textbox'ın textmode=multiline yapınca her nedense bu property çalışmıyor.(Bug mı acaba?)

 

Bu sorunu ekteki javascript'i kullanarak aşabiliriz.

   

    <script type="text/javascript" language="JavaScript">

    function textCounter(field,cntfield,maxlimit) {

        if (field.value.length > maxlimit)

            field.value = field.value.substring(0, maxlimit);

 

        else

            cntfield.value = maxlimit - field.value.length;

       }

    </script>

 

 

 

       <table>

           <tr>

               <td>

                   <input readonly type="text" name="Sayac" maxlength="3" value="230" style="width: 29px" />

                   Kalan karakter sayısı

               </td>

           </tr>

           <tr>

               <td>

                   <asp:TextBox runat="server" ID="txtKisitli" Width="250px" Height="100px" TextMode="MultiLine"

                       onKeyDown="textCounter(document.aspnetForm.txtKisitli,document.aspnetForm.Sayac,230)"

                       onKeyUp="textCounter(document.aspnetForm.txtKisitli,document.aspnetForm.Sayac,230)">

                   </asp:TextBox>

               </td>

           </tr>

       </table>

 

Tags:

Coding | Bug

10. Eğitimciler Zirvesi

by Behlul 6. July 2007 07:40

10. Eğitimciler Zirvesi 06-07 Haziran tarihleri arasında Crowne Plaza'da gerçekleşti.

Bir çok değerli konuşmacının katıldığı zirvede, bende ilk gün,

 benimde içinde bulunduğum yazılım ekibinin geliştirdiği Eğitim Portalını katılımcılara tanıttım.

Tags:

Life

Adobe LiveCycle Instructor

by Behlul 4. March 2007 10:34

Döküman yönetimi çağımızın sorunu. Halen basit masraf formlarımızın bile çıktısını alıp kişi kiş dolaştırıp en son muhasebeye kendi ellerimizle götürüyoruz. Bu zaman kaybı olduğu gibi onlarca ağacın kesilmesi anlamında geliyor. Şirket çalışanları basit bir masraf formunun kimden kime geçeceğini bilmek zorunda mı? 3 kuruşun peşine düşmüş gibi dakikalarca kime imzalatması gerektiğini öğrenmeli mi? Hayır. :) Adobe LiveCycle, bu ve bunun gibi iş akışı gereken her türlü işi bizim için yönetebilir.

Örneğin yine o basit masraf formlarımızdan başlayalım;

Şirketimizde, 1000ytl üzeri masraflar önce icra kurulu üyesine sonra amiri sonra muhasebeye gitsin.
                  1000ytl altında ki masraflar ise birim müdürü, ik ve daha sonra muhasebeye gitsin.

Eğer icra kurulu üyesi 30 dakika içinde form üzerinde hiçbir işlem yapmazsa form otomatik olarak birim müdür yardımcısına mail olarak gitsin ve X veritabanında ki y tablosundaki z kolonuna masrafı kaydetsin.

 

Evet bu yukarda örneklediğim senaryoyu ve daha karmaşık senaryoları Adobe LiveCycle ile rahatlıkla yönetebilr, Zaman ve para kaybını önleyebilrsiniz.

Ürünü incelemek ve daha detaylı bilgi  behlulbehram@gmail.com adresine sorularınızı gönderebilirsiniz.


Adobe LiveCycle ürününün;

LiveCycle Designer
LiveCycle Forms 
LiveCycle Workflow modüllerinin Trainer sertifikalarını, Munich'te katıldığım TTT eğitimini tamamlayıp, sınav ve sunumlarını yaparak aldım.

Destekleri için çalışma arkadaşlarım ve Evren Ayan hocama sonsuz teşekkürler.

 

Tags: ,

Coding

Login Sayfalarında "Beni Hatırla" (Cookie)

by Behlul 6. February 2007 07:33

Üyelik sistemlerinde sıklıkla karşılaşılan sorulardan biri de "Beni Hatırla" özelliğidir, makalemde Cookie kullanarak "Beni Hatırla" opsiyonunu login sayfalarına nasıl adapte edebileceğinizi anlatacağım.

Web sitesinin kullanıcıları hatırlaması için bir çok yöntem var. Örneğin Mac adresini kullanıcı ile eşleyerek veritabanına yazmak bunlardan biri. Fakat hem kullanım alanının çok verimli olmayışı hem de kullanılabilirliliğinin azlığı nedeniyle pek kullanılan bir yöntem değildir. Diğer ve etkin bir yöntem ise Cookiler.

Cookiler kullanıcı tarafında  saklanan text tabanlı dosyalardır. Bu dosyaların yönetimi, içeriği ve erişimi tamamen cooki'yi yaratan web sitesine aittir. Cookilerin ömürlerini biz belirleyebildiğimiz gibi, içerik değişiklikleri, silinmesi, expire olması gibi tüm özelliklerini de server tarafından yönetebiliriz. Ayrıca kullanıcı isterse cookieleri kapatabileceğinden yada internet tarayıcısı üzerinde bunları rahatlıka temizleyebileceğinden, tüm sistemi kesinlikle cookiler üzerine kurmamalıyız.  Bu yazıda Cookileri web sitesine giriş yaparken, kullanıcıyı hatırlamak için gerekli olan değeri kullanıcının bilgisayarına (Client Side) kaydederek saklamak için kullanacağız. Cookiler kullanıcı tarafında saklandığı için potansiyel güvenlik açıklarını da beraberinde getirir. Bu nedenle, kullanıcıyı tanımlamada kullanacağımız bilgiler, sistemimizi minimum düzeyde tehlikeye sokacak düzeyde olmalıdır. Bu nedenle cookie de saklanacak veri kullanıcı adı ve şifresi olmamalıdır.

Cookie yönetebilen bir login.aspx nasıl olmalı :

Bu uygulamada cookilere yazıcağımız değeri şifrelemek yerine veritabanında unique indetifier olarak tanımladığımız UserId ile dolduruyoruz. Bu bize cookie okunduğu zaman o kullanıcıyla ilgili herhangibir bilginin dışarı sızmasını engelliyor.

Bu sistem bize projemizin business tarafında kullanıcıadı ve şifre denetleyerek kullanıcları tanıma yönteminin dışında UserId kullanarak kullanıcı tanımlama fonksiyonuna ihtiyacımız olduğunu gösteriyor.

Öncelikle buttonumuzun click eventini yazalım:

 

     Cookie.buss buss = new Cookie.buss(); 
     DataTable user = new DataTable();   
     user = buss.GetUser(TextBox1.Text.Trim(), TextBox2.Text.Trim());
//ekrandan girilen kullanıcı adi ve şifreyi doğrulayan kullanıcı varmı?
         
if (user.Rows.Count>0)
         {
            
if (CheckBox1.Checked) //Beni hatırla checkbox'ı
            {
             Response.Cookies[
"behluluser"].Value = user.Rows[0]["UserId"].ToString(); //Cookiemizi yaratıp guid'imizi içine yazalım.
             Response.Cookies[
"behluluser"].Expires = DateTime.Now.AddYears(30);  //Cookiye 30 yıl yaşama şansı verelim.
            }
          Response.Redirect(
"http:\\www.behlulbehram.com"); //kullanıcı başarıyla girdi istediğimiz sayfaya yönlendirelim.
         }
        else 
            Label1.Text = "kullanıcı bulunamadi";

 

Not: Farklı windows kullanıcıları aynı siteye girselerde farklı cookiler yaratılır. Birbirlerini ezmezler. Örneğin A kişisi sistemimize girip beni hatırla derse
A'nın "behluluser" cookie'si yaratılır. Aynı bilgisayaradan B kişisi accountunu açip sisteme giriş yapıp beni hatırlayı seçerse B'nin "behluluser" cookiesi yaratılır.

Şimdide login.aspx'in page loadunda  nasıl bir işlem yapmalıyız onu görelim;

if (!IsPostBack)
{
   if (Request.Cookies["behluluser"] != null)//Kullanıcı Tarafında daha önceden yarattığım Cookie Varmı? 
   

      Cookie.
buss buss = new Cookie.buss();
      
DataTable user = new DataTable();

      
string myguid= Request.Cookies["behluluser"].Value; 
      user = buss.GetUserById(myguid);
         
if (user.Rows.Count > 0)//cookiedeki user gerçekten database de de var
            
{
               Response.Redirect(http://www.behlulbehram.com);
            }
        
else//cookie deki bilgi yanlış  biri oynamış ... silelim.
            
{
              Response.Cookies[
"behluluser"].Expires = DateTime.Now.AddYears(-30);
            }
   }
}

not: Cookileri silmek yerine expire etmek daha verimli bir yöntemdir.

ve login.aspx'i tamamlamış olduk. Derleyip çalıştırabiliriz.

Umarım cookileri nasıl kullanıcağımızla ilgili azda olsa fikir sahibi olmuşsunuzdur.

Sorularınız için

behlul.behram@bilgeadam.com
behlulbehram@gmail.com

Tags:

Coding

Microsoft Tag

www.behlulbehram.com

Behlül Behram Kimdir?

2004 yılında Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümünden mezun oldu. 2000 yılından günümüze kadar C, C++, VB, VB.NET, C# dilleri ile bir çok proje yaptı. Halen Türkiyenin önde gelen bilişim firmalarının birinde   "Yazılım Geliştirme Uzmanı" olarak çalışmaktadır...


Yandex.Metrica