Hatanın muhtemel iki sebebi;
1- veri tabanı ile uygulam arasında bağlantı hızının yavaş olması
2- Açılan anacak kapatılması unutulan bağlantılar.
Çözümler:
1. durum için daha iyi bir sunucuya geç
2. durum için
a. açık bağlantıları kapat
b. açık bağlantı havuzunu genişlet.
bağlantı havuzunu genişletme yolu: bağlantı cümesinin içine bağlantı havuzunun genişliği belirtme ile olur.
Örnek: <add name="baglanti" connectionString="Data Source=ip_adresi ; Initial Catalog= veri tabani_adi; user id=kullanıcı_adı; password=şifre ; Max Pool Size=20000 " providerName="System.Data.SqlClient"/>
C# Notlarım
17 Ekim 2016 Pazartesi
Ajax Modal Popup Extender Kullanımı
Kullanıcı dostu bir pop up; Ajax Modal Popup Extender
Uyarı, hata ve hatta sayfada video gösterimi için çok işe yarar.
CSS:
.popUp {
background-color: black;
filter: alpha(opacity=60);
opacity: 0.6;
}
Aspx:
<!--script manager sayfaya eklenince
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
Otomatik eklenecektir. Eklenmez ise dikkat :) -->
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<br />
<!-- Pop Up'u açmak ( göstermek için kullanılacak düğme -->
<asp:Button ID="dGoster" runat="server" Text="Aç" OnClick="dGoster_Click" />
<!-- Pop Up içinde görünecek panel paneli istediğim şekilde biçimlendire bilirim -->
<asp:Panel runat="server" ID="panelPop">
panel deneme
<br />
<!-- Pop Up'u gizlemek için bir düğme -->
<asp:Button runat="server" Text="Gizle" ID="dGizle" OnClick="dGizle_Click" />
<!-- Pop Up'un içinde işlem yapmak için her hangi bir düğme -->
<asp:Button ID="dDevam" runat="server" Text="Sayfaya Git" OnClick="dDevam_Click" />
</asp:Panel>
<asp:ModalPopupExtender ID="AjxPopUp" runat="server" PopupControlID="panelPop" TargetControlID="dGoster" BackgroundCssClass="popUp" DropShadow="true" >
</asp:ModalPopupExtender>
Cs:
// pop up'u göster komutu
protected void dGoster_Click(object sender, EventArgs e)
{
AjxPopUp.Show();
}
//Pop up'u gizle komutu
protected void dGizle_Click(object sender, EventArgs e)
{
AjxPopUp.Hide();
}
//pop up içinde bir işlem düğmesi
protected void dDevam_Click(object sender, EventArgs e)
{
Response.Redirect("http://www.meb.gov.tr");
}
Uyarı, hata ve hatta sayfada video gösterimi için çok işe yarar.
CSS:
.popUp {
background-color: black;
filter: alpha(opacity=60);
opacity: 0.6;
}
Aspx:
<!--script manager sayfaya eklenince
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
Otomatik eklenecektir. Eklenmez ise dikkat :) -->
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<br />
<!-- Pop Up'u açmak ( göstermek için kullanılacak düğme -->
<asp:Button ID="dGoster" runat="server" Text="Aç" OnClick="dGoster_Click" />
<!-- Pop Up içinde görünecek panel paneli istediğim şekilde biçimlendire bilirim -->
<asp:Panel runat="server" ID="panelPop">
panel deneme
<br />
<!-- Pop Up'u gizlemek için bir düğme -->
<asp:Button runat="server" Text="Gizle" ID="dGizle" OnClick="dGizle_Click" />
<!-- Pop Up'un içinde işlem yapmak için her hangi bir düğme -->
<asp:Button ID="dDevam" runat="server" Text="Sayfaya Git" OnClick="dDevam_Click" />
</asp:Panel>
<asp:ModalPopupExtender ID="AjxPopUp" runat="server" PopupControlID="panelPop" TargetControlID="dGoster" BackgroundCssClass="popUp" DropShadow="true" >
</asp:ModalPopupExtender>
Cs:
// pop up'u göster komutu
protected void dGoster_Click(object sender, EventArgs e)
{
AjxPopUp.Show();
}
//Pop up'u gizle komutu
protected void dGizle_Click(object sender, EventArgs e)
{
AjxPopUp.Hide();
}
//pop up içinde bir işlem düğmesi
protected void dDevam_Click(object sender, EventArgs e)
{
Response.Redirect("http://www.meb.gov.tr");
}
Asp.Net İp Kontrol
public static class ipKontrol { public static string IP() {
string ip = "";
if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) {
ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ip)) { string[] ipRange = ip.Split(",".ToCharArray()); ip = ipRange[0];
}
}
if (string.IsNullOrEmpty(ip)) if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); ip = ip.Trim(); return ip;
}
}
Kullanımı: string ip = ipKontrol.IP();
string ip = "";
if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) {
ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ip)) { string[] ipRange = ip.Split(",".ToCharArray()); ip = ipRange[0];
}
}
if (string.IsNullOrEmpty(ip)) if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); ip = ip.Trim(); return ip;
}
}
Kullanımı: string ip = ipKontrol.IP();
Div tasarımlarında birbirlerinin üzerlerine gelmelerini önlemek
<div style="clear: both;"></div>
kodu ilgili alana yazıldığında öndeki css tasarımlarının alt tarafa geçmelerini engellemiş olacak.
kodu ilgili alana yazıldığında öndeki css tasarımlarının alt tarafa geçmelerini engellemiş olacak.
Asp.Net Smtp Üzerinden E-Posta Göndermek
MailMessage Mesaj = new MailMessage();
Mesaj.From = new MailAddress("info@site.com);
Mesaj.To.Add(keposta.Text.ToString());// gönderilecek adres adres
Mesaj.Subject = "Mesaj Konusu";
Mesaj.IsBodyHtml = true;
string icerik = "icerik burda olacak buraya html kodu ile değişik şeyler yazıla bilir.";// mesaj metni buraya yazılacak
Mesaj.Body = icerik;
SmtpClient smtp = new SmtpClient("mail.site.com", 587);
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential("info@site.com", "şifre");
smtp.UseDefaultCredentials = true; smtp.Credentials = SMTPUserInfo;
smtp.Send(Mesaj)
Mesaj.From = new MailAddress("info@site.com);
Mesaj.To.Add(keposta.Text.ToString());// gönderilecek adres adres
Mesaj.Subject = "Mesaj Konusu";
Mesaj.IsBodyHtml = true;
string icerik = "icerik burda olacak buraya html kodu ile değişik şeyler yazıla bilir.";// mesaj metni buraya yazılacak
Mesaj.Body = icerik;
SmtpClient smtp = new SmtpClient("mail.site.com", 587);
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential("info@site.com", "şifre");
smtp.UseDefaultCredentials = true; smtp.Credentials = SMTPUserInfo;
smtp.Send(Mesaj)
Data Grid View içirişinde seçilen satırı silmek için düğme içine yazılacak kod
if (DataGridView1.CurrentRow == null)
{
MessageBox.Show("uyarı");
} else{
bag.Open();
OleDbCommand sil = new OleDbCommand("DELETE from [kaynak] where Kimlik=@ID", bag);
sil.Parameters.AddWithValue("@ID", DataGridView1.CurrentRow.Cells[0].Value);
sil.ExecuteNonQuery();
bag.Close();
ara();
}
{
MessageBox.Show("uyarı");
} else{
bag.Open();
OleDbCommand sil = new OleDbCommand("DELETE from [kaynak] where Kimlik=@ID", bag);
sil.Parameters.AddWithValue("@ID", DataGridView1.CurrentRow.Cells[0].Value);
sil.ExecuteNonQuery();
bag.Close();
ara();
}
Asp.Net WebConfig üzerinden dosya upload limitini ayarlamak
Standart Upload limiti yeterli gelmediğinde webconfid içerinde bir ayar yaparak upload limitini istenilen orana kadar artırılabilir. Bunun için;
Web.config dosyasınızda httpRuntime elementine maxRequestLength parametresini ekleyin ve KB olarak istediğiniz maksimum değeri girin.
Örnek kod:
Web.config dosyasınızda httpRuntime elementine maxRequestLength parametresini ekleyin ve KB olarak istediğiniz maksimum değeri girin.
Örnek kod:
<system.web> <httpRuntime executionTimeout="100000" maxRequestLength="20480" /> </system.web>
Kaydol:
Kayıtlar (Atom)