Hardening an ASP.NET container running on Kubernetes

Cumartesi, 30 Mar 2024 yorum yok
Categories: Genel Tags: , , ,

.Net Core Uygulamasının IIS de Otomatik Başlatılması ve Sürekli Çalışır Tutulması

Pazartesi, 18 Nis 2022 yorum yok

IIS’te çalıştırmak üzere geliştirilen .Net Core/.Net Framework uygulamaları çeşitli başlangıç ayarlarına sahiptir.

Bu gönderide .Net Core uygulamasının otomatik olarak başlamasını ve her zaman IIS üzerinde çalışmasını sağlamak için yapılabilecek ayarlardan bahsetmeye çalışacağım. Bu ayarlar en çok karşılaştığımız aşağıdaki iki soruna çözüm sunmaktadır.

  • IIS de yayınladığımız projelerde siteye ilk girişteki bekleme (Önyükleme) süresinin uzun olması
  • Arka planda çalışan servisin belirli bir süre sonra durması ve sürekli çalışmaması

Kaynak: https://www-cozumpark-com.cdn.ampproject.org/c/s/www.cozumpark.com/net-core-uygulamasinin-iis-de-otomatik-baslatilmasi-ve-surekli-calisir-tutulmasi/amp/

Categories: Genel Tags: ,

İleri Seviye SQL: CTE (Common Table Expressions)

Perşembe, 14 Nis 2022 yorum yok

# CTE (Common Table Expressions) Nedir ?

  • CTE, tek bir DML ifadesi süresince var olan ve genelde yinelemeli(recursive) ve karışık sorgu ifadelerinde kullanılan bir sorgunun sonuç kümesi olarak düşünülebilir.
  • Veritabanı görünümleri(view), geçici tablolara(temp table), değişken tipi tablolara(table-valued variable) ve tablo değer oluşturuculara (table-value constructor) benzetilebilir ancak hiçbir şekilde alanların(field) tanımlanması gerekmez.
  • Bir sorgu ifadesinde birden fazla CTE kullanılabilir.
  • SELECT, INSERT, UPDATE, DELETE ve MERGE durumlarından aynı anda bir tanesi ile kullanılabilir.
  • CTE’yi birçok maddenin birleştirilerek kapsül hale getirilmesi ve kapsül halde tüketilmesine benzetiyorum. (birden fazla CTE kullanımı olan örneklerde demek istediğimi daha iyi anlayacaksınız) bkz: İleri Seviye SQL: CTE ile MERGE İfadesini Kullanmak

CTE ile birçok işlem gerçekleştirilebilir ancak bunlardan en önemlisi recursive özelliğidir. CTE yardımıyla SQL tarafında da recursive sorgular yazılabilir.

Kaynak: https://karcan.medium.com/i%CC%87leri-seviye-sql-cte-common-table-expressions-51bf3cfc498a

Categories: Genel Tags:

ConvertMoneyToTextLira

Pazartesi, 11 Eki 2021 yorum yok
using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine("Ürünün Fiyatı Sadece :) " + "217.65".ConvertMoneyToTextLira());
	}
}

public static class Extensions
{
    public static string ConvertMoneyToTextLira(this String money)
        {         
            decimal decCost = Convert.ToDecimal(money);
            string strCost = decCost.ToString("F2").Replace('.', ',');    // Replace('.',',') ondalık ayraç ayracı           
            string lira = strCost.Substring(0, strCost.IndexOf(',')); //tutarın lira kısmı
            string kurus = strCost.Substring(strCost.IndexOf(',') + 1, 2);
            string text = "";
            string[] ones = { "", "BİR", "İKİ", "ÜÇ", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ" };
            string[] tens = { "", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN" };
            string[] thousands = { "KATİRİLYON", "TRİLYON", "MİLYAR", "MİLYON", "BİN", "" }; //KATRİLYON'un önüne ekleme yapılarak artırabilir.
            int groupCount = 6;
            lira = lira.PadLeft(groupCount * 3, '0'); //sayının soluna '0' eklenerek sayı 'grup sayısı x 3' basakmaklı yapılıyor.
            string groupValue;
            for (int i = 0; i < groupCount * 3; i += 3) //sayı 3'erli gruplar halinde ele alınıyor.
            {
                groupValue = "";
                if (lira.Substring(i, 1) != "0")
                    groupValue += ones[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ"; //yüzler
                if (groupValue == "BİRYÜZ") //biryüz düzeltiliyor.
                    groupValue = "YÜZ";
                groupValue += tens[Convert.ToInt32(lira.Substring(i + 1, 1))]; //onlar
                groupValue += ones[Convert.ToInt32(lira.Substring(i + 2, 1))]; //birler
                if (groupValue != "") //binler
                    groupValue += "" + thousands[i / 3];
                if (groupValue == "BİRBİN") //birbin düzeltiliyor.
                    groupValue = "BİN";
                text += groupValue;
            }
            if (text != "")
                text += " LİRA ";
            int yaziUzunlugu = text.Length;
            if (kurus.Substring(0, 1) != "0") //kuruş onlar
                text += tens[Convert.ToInt32(kurus.Substring(0, 1))];
            if (kurus.Substring(1, 1) != "0") //kuruş birler
                text += ones[Convert.ToInt32(kurus.Substring(1, 1))];
            if (text.Length > yaziUzunlugu)
                text += " KURUŞ";
            else
                text += "";
            return text;
        }
}

https://dotnetfiddle.net/Mobile?id=QBlneu#code-editor

Categories: Genel Tags:

.NET Core -> GetRequestIP

Pazartesi, 15 Mar 2021 yorum yok
private string GetRequestIP(bool tryUseXForwardHeader = true)
    {
        string ip = null;

        if (tryUseXForwardHeader)
            ip = GetHeaderValueAs<string>("X-Forwarded-For").SplitCsv().LastOrDefault();

        if (ip.IsNullOrWhitespace() && _accessor.HttpContext?.Connection?.RemoteIpAddress != null)
            ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString();

        if (ip.IsNullOrWhitespace())
            ip = GetHeaderValueAs<string>("REMOTE_ADDR");

        if (ip.IsNullOrWhitespace())
            throw new Exception("Unable to determine caller's IP.");

        return ip;
    }

    public T GetHeaderValueAs<T>(string headerName)
    {
        StringValues values;

        if (_accessor.HttpContext?.Request?.Headers?.TryGetValue(headerName, out values) ?? false)
        {
            string rawValues = values.ToString();   // writes out as Csv when there are multiple

            if (!rawValues.IsNullOrWhitespace())
                return (T)Convert.ChangeType(values.ToString(), typeof(T));
        }
        return default(T);
    }

    public static List<string> SplitCsv(this string csvList, bool nullOrWhitespaceInputReturnsNull = false)
    {
        if (string.IsNullOrWhiteSpace(csvList))
            return nullOrWhitespaceInputReturnsNull ? null : new List<string>()

        return csvList
            .TrimEnd(',')
            .Split(',')
            .AsEnumerable<string>()
            .Select(s => s.Trim())
            .ToList();
    }

    public static bool IsNullOrWhitespace(this string s)
    {
        return String.IsNullOrWhiteSpace(s);
    }
    //Startup.cs
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();

        services.Configure<ForwardedHeadersOptions>(options =>
        {
            options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;

            options.KnownNetworks.Clear(); //Not: Bu ve altta ki satırdaki kodları tekrar web üzerinden ne amaçla olduğunu öğrenmekte yarar var.

            options.KnownProxies.Clear();
        });
    }


    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseForwardedHeaders();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        })
    }
Categories: Genel Tags:

.NET Framework -> GetClientIp

Pazartesi, 15 Mar 2021 yorum yok

private string GetClientIp()
{
  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();
  }

  return ip.Trim();
}
Categories: Genel Tags:

TLS Ayarları

Cuma, 16 Eki 2020 yorum yok

.NET 4.0 TLS1.2 yi default olarak desteklememektedir bunun için Windows üzerinden “Power Shell” uygulamasını yönetici olarak başlatıp


new-itemproperty -path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -name "SchUseStrongCrypto" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319" -name "SchUseStrongCrypto" -value 1 -PropertyType "DWord"
komutlarını çalıştırmanız yeterlidir.

Categories: Genel Tags:

Reading XML data into DataTable (c#)

Cuma, 25 Eyl 2020 yorum yok
System.Net.HttpWebRequest webRequest = (HttpWebRequest)System.Net.WebRequest.Create("URL");
webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;
webRequest.Accept = "text/xml";
webRequest.AllowAutoRedirect = true;
System.Net.HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
System.IO.Stream s = webResponse.GetResponseStream();
StreamReader r = new StreamReader(s);
string xml = r.ReadToEnd();
Response.Write(xml);
s.Close();
r.Close();
webResponse.Close();
Categories: Genel Tags:

HTTPS Redirect web.config

Çarşamba, 16 Eyl 2020 yorum yok
<rewrite>
  <rules>
	<rule name="Force HTTPS" enabled="true">
	  <match url="(.*)" ignoreCase="false"/>
	  <conditions>
		<add input="{HTTPS}" pattern="off"/>
	  </conditions>
	  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent"/>
	</rule>
  </rules>
</rewrite>
Categories: Genel Tags: ,

SQL – XACT_STATE

Pazartesi, 14 Eyl 2020 yorum yok

XACT_STATE işleminde aşağıdaki değerler dönecektir:

XACT_STATE SonucuAçıklaması
0Etkin herhangi bir transaction yok.
1Hali hazırda aktif olan ve commit edilebilir bir transaction var.
-1Aktif transaction var fakat hata oluşmuş. Transaction sadece rollback edilebilir.

Aşağıdaki örnekte XACT_STATE ifadesi kullanılmıştır:

BEGIN TRY
BEGIN TRANSACTION;
INSERT INTO dbo.SimpleOrders(custid, empid, orderdate)
VALUES (68,9,'2006-07-12');
INSERT INTO dbo.SimpleOrderDetails(orderid,productid,unitprice,qty)
VALUES (1, 2,15.20,20);
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrNum, ERROR_MESSAGE() AS ErrMsg;
IF (XACT_STATE()) = -1
BEGIN
ROLLBACK TRANSACTION;
END;
ELSE .... -- provide for other outcomes of XACT_STATE()
END CATCH;

XACT_ABORT Kullanımı

Görüldüğü üzere SQL Server, transaction işleminde herhangi bir hata oluştuğunda otomatik rollback yapmaz. Bu ve önceki bölümde, commit ve rollback işlemleri için yoğunlukla TRY/CATCH kullanılmıştır. TRY/CATCH kullanılmayan durumlarda bir hata oluştuğunda otomatik rollback edebilmek için başka bir yöntem daha bulunmaktadır. XACT_ABORT ayarı ile, transaction çalışırken hata oluştuğunda rollback edilip edilmeyeceği ayarlanabilmektedir.

Varsayılan olarak, XACT_ABORT devre dışıdır. SET ile XACT_ABORT etkin hale getirilebilir:

SET XACT_ABORT ON;

SET XACT_ABORT ayarı ON durumundayken, TRY bloğu haricinde bir hata meydana gelirse tüm transaction işlemi sonlandırılarak rollback edilir. TRY bloğunda oluşan bir hatada ise, XACT_ABORT ayarına rağmen transaction açık tutulur fakat commit edilemez hale getirilmektedir.

KAYNAK: http://www.sqlekibi.com/sql-server/transactionlarin-kontrolu-2.html/

Categories: Genel Tags:

Sql Sorgusu ile Xml Dosyası Okuma

Cumartesi, 06 Haz 2020 yorum yok

DECLARE @cars xml
 
SELECT @cars = C
FROM OPENROWSET (BULK 'C:\__Temp\userGbList.xml', SINGLE_BLOB) AS Cars(C)
   
SELECT @cars
    
DECLARE @hdoc int
    
EXEC sp_xml_preparedocument @hdoc OUTPUT, @cars

SELECT * into userGbList_05062020
FROM OPENXML (@hdoc, '/UserList/User' , 2)
WITH(
    Identifier VARCHAR(50),
    Alias  VARCHAR(100),
    Title VARCHAR(500),
	Type  VARCHAR(50),
	FirstCreationTime DateTime,
	AliasCreationTime DateTime,
	AccountType Int
    )
    
    
EXEC sp_xml_removedocument @hdoc
Categories: Genel Tags:

İncelenecek Yazılar

Salı, 20 Kas 2018 yorum yok
Categories: İncelenecekler Tags: ,

NInject Cheat Sheet

Çarşamba, 07 Kas 2018 yorum yok
Categories: C# Tags:

MECZUPLUK BUYSA “AKILLILAR” YANMIŞ….

Salı, 16 Eki 2018 yorum yok

1965 yılında ELÂZIZ'DE vefat eden bir “deli”nin son dilekçesi:

 

“Ben dünya Kürresi, Türkiye karyesi ve Urfa Köyünden, (El-Aziz –Elazığ )Tımarhanesi (Akıl ve Ruh Sağlığı Hastanesi) sakinlerinden; İsmi önemsiz, cismi değersiz, çaresiz ve kimsesiz bir abdi acizin, ahir deminde misafiri Azrail’i beklerken, Başhekimlik üzerinden Hâkimler Hakiminin dergahı Uluhiyetine son arzuhalimdir:

Ben ğam (dertlilik) deryasında, fakirlik vatanında, horluk ve rezillik kaftanında PADİŞAH yapılmışım

… Meyvalardan dağdağana, çalgılardan ney-kemana kapılmışım… Benim yatağım akasya dikeninden, yorganım kirpi derisinden farksızdır. Kalbim Ayizman’ın (Hitlerin işkenceci Nazi Komutanı) fırını, ve sahranın çöl fırtınasıdır.

devamını oku…

Categories: Genel Tags:

Tlbimp.exe (Type Library Importer)

Salı, 16 Eki 2018 yorum yok

The Type Library Importer converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. The output of Tlbimp.exe is a binary file (an assembly) that contains runtime metadata for the types defined within the original type library. You can examine this file with tools such as Ildasm.exe.

https://github.com/dotnet/docs/blob/master/docs/framework/tools/tlbimp-exe-type-library-importer.md

Categories: C# Tags:

web.config ‘e proxy eklemek

Perşembe, 02 Ağu 2018 yorum yok
<system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy
        usesystemdefault="True"
        proxyaddress="http://127.X.X.X:8080"
        bypassonlocal="True"
      />
    </defaultProxy>
  </system.net>

 

Categories: C# Tags: ,

Is it possible to specify proxy credentials in your web.config?

Perşembe, 02 Ağu 2018 yorum yok
namespace SomeNameSpace
{
    public class MyProxy : IWebProxy
    {
        public ICredentials Credentials
        {
            get { return new NetworkCredential("user", "password"); }
            //or get { return new NetworkCredential("user", "password","domain"); }
            set { }
        }

        public Uri GetProxy(Uri destination)
        {
            return new Uri("http://my.proxy:8080");
        }

        public bool IsBypassed(Uri host)
        {
            return false;
        }
    }
}

 

<defaultProxy enabled="true" useDefaultCredentials="false">
  <module type = "SomeNameSpace.MyProxy, SomeAssembly" />
</defaultProxy>

 

Kaynak: https://stackoverflow.com/questions/186800/is-it-possible-to-specify-proxy-credentials-in-your-web-config#

Categories: C# Tags:

Get running job name from sysprocesses

Cuma, 06 Tem 2018 yorum yok

Get the substring of the running job from sysprocess .. have filtered out generic refresher ETC

select substring(program_name,55,7) ‘to search’
from master..sysprocesses
where program_name like ‘%agent%’ and program_name not like ‘%DatabaseMail – SQLAGENT -%’
and program_name not in (‘SQLAgent – Alert Engine’,’SQLAgent – Generic Refresher’,’SQLAgent – Email Logger’,’SQLAgent – Job invocation engine’,’SQLAgent – Job Manager’)

output will be similar to below

Output :

to search
2FE3386
A68D437
3253286

Get the job details from MSDB database by using the results you got from above query and replace them in where clause

select *
from msdb..sysjobs
where job_id like ‘%A68D437%’

OR

if you have more than one job running replace below job_id %strings%

select *
from msdb..sysjobs
where job_id like ‘%A68D437%’ or job_id like ‘%4E742EB%’ or job_id like ‘%FAEDF18%’

 

Categories: SQL Hakkında Tags:

Excel dosyasından veri oku

Cumartesi, 31 Mar 2018 yorum yok

 

 

 

 

 

 

devamını oku…

Categories: C# Tags: ,

Tasarım Desenleri ve Mimarileri

Pazartesi, 26 Mar 2018 yorum yok
Categories: bestURL, C# Tags: ,

Sql Takvim

Pazartesi, 19 Mar 2018 yorum yok
 create procedure spCalendar
     --draw a calendar as a result set. you can specify the month if you wwant
     @Date datetime=null--any date within the month that you want to calendarise.
     /*
     For Novermber 2013 it gives...
      
     Mon  Tue  Wed  Thu  Fri  Sat  Sun
     ---- ---- ---- ---- ---- ---- ----
                         1    2    3 
     4    5    6    7    8    9    10
     11   12   13   14   15   16   17
     18   19   20   21   22   23   24
     25   26   27   28   29   30
      
      
     eg. spCalendar '1 Jan 2006'
     Execute spCalendar '1 sep 2013'
     Execute spCalendar '1 nov 2013'
     Execute spCalendar '28 feb 2008'
     Execute spCalendar '1 mar 1949'
     Execute spCalendar '10 jul 2020'
      
     */
     as
     Set nocount on
     --nail down the start of the week
     Declare @MonthLength int --number of days in the month
     Declare @MonthStartDW int --the day of the week that the month starts on
     --if no date is specified, then use the current date
     Select @Date='01 '+substring(convert(char(11),coalesce(@date,GetDate()),113),4,8)
     --get the number of days in the month and the day of the week that the month starts on
     Select @MonthLength=datediff(day,convert(char(11),@Date,113),convert(char(11),DateAdd(month,1,@Date),113)),
     @MonthStartDW=((Datepart(dw,@date)+@@DateFirst-3) % 7)+1
      
     Select
     [Mon]=max(case when day=1 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Tue]=max(case when day=2 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Wed]=max(case when day=3 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Thu]=max(case when day=4 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Fri]=max(case when day=5 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Sat]=max(case when day=6 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end),
     [Sun]=max(case when day=7 and monthdate between 1 and @MonthLength then convert(char(2),monthdate) else '' end)
     from
     (--roll out the day number and week number so you can then do a pivot table of the results
     Select [day]=DayNo.Number, [week]=Weekno.number,
     [monthDate]=(DayNo.Number + ((Weekno.number-1)*7))-@MonthStartDW
     from (VALUES (1),(2),(3),(4),(5),(6),(7)) AS DayNo(number)
     cross join 
      (VALUES (1),(2),(3),(4),(5),(6)) AS Weekno(number)
      
     )f
     group by [week]--so that each week is on a different row
     having max(case when day=1 and monthdate between 1 and @MonthLength then monthdate else 0 end)>0
     or (week=1 and sum(MonthDate)>-21)
     --take out any weeks on the end without a valid day in them!

 

Kaynak: https://www.red-gate.com/simple-talk/sql/learn-sql-server/robyn-pages-sql-server-datetime-workbench/

Categories: SQL Hakkında Tags: ,

(HttpWebRequest)WebRequest.Create(url);

Perşembe, 15 Mar 2018 yorum yok
try
{
	WebProxy oWebProxy = new WebProxy(ConfigurationManager.AppSettings["ProxyAddress"])
	{
		Credentials = CredentialCache.DefaultCredentials
	};

	string url = "htt://www.yakupkalebasi.com/";
	var req = (HttpWebRequest)WebRequest.Create(url);
	req.Proxy = oWebProxy;
	req.Method = "GET";

	var resp = req.GetResponse();
	var outStream = resp.GetResponseStream();
	string output = "";
	using (StreamReader rdr = new StreamReader(outStream))
	{
		output = rdr.ReadToEnd();
	}
	Response.Write(output);
}
catch (Exception ex)
{
	Response.Write(ex.Message);
}

 

Categories: C# Tags:

IBAN Kontrol

Çarşamba, 28 Şub 2018 yorum yok
Categories: C# Tags:

Vb script – MapNetworkDrive

Cuma, 19 Oca 2018 yorum yok
Option Explicit

Dim objNetwork, objFSO, objShell

Dim strDriveLetter, bForce, bUpdateProfile, strNewName
strDriveLetter = "Z:"
bForce = "True"
bUpdateProfile = "True"
strNewName = "\\bıdıbıdı\folder"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("Wscript.Network")

If (objFSO.DriveExists(strDriveLetter) = True) Then
objNetwork.RemoveNetworkDrive strDriveLetter, True, True
End If
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strNewName

Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

' Wscript.Echo "Check : "& strDriveLetter & " for " & strNewName
WScript.Quit

 

Categories: VBScript Tags:

Sql XML PATH

Cuma, 19 Oca 2018 yorum yok

I had a similar issue when I was trying to join two tables with one-to-many relationships. In SQL 2005 I found that XML PATH method can handle the concatenation of the rows very easily.

If there is a table called STUDENTS

SubjectID       StudentName
----------      -------------
1               Mary
1               John
1               Sam
2               Alaina
2               Edward

Result I expected was:

SubjectID       StudentName
----------      -------------
1               Mary, John, Sam
2               Alaina, Edward

I used the following T-SQL:

Select Main.SubjectID,
       Left(Main.Students,Len(Main.Students)-1) As "Students"
From
    (
        Select distinct ST2.SubjectID, 
            (
                Select ST1.StudentName + ',' AS [text()]
                From dbo.Students ST1
                Where ST1.SubjectID = ST2.SubjectID
                ORDER BY ST1.SubjectID
                For XML PATH ('')
            ) [Students]
        From dbo.Students ST2
    ) [Main]

You can do the same thing in a more compact way if you can concat the commas at the beginning and use substring to skip the first one so you don't need to do a subquery:

 

Select distinct ST2.SubjectID, 
    substring(
        (
            Select ','+ST1.StudentName  AS [text()]
            From dbo.Students ST1
            Where ST1.SubjectID = ST2.SubjectID
            ORDER BY ST1.SubjectID
            For XML PATH ('')
        ), 2, 1000) [Students]
From dbo.Students ST2

https://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string

Categories: SQL Hakkında Tags: ,

ajax post

Pazartesi, 13 Kas 2017 yorum yok
$.ajax({
             url: "http://www.yk.com/Insert",
             type: "POST",
             dataType: "json",
             contentType: 'application/json; charset=utf-8',
             data: JSON.stringify({
                        Code: 123,
                        Data: "data",
                        Comment: ""
             }),
                    success: function (data) { }
 });

 

Categories: JavaScript, jQuery Tags: ,

Asp.NET MVC Hata Sayfasına Yönlendirme

Pazar, 24 Eyl 2017 yorum yok

ErrorController 

public class ErrorController : Controller
{
        public ActionResult ErrorPage(Exception exception)
        {
            Response.TrySkipIisCustomErrors = true;
            return View();
        }
        public ActionResult ErrorPage404()
        {
            Response.StatusCode = 404;
            Response.TrySkipIisCustomErrors = true;
            return View();
        }
        public ActionResult ErrorPage403()
        {
            Response.StatusCode = 403;
            Response.TrySkipIisCustomErrors = true;
            return View();
        }
}

web.config ayarları

<system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>

    <httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404" subStatusCode="-1"/>
      <error statusCode="404" path="Error/ErrorPage404" responseMode="ExecuteURL"/>
      <remove statusCode="403" subStatusCode="-1"/>
      <error statusCode="403" path="Error/ErrorPage403" responseMode="ExecuteURL"/>
    </httpErrors>
  </system.webServer>

<system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="Error">
      <error statusCode="404" redirect="ErrorPage404"/>
      <error statusCode="403" redirect="ErrorPage403"/>
    </customErrors>
</system.web>

Global.asax ayarları

protected void Application_EndRequest()
{
	if (Context.Response.StatusCode == 404)
	{
		Response.Clear();

		var rd = new RouteData();
		rd.Values["controller"] = "Error";
		rd.Values["action"] = "ErrorPage404";

		IController c = new ErrorController();
		c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
	}
	else if (Context.Response.StatusCode == 403)
	{
		Response.Clear();

		var rd = new RouteData();
		rd.Values["controller"] = "Error";
		rd.Values["action"] = "ErrorPage403";

		IController c = new ErrorController();
		c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
	}
}
Kaynal: https://forum.donanimhaber.com/m_125710795/printable.htm
Categories: MVC Tags:

interop type xxx cannot be embedded. Use the applicable interface instead Hatası

Perşembe, 07 Eyl 2017 yorum yok

Hata veren dll 'in özelliklerindeki  "Embed Interop Types" özelliğini "False" yapılması yeterli olacaktır.

Kaynak: https://www.youtube.com/watch?v=xRjNqOxtotc

IP Adres Bulma

Salı, 29 Ağu 2017 yorum yok
public 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;
}

 

Categories: C# Tags:

Get password for IIS Application Pool account

Salı, 22 Ağu 2017 yorum yok

APPCMD:

appcmd is an IIS tool used to manage IIS server. It provides many functions that can be used to manager server related activities like create/configure sites, start/recycle/stop app pools, etc.

Retrieve Password of an App Pool identity account:

  1. To retrieve password for an app pool identity account, open the command prompt in administrative mode.
  2. Navigate to C:\Windows\System32\inetsrv directory. This is the location where appcmd.exe exists.
  3. Type the below command and press enter.
    appcmd.exe list apppool <<app_pool_name>> /text:*
    For example: I have an app pool in my IIS named SampleAppPool which has been assigned a particular account’s identity whose password I would like to retrieve. So I would enter the below command in command prompt.

    cmd

  4. Press enter and the result will be as shown below. Due to security reasons, I have removed the username and password from the image but trust me, it shows the username and password there.result

Referance: https://amoghnatu.net/2015/01/15/get-password-for-iis-application-pool-account/

Categories: Asp.NET, IIS Tags: ,

Yazdığınız script’i kaydetmeden sildiniz mi?

Pazartesi, 21 Ağu 2017 yorum yok

Yazdığınız script’i kaydetmeden sildiniz mi?
Management strudio’nu hata verip kapandı ve satırlarca sql’inizi recover edemiyor musunuz?
Temp dosyalarda bulamadınız mı?

Script’inizi bir defa çalıştırdıysanız üzülmeyin, hala kurtarabilirsiniz smiley
Nasıl mı?

Şöyle;

use [DBName]
go

select	execquery.last_execution_time as [Date Time], execsql.text as [Script] 
from	sys.dm_exec_query_stats as execquery
			CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
where	convert(date,execquery.last_execution_time)='20170808'
order by execquery.last_execution_time

 

Categories: SQL Hakkında Tags: ,

Veritabanı Bilgi Havuzu

Salı, 01 Ağu 2017 yorum yok

Tüm veri tabanları hakkında başvuru kaynağı için kullanılır.

http://www.veritabani.gen.tr/

Categories: bestURL, SQL Hakkında Tags: ,

String Format for DateTime

Cuma, 28 Tem 2017 yorum yok

This site has great examples check it out

// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}",      dt);  // "8 08 008 2008"   year
String.Format("{0:M MM MMM MMMM}",      dt);  // "3 03 Mar March"  month
String.Format("{0:d dd ddd dddd}",      dt);  // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}",          dt);  // "4 04 16 16"      hour 12/24
String.Format("{0:m mm}",               dt);  // "5 05"            minute
String.Format("{0:s ss}",               dt);  // "7 07"            second
String.Format("{0:f ff fff ffff}",      dt);  // "1 12 123 1230"   sec.fraction
String.Format("{0:F FF FFF FFFF}",      dt);  // "1 12 123 123"    without zeroes
String.Format("{0:t tt}",               dt);  // "P PM"            A.M. or P.M.
String.Format("{0:z zz zzz}",           dt);  // "-6 -06 -06:00"   time zone

// month/day numbers without/with leading zeroes
String.Format("{0:M/d/yyyy}",           dt);  // "3/9/2008"
String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"

// day/month names
String.Format("{0:ddd, MMM d, yyyy}",   dt);  // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt);  // "Sunday, March 9, 2008"

// two/four digit year
String.Format("{0:MM/dd/yy}",           dt);  // "03/09/08"
String.Format("{0:MM/dd/yyyy}",         dt);  // "03/09/2008"

Standard DateTime Formatting

String.Format("{0:t}", dt);  // "4:05 PM"                           ShortTime
String.Format("{0:d}", dt);  // "3/9/2008"                          ShortDate
String.Format("{0:T}", dt);  // "4:05:07 PM"                        LongTime
String.Format("{0:D}", dt);  // "Sunday, March 09, 2008"            LongDate
String.Format("{0:f}", dt);  // "Sunday, March 09, 2008 4:05 PM"    LongDate+ShortTime
String.Format("{0:F}", dt);  // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt);  // "3/9/2008 4:05 PM"                  ShortDate+ShortTime
String.Format("{0:G}", dt);  // "3/9/2008 4:05:07 PM"               ShortDate+LongTime
String.Format("{0:m}", dt);  // "March 09"                          MonthDay
String.Format("{0:y}", dt);  // "March, 2008"                       YearMonth
String.Format("{0:r}", dt);  // "Sun, 09 Mar 2008 16:05:07 GMT"     RFC1123
String.Format("{0:s}", dt);  // "2008-03-09T16:05:07"               SortableDateTime
String.Format("{0:u}", dt);  // "2008-03-09 16:05:07Z"              UniversalSortableDateTime

/*
Specifier   DateTimeFormatInfo property     Pattern value (for en-US culture)
    t           ShortTimePattern                    h:mm tt
    d           ShortDatePattern                    M/d/yyyy
    T           LongTimePattern                     h:mm:ss tt
    D           LongDatePattern                     dddd, MMMM dd, yyyy
    f           (combination of D and t)            dddd, MMMM dd, yyyy h:mm tt
    F           FullDateTimePattern                 dddd, MMMM dd, yyyy h:mm:ss tt
    g           (combination of d and t)            M/d/yyyy h:mm tt
    G           (combination of d and T)            M/d/yyyy h:mm:ss tt
    m, M        MonthDayPattern                     MMMM dd
    y, Y        YearMonthPattern                    MMMM, yyyy
    r, R        RFC1123Pattern                      ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
    s           SortableDateTi­mePattern             yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
    u           UniversalSorta­bleDateTimePat­tern    yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
                                                    (*) = culture independent   
*/
// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

$"{dt:y yy yyy yyyy}";  // "8 08 008 2008"   year
$"{dt:M MM MMM MMMM}";  // "3 03 Mar March"  month
$"{dt:d dd ddd dddd}";  // "9 09 Sun Sunday" day
$"{dt:h hh H HH}";      // "4 04 16 16"      hour 12/24
$"{dt:m mm}";           // "5 05"            minute
$"{dt:s ss}";           // "7 07"            second
$"{dt:f ff fff ffff}";  // "1 12 123 1230"   sec.fraction
$"{dt:F FF FFF FFFF}";  // "1 12 123 123"    without zeroes
$"{dt:t tt}";           // "P PM"            A.M. or P.M.
$"{dt:z zz zzz}";       // "-6 -06 -06:00"   time zone

// month/day numbers without/with leading zeroes
$"{dt:M/d/yyyy}";    // "3/9/2008"
$"{dt:MM/dd/yyyy}";  // "03/09/2008"

// day/month names
$"{dt:ddd, MMM d, yyyy}";    // "Sun, Mar 9, 2008"
$"{dt:dddd, MMMM d, yyyy}";  // "Sunday, March 9, 2008"

// two/four digit year
$"{dt:MM/dd/yy}";    // "03/09/08"
$"{dt:MM/dd/yyyy}";  // "03/09/2008"

 

Ziyaretçilerinizi İzleyebileceğiniz 9 Analiz ve İstatistik Aracı

Perşembe, 27 Tem 2017 yorum yok

Web sitelerinizde hangi sayfaların daha fazla ziyaret aldığı, hangi tarz içeriklerin ilgi çektiği, bu sayfalarda ne kadar süre geçirildiği gibi veriler oldukça önemlidir. Analiz ve istatistik araçları ile web sitenize girenlerin hareketlerini takip edebilir ve anlamlı sonuçlar çıkarabilirsiniz. Bu yazıda en popüler web sitesi analiz ve istatistik araçlarından bahsedeceğiz.

1. Google Analytics

google-analyticsGoogle tarafından ücretsiz olarak sunulan bir araçtır, aylık sayfa gösteriminiz 5 milyona ulaşıncaya kadar ücretsiz olarak kullanmaya devam edebilirsiniz. Bir çok popüler web sitesinde kullanılmakla birlikte dünya üzerinde en çok tercih edilen istatistik aracıdır.

Google Analytics’in özelliklerinden kısaca bahsetmek gerekirse:

  • Sitenizdeki ziyaretçi sayılarını görüntüleyebilirsiniz.
  • Ziyaretçilerin arama motoru kullanarak mı geldiğini veya başka bir siteden geldiyse hangi site üzerinden geldiğini öğrenebilirsiniz.
  • Sitenizde ne kadar vakit geçirildiğini, hangi sayfaların daha çok ziyaret edildiğini, görebilirsiniz.
  • Sitenize gelen kişilerin bir PC den mi yoksa akıllı telefon üzerinden mi geldiğine, ziyaretçilerinizin işletim sistemi, ekran çözünürlüğü, tarayıcı versiyonu gibi detaylarına ulaşabilirsiniz.
  • Ziyaretçilerinizin cinsiyeti, yaş aralığı gibi demografik bilgilerine ulaşabilirsiniz.
  • Ziyaretçi, sitenizden hemen çıkmış mı, üye olmuş mu, ürünü satın almış mı, aldıysa ne kadarlık ürün almış gibi sorulara cevap bulabilirsiniz.

https://analytics.google.com üzerinden oluşturabileceğiniz bir izleme kodunu sitenize ekleyerek ziyaretçilerinizi takip etmeye başlayabilirsiniz.

2. Yandex Metrica

yandex_metricaGoogle Analytics’e en iyi alternatif olabilecek, Yandex tarafından ücretsiz olarak sunulan istatistik aracıdır. Google Analytics ile benzer özellikler taşımasıyla birlikte içerisinde sunulan Webvisor aracı ile ziyaretçilerinizin davranışlarından akıllı telefon üzerindeki ekrana dokunuşlarına kadar olan işlemleri bir video izler gibi görüntüleyebilirsiniz. Yandex Metrica isterseniz sitenize ulaşılamadığı takdirde ücretsiz olarak SMS gönderimi yapabilir.

https://metrica.yandex.com üzerinden oluşturabileceğiniz bir izleme kodunu sitenize ekleyerek ziyaretçilerinizi takip etmeye başlayabilirsiniz.

3. Clicky

clickyPopüler araçlardan bir tanesi olan Clicky’i günlük 3000 gösterime kadar ücretsiz olarak kullanabilirsiniz. Alternatiflerine göre real-time (anlık) daha fazla detay sunan Clicky’nin ücretli sürümü kurumsal alanda yaygın olarak kullanılmaktadır. Clicky uptime monitoringsıcaklık haritası gibi özellikleri ön plana çıkmaktadır. Sıcaklık haritaları ile en çok tıklanan linkleri, sayfaların hangi alanlarında daha fazla zaman geçirildiğini görebilirsiniz. Detaylı karşılaştırmasına buradan, online demosuna ise buradan ulaşabilirsiniz.

Clicky analiz işlemlerinin yanı sıra Twitter izlemeGoogle Search RankingVideo Analiz gibi hizmetler de sunar.

https://clicky.com

4. Gauges

gaugesSade bir web sitesi analiz aracı olan Gauges, real-time (anlık) veri gösterimi yapmaktadır. Veriler pano üzerine sayfa yenilemesi yapılmasına gerek kalmadan, anlık olarak yansıtılmaktadır. AirTraffic özelliği ile tam ekran tek bir harita üzerinde site ziyaretçilerinizi inceleyebilirsiniz.

Ücretsiz sürümü bulunmamaktadır, ücretsiz olarak 7 günlük deneme sürümünü kullanabilirsiniz.

http://get.gaug.es/

5. W3Counter

w3counterBasit ve sade bir araç arıyorsanız W3Counter fazlasıyla işinizi görecektir. Günlük ziyaret sayıları, arama motorundan gelenler, referans veren siteler vb. bir analiz servisinin sunması gereken tüm özellikleri sunmaktadır. Real-Time Pulse özelliği ile sitenizdeki ziyaretçilerin anlık olarak kaçının yazıları okuduğunu, kaçının yazı yazdığını, kaçının ise boşta (away) olduğunu görüntüleyebilirsiniz.

W3Counter son 30 güne kadar olan verilerinizi ücretsiz olarak saklamaktadır, daha fazlası için ücretli sürüme geçiş yapmanız gerekmektedir. WordPress tabanlı bir site kullanıyorsanız WordPress eklentisini kurabilirsiniz.

https://www.w3counter.com

6. Piwik

piwikTürkçe dil desteği sunan, açık kaynak olan ve alt yapı olarak PHP-MySQL ikilisini kullanan Piwik’i dilerseniz kendi sunucunuzda da barındırabilirsiniz. Açık kaynak olması nedeniyle uygulamayı istediğiniz şekilde özelleştirebilir, marketinden edinebileceğiniz eklentileri (plug-in) ve temaları kurabilirsiniz. Piwik’in en önemli artılarından bir tanesi de istatistikleri gecikmeli değil real-time (anlık) olarak sunmasıdır.

https://piwik.org adresinden ücretsiz olarak indirebilirsiniz. Kendi sunucunuzda barındırmak istemezseniz, ücretli olarak Cloud-Hosted çözümlerinden faydalanabilirsiniz.

7. Kissmetrics

kissmetrics“Google Analytics rakamları, Kissmetrics ise cevapları verir.” şeklinde mottusu olan fonksiyonel istatistik aracı. Diğer araçlardan farklı olarak sitenizdeki adımları kaydedip “sepete atma”, “ürün satın alma”, “ödeme yapma” gibi işlemleri takip edebilir, ziyaretçilerinizin hangi adımda ürün almaktan vazgeçtiklerini öğrenebilirsiniz.Marketi üzerinden çeşitli İnfografik ve eklentiler edinebilirsiniz.

Ücretsiz sürümü bulunmamaktadır, ücretsiz olarak 14 günlük deneme sürümünü kullanabilirsiniz.

https://www.kissmetrics.com

8. MixPanel

mixpanelKendisini en iyi mobil istatistik aracı olarak tanıtan ve Spotify, Kickstarter, Uber, Twitch gibi bir çok dev marka tarafından tercih edilen istatistik aracıdır. Sayfa görüntülemelerinin yanı sıra Kissmetrics benzeri sayfalar üzerindeki işlemleri ve detaylı analizleri sunmaktadır. Mixpanel E-Ticaretsiteleri için oldukça faydalı araçlar ve analizler sunmaktadır.

Günlük 3000 gösterime kadar ücretsiz olarak kullanabilir, daha fazlası için ücretli sürüme geçiş yapabilirsiniz.

https://mixpanel.com

9. FoxMetrics

foxmetricsSayfa görüntüleme sayıları, ziyaret oranları gibi standart veriler ile birlikte ziyaretçilerinizin hareketleriyle ilgili detaylı analizler sunmaktadır. E-Ticaret sitelerini hedef alan FoxMetrics ile Google Analytics hesabınızı entegre edip Analytics verilerini, ziyaretçilerinizin davranışlarıyla birleştirip daha da anlamlı hale getirebilirsiniz.

http://www.foxmetrics.com

Kaynak: http://devnot.com/2017/ziyaretcilerinizi-izleyebileceginiz-9-analiz-ve-istatistik-araci/

 

TLS 1.1 ve 1.2 TLS varsayılan Güvenli protokoller WinHTTP Windows içinde olarak etkinleştirmek için güncelleştirme

Pazartesi, 17 Tem 2017 yorum yok

Kolay düzeltme

DefaultSecureProtocols kayıt defteri alt anahtarını otomatik olarak eklemek için Yükle düğmesini tıklatın. Dosya Yükleme iletişim kutusunda Çalıştır veya ' ı tıklatın ve sonra kolay düzeltme Sihirbazı'ndaki adımları izleyin.

Notlar

  • Bu sihirbaz yalnızca İngilizce olabilir. Ancak otomatik düzeltme, Windows'un diğer dil sürümleri için de kullanılabilir.
  • Sorun olan bilgisayarda değilseniz, kolay Düzelt çözümünü bir flash sürücüye veya CD'ye kaydedin ve sonra sorunun yaşandığı bilgisayarda çalıştırın.

https://aka.ms/easyfix51044

https://support.microsoft.com/tr-tr/help/3140245/update-to-enable-tls-1.1-and-tls-1.2-as-a-default-secure-protocols-in

https://social.msdn.microsoft.com/Forums/windowsserver/en-US/97e37a88-f7f8-424a-b8bd-e089f1bbea84/upgrade-winhttpdll-version-to-support-tls-11-and-tls-12-windows-2008-r2-and-windows-7?forum=winserver2008appcompatabilityandcertification

Google’ın “Test My Site” servisi yeni özellikler kazandı

Pazartesi, 17 Tem 2017 yorum yok

İlk olarak geçtiğimiz yıl karşımıza çıkan Google’ın Test My Site servisi, web sitelerinin hem mobil hem de masaüstünde ne kadar hızlı çalışabildiğini ölçüyordu. Herhangi bir web sitesinin ne kadar kullanıcı dostu olduğuyla ilgili bir yüzde de paylaşan Test My Site’ın yeni özellikler kazandığı Google tarafından duyuruldu.

Kaynak: https://webrazzi.com/2017/06/30/googlein-test-my-site-servisi-yeni-ozellikler-kazandi/

Categories: Genel Tags:

ASP.NET 4.0’da ClientIDMode ile HTML ID’lerinin kontrolü.

Pazartesi, 10 Tem 2017 yorum yok

ASP.NET'te en sevmediğim özelliklerden biri yaratılan HTML kodu üzerindeki kontrolün pek de mümkün olmaması. Aslında bu sevmediğim özellik ASP.NET'in işimizi bu kadar kolaylaştırabilmesini sağlayan en önemli altyapısı ile ilişkili. Fakat derdime çare arayacak olsam aslında tam olarak da yaratılan HTML kontrollerinin ID'lerine takıldığımı söyleyebilirim. Boyumu aşan ID'leri kontrol edememek bir de bu ID'lere JavaScript ile ulaşmak zorunda kalmak ölümcül bir deneyim!

Neden bahsediyorsun?

Bahsettiğim şey aslında basit bir Repeater bile olabilir. Örneğin sayfanıza bir Repeater yerleştirdiniz ve içinde de çok basit bir Label bulunuyor. Aslında tek yapmak istediğiniz elinizdeki ürünlerin isimlerini listelemek diyelim. Bu durumda kabaca kullanacağınız Repeater yapısı aşağıdaki gibi olacaktır.

<asp:repeater id="Repeater1" runat="server">
    <ItemTemplate>
        <asp:Label ID="lbl_UrunAdi" runat="server" Text='<%# Eval("Adi") %>'></asp:Label>
    </ItemTemplate>
</asp:repeater>

Peki bu ASP.NET kodu çalıştığında ortaya HTML olarak ne çıkacak dersiniz? Gelin aşağıdaki HTML'i beraber inceleyelim.

Devamı http://daron.yondem.com/software/post/cb60cff9-5cc0-44b0-8dfb-0fc51243c1ae

Categories: Asp.NET, C# Tags: ,

Windows Server 2012 / IIS 8.0 uygulamalarında tarih formatının “d.M.yyyy” olarak değişmiş olması

Cuma, 07 Tem 2017 yorum yok

Merhaba Arkadaşlar,

Varsayılan tarih formatı “Windows Server 2012” üzerinde, “Windows Server 2008 R2” den farklı olduğu için, IIS uygulamalarınızı IIS 8.0 üzerine taşırken, uygulamanızda kullanmakta olduğunuz tarih formatlarında değişiklik olduğunu farketmiş olabilirsiniz.

Bunu en basitinden aşağıdaki “aspx” kodunu kullanarak test edebilirsiniz. Bu kod “System.DateTime.Now” çıktısını ekrana dökecektir:

Kaynak ve yazının devamı https://blogs.msdn.microsoft.com/devtr/2013/05/22/windows-server-2012-iis-8-0-uygulamalarnda-tarih-formatnn-d-m-yyyy-olarak-deimi-olmas/

Sitenizin culture durumu için aşağıdaki script kullanabilirsiniz.

<script>
	console.log('Default: ' + '<%=System.DateTime.Now%>');
	console.log('Local Time: ' + '<%=System.DateTime.Now.ToLocalTime()%>');
	console.log('Short Time: ' + '<%=System.DateTime.Now.ToShortDateString()%>');
	console.log('ToString Default: ' + '<%=System.DateTime.Now.ToString()%>');
	console.log('Universal Time: ' + '<%=System.DateTime.Now.ToUniversalTime()%>');
	console.log('d – Short Date: ' + '<%=System.DateTime.Now.ToString("d")%>');
	console.log('g – General: ' + '<%=System.DateTime.Now.ToString("g")%>');
</script>

 

Online C# Compile

Pazartesi, 03 Tem 2017 yorum yok
Categories: bestURL, C# Tags: ,

HTTP Durum Kodları – HTTP Status Codes

Perşembe, 29 Haz 2017 yorum yok

HTTP için durum kodları aşağıdaki gibidir : 

  • 1xx : Bilgi Amaçlı

    • 100 Continue : İstek başarılı alındığı ve devam edilebileceği belirtilir
    • 101 Switching Protocols : Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir
  • 2xx : Başarılı 

    • 200 OK : İstek başarılı alınmış ve cevap başarılı verilmiştir
    • 201 Created : İstek başarılı olmuş ve sunucuda yeni bir kaynak yaratılmıştır
    • 202 Accepted : Sunucu isteği kabul etti ancak henüz işlemedi
    • 203 Non-Authoritative Information : Sunucu isteği başarılı işledi, ancak başka kaynakta olabilecek bilgi döndürmektedir
    • 204 No Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir
    • 205 Reset Content : İstek başarılı alınmış ancak geri içerik döndürülmemektedir. Ancak içerik temizlenecektir (örneğin bir web formunda doldurulan bilgiler)
    • 206 Partial Content : GET için kısmi içerik (içeriğin bir belirli bir parçası) başarılıyla döndürülmüştür
  • 3xx : Yönlendirme

    • 300 Multiple Choices : Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir
    • 301 Moved Permanently : Bir kaynağın (veya sayfanın) kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar
    • 302 Found (HTTP 1.0) – Moved Temporarily (HTTP 1.1) : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir
    • 303 See Other : Farklı bir kayanağa GET yapılması gerektiğini belirtir
    • 304 Not Modified : İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadı belirtilir ve içerik gönderilmez
    • 305 Use Proxy : Sunucu tarafından döndürülen proxy'in kullanılması gerektiği belirtilir
    • 306 Switch Proxy : Bu durum kodu artık kullanılmıyor
    • 307 Temporary Redirect : Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir.
  • 4xx: Client Hatası

    • 400 Bad Request : İstek hatalı (isteğin yapısı hatalı) olduğu belirtilir
    • 401 Unauthorized : İstek için kimlik doğrulaması gerekiyor
    • 402 Payment Required : Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır)
    • 403 Forbidden : Kaynağın yasaklandığını belirtir
    • 404 Not Found : İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir
    • 405 Method Not Allowed : Sunucu , HTTP Method'u kabul etmiyor
    • 406 Not Acceptable : İstemcinin Accept header'ında verilen özellik karşılanamıyor
    • 407 Proxy Authentication Required : Proxy üzerinden yetkilendirme gerekir
    • 408 Request Timeout : İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı)
    • 409 Conflict : İstek içinde çelişki var
    • 410 Gone : Kaynak artık yok
    • 411 Length Required : İstekte "Content-Length" (içeriğin boyutu) belirtilmemiş
    • 412 Precondition Failed : Sunucu istekte belirtilen bazı önkoşulları karşılamıyor
    • 413 Request Entity Too Large : İsteğin boyutu çok büyük olduğu için işlenemedi
    • 414 Request-URI Too Long : URI (URL) fazla büyük
    • 415 Unsupported Media Type : İstenilen kaynak istenilen medya tipinin desteklemeiyor
    • 416 Requested Range Not Satisfiable : İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor veya uygun değil
    • 417 Expectation Failed : Sunucu "Expect" ile istenileni desteklemiyor veya yerine getiremiyor
  • 5xx: Sunucu Hatası

    • 500 Internal Server Error :  Sunucuda bir hata oluştu ve istek karşılanamadı
    • 501 Not Implemented : Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır
    • 502 Bad Gateway : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor
    • 503 Service Unavailable : Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor)
    • 504 Gateway Timeout : Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı
    • 505 HTTP Version Not Supported : HTTP Protokol versiyonu desteklenmiyor

Kaynak: http://www.fibiler.com/Bilim-ve-Teknoloji_Uygulamali-Bilimler-ve-Teknoloji_Bilgisayar-ve-Iletisim_Ag-Internet_HTTP-Protokolu_HTTP-Durum-Kodlari-Status-Codes_HTTP-Durum-Kodlari-HTTP-Status-Codes_Veri_12827

SSL ile TLS Arasındaki Fark

Perşembe, 22 Haz 2017 yorum yok

SSL’in açılımı Secure Sockets Layer yani güvenli soket katmanıdır. TLS ise Transport Layer Security yani taşıma katmanı güvenliğidir. Bu yazıda SSL ile TLS arasındaki farkları inceleyeceğiz.

TLS aslında SSL’in yeni adıdır. SSL protokolünün son versiyonu 3.0 idi ve TLS 1.0 aslında SSL 3.1 olarak kabul edilir. TLS’nin şu anki versiyonları TLS 1.1 ve TLS 1.2’dir. Her yeni versiyonda yeni özellikler eklenir ve bazı iç detaylar modifiye edilir. Bazen SSL/TLS olarak da adlandırılır.

SSL ile TLS Arasındaki Fark

SSL (TLS) rastgele ikili veri için iki host arasında güvenli ve çift yönlü bir tünel inşa eder.

Güvenlik noktasında hem TLS hem de SSL hemen hemen eşit seviyede güvenlik sunar. Bu noktadaki tek fark SSL bağlantıları güvenlik ile başlar ve doğrudan güvenli iletişime geçer, TLS bağlantıları ise sunucuya gönderilen güvenli olmayan bir “merhaba” mesajı ile başlar ve istemci ile sunucu arasındaki handshake (el sıkışma) gerçekleştikten sonra güvenli bağlantı kurulur. Eğer TLS el sıkışması gerçekleşemezse bağlantı asla kurulmaz.

SSL ile TLS Arasındaki Fark

SSL ile TLS arasındaki fark özetlenecek olursa; hem SSL hem de TLS istemci ve sunucu arasında güvenli bir bağlantı kurar. Aşağıda bazı temel farklılıkları inceleyeceğiz.

  • Sertifika uyarı mesajı: Eğer istemcinin herhangi bir sertifikası yoksa TLS protokolü içinde “Sertifika Yok” mesajı geçebilir. SSL’de ise eğer istemcinin herhangi bir sertifikası yok ise ayrıca bir bilgilendirme mesajı geçmeye gerek yoktur.
  • Mesaj doğrulama: TLS pek çok uygulamasında MAC (H-MAC) kullanırken; SSL MD5 ve SHA kullanır. H-MAC kullanmanın faydası herhangi bir hash fonksiyonuyla yönetilebilir olmasıdır.
  • Anahtar (key) üretimi: TLS HMAC ve PRF standartlarını kullanır ve bu standartlara göre anahtar (key) üretir. SSL ise RSADiffie-Hellman veya Fortezza/DMS kullanarak anahtar materyali üretir.
  • Sertifika doğrulama mesajı: TLS’de sertifika doğrulama mesajı handshake (el sıkma) mesajının içindedir ve oturum açıldığında zaten değiş tokuş edilir. SSL’de ise sertifika doğrulama mesajı zorlu bir süreçten geçer.
  • Bitti mesajı: TLS’de PRF çıktısıyla birlikte istemci ve sunucudan gelen “bitti” mesajlarıyla “bitti mesajı” oluşturulur. SSL’de ise anahtar üretimine benzer konseptte “bitti mesajı” oluşturulur.

Kaynak: https://limenya.com/ssl-ile-tls-arasindaki-fark/

 

Categories: Genel Tags:

WCF Nedir?

Pazartesi, 12 Haz 2017 yorum yok

WCF Temelleri

Windows Communication Foundation WCF, servis-yönelimli mimariyi temel alarak dağıtık-uygulamalar geliştirmek için kullanılan, dağıtık mimari modelleri ve teknolojileri tek çatı altında birleştiren ve içerisinde bir çok hazır bileşen barındıran bir Framework API‘sidir. (Bknz. Service Oriented Architecture)

Ayrıca WCF mimarisi, .NET Remoting, XML Web Servisleri, Web Service Enhancements (WSE), Enterprise Services/COM+ ve Microsoft Message Queue(MSMQ) gibi bir çok dağıtık uygulama geliştirme modelinin tek bir programlama modeli içerisinde geliştiriciye sunmaktadır.

Kaynak: http://www.kazimcesur.com/wcf/

Categories: WCF Tags:

How to change WSDL URL from internal machine name to public?

Cuma, 09 Haz 2017 yorum yok
<serviceBehaviors>
   <behavior name="<name>">
     <!-- Other options would go here -->
     <useRequestHeadersForMetadataAddress>
       <defaultPorts> <!-- Use your own port numbers -->
          <add scheme="http" port="81" />
          <add scheme="https" port="444" />
        </defaultPorts>
      </useRequestHeadersForMetadataAddress>
   </behavior>
</serviceBehaviors>

Kaynak: https://stackoverflow.com/questions/5007270/how-to-change-wsdl-url-from-internal-machine-name-to-public?answertab=votes#tab-top

Categories: C#, WCF Tags: ,

WCF Extensibility – Message Inspectors

Perşembe, 08 Haz 2017 yorum yok
Categories: WCF Tags:

Sys.WebForms.PageRequestManager

Salı, 06 Haz 2017 yorum yok

Sayfamıza bir UpdatePanel eklediğimizde otomatikman bir alt render motoru eklemiş oluruz. Yani o updatepane içeriği sayfanın geri kalanından bağımsız olarak sunucuya gidip gelmeye başlıyordu.  Bunun ingilizcedeki karşılığı “partial-page rendering”.  Başka bir deyişle aynı sayfa içinde çalışan, ama birbirinden bağımsız olarak sunucuya gidip gelen sayfa bölümleri de diyebiliriz. Ve sayfamıza ne kadar UpdatePanel eklersek o kadar çok birbirinden bağımsız render motoru  (partial-page rendering) eklemiş oluruz.

Peki sayfa içindeki render motorlarını kim organize ediyor?  Bunu yapan  Ms Ajax Libary içinde bulunan ve ScriptManager in bir parçası olan PageRequestManager sınıfıdır.  

 PageRequestManager ile neler yapabilriz? 

devamını oku…

Categories: Asp.NET Tags:

C# Caller Information

Cuma, 26 May 2017 yorum yok
namespace CallerInfo
{
    public class CallerInfoExample
    {
        public void Log(String logMessage, [CallerMemberName] string callerName="", 
                                           [CallerLineNumber] int lineNumber=0, 
                                           [CallerFilePath] string filePath="")
        {
            Console.WriteLine("Çağrıldığı Dosya=" + filePath);   
            Console.WriteLine("Çağıran Metod="+callerName);
            Console.WriteLine("Çağrıldığı Satır Numarası=" + lineNumber); 
        }        
    }
}

namespace CallerInfo
{
    class Test
    {
        static void Main()
        {
            CallerInfoExample callerInfo = new CallerInfoExample();
            callerInfo.Log("Caller Info Test");
        }
    }
}

 

Categories: C# Tags:

Export To Excell Helper

Cuma, 26 May 2017 yorum yok
public static void GridExportToExcel(string fileName, object dataTable)
{
    var grid = new GridView();
    grid.DataSource = dataTable;
    grid.DataBind();

    HttpContext.Current.Response.ClearContent();
    HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}-{1}.xls", fileName, DateTime.Now.ToShortDateString().Replace(".", "")));
    HttpContext.Current.Response.ContentType = "application/ms-excel";
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Unicode;
    HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    grid.RenderControl(htw);

    HttpContext.Current.Response.Write(sw.ToString());
    HttpContext.Current.Response.End();
}

 

Categories: Genel Tags:

REST Apilerde Dönülen HTTP Status Kodları (Yaygın Kullanılanlar)

Salı, 09 May 2017 yorum yok

200 OK: Genelde veri listeleme sonuçları 200 ile dönüş yapılır.
201 CREATED: Veri eklendiği zaman verinin kendisi ile 201 dönülüyor.
204 NO CONTENT: Veri silindiği zaman 204 dönülüyor. 
400 BAD REQUEST: Genel olarak kayıt ekleme ya da güncelleme isteklerinde gönderilen veri validasyondan geçemediyse neden geçemediği hakkında bilgiyle beraber 400 http statusuyla dönülür.
403 Forbidden: Yetkiye dayalı bir işlem yapılıyorsa bu api uç noktasında işlem yapmaya çalışan kişinin bu işlemi yapmaya yetkisi yoksa 403 status kodu döndürülür.
401 Unauthorized: Api ucunuzda bu işlemi yapmak için login olmak zorunlu ise ve apiye istek yapan kullanıcı login değil ise bu http status ile cevap verilir. Örneğin kullanıcının kendi bilgilerinin güncellemesi denilebilir. 
404 Not Found: Bu http status  kullanıcının istek yaptığı url yok ise ya da url deki veri geçersiz ise bu hatayı alırız. örneğin şöyle bir url miz olsun /api/v1/account/bahattincinic sondaki bölüm kullanıcı adı. Buraya sistemimizde olmayan bir kullanıcı girersek 404 alırız.
405 Method Not Allowed: Bu http status u istek yapılan api uç noktası gönderilen methodu implemente etmemiş ise bu http status unu alırız. Örneğin login olması için token verdiğimiz bir api ucumuz var ve bu uçta sadece post isteğini kabul ediyor. Kullanıcı bu api urline GET isteği yaparsa bu hatayı alır.
429 Too Many Requests: Bu http statusunu saatlik ya da dakikaklık kısıtlanan sınırdan fazla istek yaparsak bu http statusunu alırız. Örnek olarak yukarıdaki Twitter örneğini vermiştik.

Bu konuyla alakalı güzel bir site 🙂
http://ruffledcrow.com/2012/03/06/http-status-cats/

HTTP statuslarını gruplayacak olursak;
Bilgilendirme – 1xx
Başarılı İşlem – 2xx
Yönlendirmek – 3xx
Kullanıcı Taraflı hata – 4xx
Server Taraflı hata – 5xx

şeklinde gruplandırabiliriz. (örneğin 2xx: 2 ile başlayan http statusları)

Kaynak: http://bahattincinic.com/post/89047254349/kim-korkar-rest-den

Categories: WebApi Tags: ,

Mapper kütüphaneleri Performans Testi

Pazartesi, 08 May 2017 yorum yok

Aşağıdaki yazının sonuç kısmını paylaşmak istedim.

4 Farklı renklere ayrılma sebebi 1,10,100 ve 1000 kayıt üzerinde yapılan işlemler sonucunda hangi Mapper türünün ne kadar sürdüğünü ayırtedebilmek için. 4 farklı değerdeki parametre sonucunda mapper türlerinin performans testi sıralamasının bozulmadığını görüyoruz. En performanslı çalışan yöntem Linq Select metodudur. Fakat her dto nesnesi için oluşacak mappingleri kendiniz manuel yapacağınız için bu mapping türünü gözardı edebiliriz bu işi Source, Target eşleşmesi yardımıyla otomatik yapan diğer 4 Mapper kütüphanesine bakacak olursak TinyMapper’in Linq’dan sonra en performanlı Mapper yöntemi olduğu görüyoruz. TinyMapper’i AutoMapper ve Onuda ExpressMapper takip ediyor. Kendi yöntemimiz olan Reflector ile mapper yerlerde sürünüyor smiley Ona hiç bakmaya gerek yok.

Yazıya göre en başarılı olan http://tinymapper.net/ gözüküyor.

http://www.muratoner.net/csharp/mapper-kutuphaneleri-performans-testi

Categories: C# Tags:

Free Format Convert

Salı, 18 Nis 2017 yorum yok
Categories: bestURL Tags:

16.04.2017 Tarihi Anayasa Değişikliği İçin Referandum Yapıldı.

Pazartesi, 17 Nis 2017 yorum yok

2017 Türkiye anayasa değişikliği referandumu, 16 Nisan 2017'de gerçekleşen halk oylamasıdır. Seçmenler, mevcut Türkiye Anayasası'nın 18 maddesi üzerindeki değişikliklerini oyladı.

https://tr.wikipedia.org/wiki/2017_T%C3%BCrkiye_anayasa_de%C4%9Fi%C5%9Fikli%C4%9Fi_referandumu

Categories: Genel Tags:

SQL Server Locking Hints

Perşembe, 13 Nis 2017 yorum yok

Merhabalar,

Sql server da yaptığımız bazı işlemler sırasında kullandığımız tabloları kilitlememiz gerekebilir. Yada kilitli bir tablodan kilidin açılmasını beklemeden sorgu çekmek isteyebiliriz. Bu gibi durumlar için kullanabileceğimiz sql server locking hint leri aşağıdaki gibidir;

HOLDLOCK = Kilitlenme işleminin transaction bitimine kadar sürmesini sağlar. Tablock gibi bazı ifadeler sadece statement bazında kilitleme yapmaktadır. Bunların transaction bazında kilitleme yapması isteniyorsa HOLDLOCK ifadesiyle beraber kullanılması gerekmektedir. HOLDLOCK, SERIALIZABLE ile aynı işi yapmaktadır.

 

NOLOCK = Kilitli bir tablodan kilidin açılmasını beklemeden kayıt çekmeye yarar. Kirli kayıt (dirty read) alınması mümkündür. Kullanımı Select * from TableName WITH (NOLOCK) şeklindedir. NOLOCK, READUNCOMMITTED ile aynı işi yapmaktadır.

PAGELOCK =  Sayfa bazında kilitleme yapmak için kullanılır.

READCOMMITTED = Kilitli tabloları kullanabilmek için kilidinin açılmasını bekler. SQL Server default udur.

READUNCOMMITTED = NoLock ile aynı işi yapar.

ROWLOCK = Kayıt bazında kilitleme yapmak için kullanılır.

SERIALIZABLE = HoldLock ile aynı işi yapar.

TABLOCK = Tablock ile lock edilen tablolarda read işlemi yapılabilirken insert ve update işlemi yapılamamaktadır. Ayrıca transaction boyutunda çalışabilmesi için holdlock ifadesi ile beraber kullanılması gerekmektedir.

TABLOCKX = Tablockx in tablock dan farkı read işleminide izin vermemesidir. Ayrıca transaction bazında çalışabilmekte dolayısıyla ekstradan holdlock ifadesine gerek kalmamaktadır.

UPDLOCK = Updlock ile locklanmış tablo larda select ve insert işlemleri yapılabilirken, update işlemi yapılamamaktadır. Statement ve transaction bazında çalışır. Transaction bazında çalışması için ayrıca HOLDLOCK ifadesine gerek yoktur.

XLOCK = Tablockx gibidir. Farkı statement da ki bütün işlemlerin bitmesini bekler. En kapsamlı lock işlemidir.

Sistemde bulunan kilitli tablolar EXEC sp_lock komutuyla görüntülenebilir.

Kaynak: http://www.caglarozenc.com/ms-sql-server/sql-server-locking-hints.html

Categories: SQL Hakkında Tags: ,

Bilgisayar İlk Kurulumda Gerekli Olan Herşey

Çarşamba, 05 Nis 2017 yorum yok
Categories: bestURL Tags:

SQL Transactions

Çarşamba, 29 Mar 2017 yorum yok
TRANSACTIONS
 
Transaction’lar, aynı anda birden çok işlemin yapıldığı durumlarda, bütünü oluşturan parçalardan en az birinde hata meydana gelirse bütün işlemleri geriye almamızı sağlayan ifadelerdir.
 
Transaction ifadelerini en yaygın olarak 2 yolla oluşturmak mümkündür: Bunlardan ilki, Auto Commit Transaction; ikincisi ise Explicit Transaction’dır.
 
 Auto Commit Transaction
·         Hiçbir transaction modu tayin edilmediyse SQL Server bu modda çalışır.
·         Auto commit modunda her bir batch bir transaction bloğu olarak ele alınır.
·         Batch içerisinde bir sorun olursa da, SQL Server otomatik olarak bütün batch’i geri alır yani rollback eder.
·         INSERT,UPDATE,DELETE gibi diğer komutlardan ayrı olarak gönderilen ifadeler SQL Server tarafından otomatik olarak transaction içerisinde paketlenir. Bu tek ifadeli transaction’lar, ifade başarılı olduğunda otomatik olarak commit edilir(onaylanır) ya da runtime hatası neticesinde otomatik olarak rollback edilir(geri alınır).
 
Explicit Transaction
·         Kullanıcının TCL komutları (begin, commit,rollback) kullanarak başlattığı transaction’lardır.TCL, T-SQL'in alt kümesidir.
 
            
 

·         Batch’lerde runtime hatası olduğunda, örneğin; 2 tabloya aynı anda veri girişi yapmak istediğimizi düşünelim. Bir tanesine giriş oldu fakat sonrasında runtime hatası verdi ve ikincisine giriş olmadı.
 
   insert into … values …
   insert into … values …
   GO
   
   Bu durumda yazdığımız iki insert ifadelerini kullanıcı tanımlı transaction’ın içine sokarak bu olumsuzluktan kurtulabiliriz.  (İlgili örneğe en aşağıda ulaşabilirsiniz).
 
BEGIN TRANSACTION
·         Transaction işlemini başlatır. İşlem başarılıysa bitirmek için COMMIT TRANSACTION / COMMIT TRAN, başarısızlık durumunda bitirmek için de ROLLBACK TRANSACTION / ROLLBACK TRAN kullanılır.
·         İç içe transaction’larda eğer dış kısımdaki transaction rollback olduysa (geri alındıysa) içteki transaction da işlem görmüşse bile rollback edilir.
·         Transaction’lar COMMIT TRANSACTION ya da ROLLBACK TRANSACTION görünceye kadar devam eder ya da başlangıçtaki bağlantı kesilene kadar yani SQL Server otomatik olarak transaction’ı rollback edene kadar sürer.
 
COMMIT TRANSACTION
Başarılı olan transaciton’ı veritabanına kaydeder.
 
ROLLBACK TRANSACTION
·         Başarısız bir transaction’ın sonunda ROLLBACK komutunu kullanırız.
·         Transaction sırasında meydana gelen değişiklikleri geri almada kullanılır. Örneğin, insert, delete, update yapılan satırlar ya da create edilmiş objeler gibi.
·         CATCH bloğu içerisinde kullanılabilir.
·         Geri almadan önce (rollback), XACT_STATE fonksiyonunu kullanarak transaction’ın durumunu öğrenebiliriz. Bu CATCH bloğu içerisindeki hatalardan kaçınmamızı sağlar.
 
XACT_STATE Sonucu   Tanımı
0              Aktif kullanıcı transaction’ı yok.
1              Aktif, yürütülmekte olan transaction mevcut
                   -1              Aktif kullanıcı transaction mevcut ama hatalı. Transaction sadece geri alınabilir.
 
XACT_ABORT
Hata meydana geldiğinde SQL otomatik olarak geri alma işlemi yapmaz. Geri almak için ROLLBACK ifadesi kullanılır ya da XACT_ABORT devreye sokulur. XACT_ABORT ifadesi SQL Server runtime hatası verdiğinde yürütülmekte olan transaction’ın otomatik olarak geri alınmasını sağlar.
Default olarak XACT_ABORT kapalıdır. Bunu ayarlamak için SET komutu kullanılır.
 
       
 
 
Batch’lerden Oluşan Transaction
 
Transaction Örneği:
 
BEGIN TRY
   BEGIN TRANSACTION
      INSERT INTO Siparisler (musteriID, personelID, siparisTarihi) VALUES (1,1,’2015-08-14’);
      INSERT INTO SiparisDetay (siparisID, urunID, birimfiyat, adet) VALUES (2,4,50,150);
   COMMIT TRANSACTION;
END TRY
BEGIN CATCH
   SELECT ERROR_NUMBER(), ERROR_MESSAGE();
ROLLBACK TRANSACTION;
END CATCH;
 
Burada TRY bloğu içinde, INSERT ifadesi BEGIN TRAN ve COMMIT TRAN ifadeleri tarafından sarılmıştır. Bu INSERT ifadesinin tamamıyla başarıyla gerçekleşmesini ya da tamamıyla başarısız olmasını sağlar. Eğer herhangi bir runtime hatası vermezse, transaction gerçekleşir ve iki insert ifadesinin sonucu veritabanına işlenir. Eğer birinci INSERT işlemi sırasında hata olursa execution CATCH bloğa geçer; ikinci INSERT işlemini atlayarak CATCH bloğu içindeki ROLLBACK ifadesi transaction’ı sonlandırır. Eğer ikinci INSERT işlemi sırasında hata olursa execution CATCH bloğa geçer. İlk INSERT komutu başarıyla tamamlandığından ve satırlar Siparisler tablosuna eklendiği için ROLLBACK ifadesi başarılı olan INSERT işlemini geri alır.
 
Categories: SQL Hakkında Tags:

Ülke Bayrakları Hakkında

Cuma, 24 Mar 2017 yorum yok
Categories: Genel Tags:

MVC ATTRİBUTE KULLANIMI

Cumartesi, 18 Mar 2017 yorum yok

MVC Attribute aşağıdaki gibi kullanabilirsiniz.

Filter  Interface  Default Implementation

 Authorization Filter  IAuthorizationFilter AuthorizeAttribute
 Action Filter  IActionFilter ActionFilterAttribute
 Result Filter  IResultFilter ActionFilterAttribute
 Exception Filter  IExceptionFilter HandleErrorAttribute

Authorization : Diğer filtreler ve Action metodlardan önce çalışmaktadır.Controller ya da Controller içindeki Action metoda erişim kısıtlamak için kullanılır.
Exception : Hata durumlarında çalışan filtredir.
Action : Herhangi bir Controller sınıfında bulunan Action metottan önce ya da sonra çalışır.
Result : Action Result çalıştırılmadan önce ya da çalıştırıldıktan sonra çalışır.

Kaynak: https://cemelma.wordpress.com/2014/09/04/mvc-attribute-kullanimi/

Categories: MVC Tags:

Awesome .NET!

Çarşamba, 15 Şub 2017 yorum yok
Categories: bestURL Tags:

Jquery Favico Plugin – favico.js

Cuma, 25 Kas 2016 yorum yok

.Bu plugin sayesinde favico olarak resim,video,webcam koyabiliyoruz.Ayrıca favico üzerine sayısal olarak bildirim sayısı da yazdıra biliyoruz ve dinamik olarak değiştire biliyoruz.Tüm ayarları için http://lab.ejci.net/favico.js/ buraya bakabilirsiniz.

Categories: JavaScript Tags:

SQL Server Data Types and Their .NET Framework Equivalents

Perşembe, 24 Kas 2016 yorum yok
SQL Server data type     CLR data type (SQL Server)  CLR data type (.NET Framework)  
varbinary                SqlBytes, SqlBinary         Byte[]  
binary                   SqlBytes, SqlBinary         Byte[]  
varbinary(1), binary(1)  SqlBytes, SqlBinary         byte, Byte[] 
image                    None                        None
     
varchar                  None                        None
char                     None                        None
nvarchar(1), nchar(1)    SqlChars, SqlString         Char, String, Char[]     
nvarchar                 SqlChars, SqlString         String, Char[] 
nchar                    SqlChars, SqlString         String, Char[] 
text                     None                        None
ntext                    None                        None
     
uniqueidentifier         SqlGuid                     Guid 
rowversion               None                        Byte[]  
bit                      SqlBoolean                  Boolean 
tinyint                  SqlByte                     Byte 
smallint                 SqlInt16                    Int16  
int                      SqlInt32                    Int32  
bigint                   SqlInt64                    Int64 
     
smallmoney               SqlMoney                    Decimal  
money                    SqlMoney                    Decimal  
numeric                  SqlDecimal                  Decimal  
decimal                  SqlDecimal                  Decimal  
real                     SqlSingle                   Single  
float                    SqlDouble                   Double  
     
smalldatetime            SqlDateTime                 DateTime  
datetime                 SqlDateTime                 DateTime 
     
sql_variant              None                        Object  
User-defined type(UDT)   None                        user-defined type     
table                    None                        None 
cursor                   None                        None
timestamp                None                        None 
xml                      SqlXml                      None
Categories: C# Tags:

Admin Template

Perşembe, 17 Kas 2016 yorum yok
Categories: bestURL, Template Tags:

Cookie Silmek

Pazar, 13 Kas 2016 yorum yok
public void DeleteCookie(string name)
{
    DateTime now = DateTime.UtcNow;
    string cookieKey = name;
    var cookie = new HttpCookie(cookieKey, null)
    {
        Expires = now.AddDays(-1)
    };
    HttpContext.Response.Cookies.Set(cookie);
}

Kaynak: http://www.aspmvcnet.com/tr/m/asp-net-mvc/cookie-silmek.html

Categories: MVC Tags:

c# program info

Perşembe, 03 Kas 2016 yorum yok
string _AppName = "<unknown>";
var _MachineName = Environment.MachineName;
if (Assembly.GetEntryAssembly() != null)
{
    _AppName = Assembly.GetEntryAssembly().Location;
}
            
var _AppDomainFriendlyName = AppDomain.CurrentDomain.FriendlyName;
var _UTCTime = DateTime.UtcNow;
var _OSPlatform = Environment.OSVersion.Platform.ToString();
var _OSVersion = Environment.OSVersion.Version.ToString();
var _Stack = new StackTrace(0);
var _UserDomainName = Environment.UserDomainName;
var _UserName = Environment.UserName;
var _UserInteractive = Environment.UserInteractive;
var _RuntimeVersion = Environment.Version.ToString();

 

Categories: C# Tags:

10 Popular Metro Bootstraps

Çarşamba, 02 Kas 2016 yorum yok

1. BootMetro

Simple and flexible HTML, CSS, and Javascript for web apps that wants to use the “Windows 8 App Store” style, without the need to run on Windows 8.
BootMetro.jpg

SourceDemo

2. Bootswatch – Cosmo

A free Metro-inspired theme for Bootstrap.

Cosmo.jpg
Source + Demo

3. metro-bootstrap

Simple bootstrap from Twitter with Metro style.

Metro-Bootstrap.jpg
SourceDemo

4. Metro UI CSS

Developed with the advice of Microsoft to build the user interface.

Metro-UI-CSS.jpg
Source + Demo

5. Metro Mania

An all in one, Professional and Responsive Metro Bootstrap theme. Comes with 60 pages and 6 colors (Purple, Red, Light blue, Blue, Green and Orange).

Metro-Mania.jpg
SourceDemo

6. Scaffold – Metro Style Template

Modern and fresh HTML site template built with twitter bootstrap + designed with metro style. This template looks great for modern corporate business website or used for web design agency.

Scaffold.jpg
SourceDemo

7. MADMIN – Admin Theme

A Metro inspired fluid-adaptive admin theme that tries to be as light as posible and put your data and controls in focus, not the theme chrome.

MADMIN.jpg
SourceDemo

8. Metro Flexible Navigation

It can be customized to be laid out horizontally or vertically. It’s scrollable and dragable at the same time and contains useful sliding controls. Icons can be changed, there is a large collection available.

Metro-Flexible-Navigation.jpg
SourceDemo

9. MelonHTML5 – Metro UI

It is fully powered by HTML5, CSS3 and JavaScript with plengy of options for you to configure it to suit your own needs.

MelonHTML5-Metro-UI.jpg
SourceDemo

10. Metro Help Desk Support Tickets

comes by default with an integrated FAQ and manuals systems, thus allowing staff members to decrease response time and improve efficiency.

Metro-Help-Desk.jpg
SourceDemo

11. jQuery UI Metro Theme Builder

With jQUIT Builder you can build custom jQuery UI themes based on Metro UI.

jquery-ui-metro
Source + Demo

12. Metro UI Template

Build Windows 8-style websites with ease.

metro-template
Source + Demo

Kaynak : https://www.sitepoint.com/metro-bootstraps/

Categories: Bootstrap Tags:

HTML Kodları

Salı, 01 Kas 2016 yorum yok

Alttaki Html Kodları Tüm popüler tarayıcılar tarafından desteklenmektedir.

DEC OCT HEX BIN Sembol Html Numarası Html Adı Açıklama
0 000 00 00000000 NUL &#000;   Null karakteri
1 001 01 00000001 SOH &#001;   Start of Heading
2 002 02 00000010 STX &#002;   Start of Text
3 003 03 00000011 ETX &#003;   End of Text
4 004 04 00000100 EOT &#004;   End of Transmission
5 005 05 00000101 ENQ &#005;   Enquiry
6 006 06 00000110 ACK &#006;   Acknowledgment
7 007 07 00000111 BEL &#007;   Bell
8 010 08 00001000 BS &#008;   Back Space
9 011 09 00001001 HT &#009;   Horizontal Tab
10 012 0A 00001010 LF &#010;   Line Feed
11 013 0B 00001011 VT &#011;   Vertical Tab
12 014 0C 00001100 FF &#012;   Form Feed
13 015 0D 00001101 CR &#013;   Carriage Return
14 016 0E 00001110 SO &#014;   Shift Out / X-On
15 017 0F 00001111 SI &#015;   Shift In / X-Off
16 020 10 00010000 DLE &#016;   Data Line Escape
17 021 11 00010001 DC1 &#017;   Device Control 1 (oft. XON)
18 022 12 00010010 DC2 &#018;   Device Control 2
19 023 13 00010011 DC3 &#019;   Device Control 3 (oft. XOFF)
20 024 14 00010100 DC4 &#020;   Device Control 4
21 025 15 00010101 NAK &#021;   Negative Acknowledgement
22 026 16 00010110 SYN &#022;   Synchronous Idle
23 027 17 00010111 ETB &#023;   End of Transmit Block
24 030 18 00011000 CAN &#024;   Cancel
25 031 19 00011001 EM &#025;   End of Medium
26 032 1A 00011010 SUB &#026;   Substitute
27 033 1B 00011011 ESC &#027;   Escape
28 034 1C 00011100 FS &#028;   File Separator
29 035 1D 00011101 GS &#029;   Group Separator
30 036 1E 00011110 RS &#030;   Record Separator
31 037 1F 00011111 US &#031;   Unit Separator
32 040 20 00100000   &#32;   Boşluk
33 041 21 00100001 ! &#33;   Exclamation mark
34 042 22 00100010 &#34; &quot; Çift Tırnak
35 043 23 00100011 # &#35;   Number
36 044 24 00100100 $ &#36;   Dolar
37 045 25 00100101 % &#37;   Procenttecken
38 046 26 00100110 & &#38; &amp; Ve İşareti
39 047 27 00100111 &#39;   Tek Tırnak
40 050 28 00101000 ( &#40;   Parantez Açma
41 051 29 00101001 ) &#41;   Parantez Kapama
42 052 2A 00101010 * &#42;   Yıldız
43 053 2B 00101011 + &#43;   Artı
44 054 2C 00101100 , &#44;   Virgül
45 055 2D 00101101 &#45;   Tire
46 056 2E 00101110 . &#46;   Nokta
47 057 2F 00101111 / &#47;   Slaş
48 060 30 00110000 0 &#48;   Sıfır
49 061 31 00110001 1 &#49;   Bir
50 062 32 00110010 2 &#50;   İki
51 063 33 00110011 3 &#51;   Üç
52 064 34 00110100 4 &#52;   Dört
53 065 35 00110101 5 &#53;   Beş
54 066 36 00110110 6 &#54;   Altı
55 067 37 00110111 7 &#55;   Yedi
56 070 38 00111000 8 &#56;   Sekiz
57 071 39 00111001 9 &#57;   Dokuz
58 072 3A 00111010 : &#58;   İki Nokta
59 073 3B 00111011 ; &#59;   Noktalı Virgül
60 074 3C 00111100 < &#60; &lt; Küçüktür İşareti
61 075 3D 00111101 = &#61;   Eşittir
62 076 3E 00111110 > &#62; &gt; Büyüktür İşareti
63 077 3F 00111111 ? &#63;   Soru İşareti
64 100 40 01000000 @ &#64;   Et İşareti
65 101 41 01000001 A &#65;   Büyük A
66 102 42 01000010 B &#66;   Büyük B
67 103 43 01000011 C &#67;   Büyük C
68 104 44 01000100 D &#68;   Büyük D
69 105 45 01000101 E &#69;   Büyük E
70 106 46 01000110 F &#70;   Büyük F
71 107 47 01000111 G &#71;   Büyük G
72 110 48 01001000 H &#72;   Büyük H
73 111 49 01001001 I &#73;   Büyük I
74 112 4A 01001010 J &#74;   Büyük J
75 113 4B 01001011 K &#75;   Büyük K
76 114 4C 01001100 L &#76;   Büyük L
77 115 4D 01001101 M &#77;   Büyük M
78 116 4E 01001110 N &#78;   Büyük N
79 117 4F 01001111 O &#79;   Büyük O
80 120 50 01010000 P &#80;   Büyük P
81 121 51 01010001 Q &#81;   Büyük Q
82 122 52 01010010 R &#82;   Büyük R
83 123 53 01010011 S &#83;   Büyük S
84 124 54 01010100 T &#84;   Büyük T
85 125 55 01010101 U &#85;   Büyük U
86 126 56 01010110 V &#86;   Büyük V
87 127 57 01010111 W &#87;   Büyük W
88 130 58 01011000 X &#88;   Büyük X
89 131 59 01011001 Y &#89;   Büyük Y
90 132 5A 01011010 Z &#90;   Büyük Z
91 133 5B 01011011 [ &#91;   Köşeli Parantez Açma
92 134 5C 01011100 \ &#92;   Ters Slash
93 135 5D 01011101 ] &#93;   Köşeli Parantez Kapama
94 136 5E 01011110 ^ &#94;   Caret – circumflex
95 137 5F 01011111 _ &#95;   Altçizgi
96 140 60 01100000 ` &#96;   Grave accent
97 141 61 01100001 a &#97;   Küçük a
98 142 62 01100010 b &#98;   Küçük b
99 143 63 01100011 c &#99;   Küçük c
100 144 64 01100100 d &#100;   Küçük d
101 145 65 01100101 e &#101;   Küçük e
102 146 66 01100110 f &#102;   Küçük f
103 147 67 01100111 g &#103;   Küçük g
104 150 68 01101000 h &#104;   Küçük h
105 151 69 01101001 i &#105;   Küçük i
106 152 6A 01101010 j &#106;   Küçük j
107 153 6B 01101011 k &#107;   Küçük k
108 154 6C 01101100 l &#108;   Küçük l
109 155 6D 01101101 m &#109;   Küçük m
110 156 6E 01101110 n &#110;   Küçük n
111 157 6F 01101111 o &#111;   Küçük o
112 160 70 01110000 p &#112;   Küçük p
113 161 71 01110001 q &#113;   Küçük q
114 162 72 01110010 r &#114;   Küçük r
115 163 73 01110011 s &#115;   Küçük s
116 164 74 01110100 t &#116;   Küçük t
117 165 75 01110101 u &#117;   Küçük u
118 166 76 01110110 v &#118;   Küçük v
119 167 77 01110111 w &#119;   Küçük w
120 170 78 01111000 x &#120;   Küçük x
121 171 79 01111001 y &#121;   Küçük y
122 172 7A 01111010 z &#122;   Küçük z
123 173 7B 01111011 { &#123;   Süslü Parantez Açma
124 174 7C 01111100 | &#124;   Dikey Çizgi
125 175 7D 01111101 } &#125;   Süslü Parantez Kapama
126 176 7E 01111110 ~ &#126;   Sonsuzluk İşareti – Tilde
127 177 7F 01111111   &#127;   Delete
128 200 80 10000000 &#128; &euro; Euro İşareti
129 201 81 10000001        
130 202 82 10000010 &#130; &sbquo; Single low-9 quotation mark
131 203 83 10000011 ƒ &#131; &fnof; Latin small letter f with hook
132 204 84 10000100 &#132; &bdquo; Double low-9 quotation mark
133 205 85 10000101 &#133; &hellip; Horizontal ellipsis
134 206 86 10000110 &#134; &dagger; Dagger
135 207 87 10000111 &#135; &Dagger; Double dagger
136 210 88 10001000 ˆ &#136; &circ; Modifier letter circumflex accent
137 211 89 10001001 &#137; &permil; Per mille sign
138 212 8A 10001010 Š &#138; &Scaron; Latin capital letter S with caron
139 213 8B 10001011 &#139; &lsaquo; Single left-pointing angle quotation
140 214 8C 10001100 Π&#140; &OElig; Latin capital ligature OE
141 215 8D 10001101        
142 216 8E 10001110 Ž &#142;   Latin captial letter Z with caron
143 217 8F 10001111        
144 220 90 10010000        
145 221 91 10010001 &#145; &lsquo; Left single quotation mark
146 222 92 10010010 &#146; &rsquo; Right single quotation mark
147 223 93 10010011 &#147; &ldquo; Left double quotation mark
148 224 94 10010100 &#148; &rdquo; Right double quotation mark
149 225 95 10010101 &#149; &bull; Bullet
150 226 96 10010110 &#150; &ndash; En dash
151 227 97 10010111 &#151; &mdash; Em dash
152 230 98 10011000 ˜ &#152; &tilde; Small tilde
153 231 99 10011001 &#153; &trade; Trade mark sign
154 232 9A 10011010 š &#154; &scaron; Latin small letter S with caron
155 233 9B 10011011 &#155; &rsaquo; Single right-pointing angle quotation mark
156 234 9C 10011100 œ &#156; &oelig; Latin small ligature oe
157 235 9D 10011101        
158 236 9E 10011110 ž &#158;   Latin small letter z with caron
159 237 9F 10011111 Ÿ &#159; &Yuml; Latin capital letter Y with diaeresis
160 240 A0 10100000   &#160; &nbsp; Non-breaking space
161 241 A1 10100001 ¡ &#161; &iexcl; Inverted exclamation mark
162 242 A2 10100010 ¢ &#162; &cent; Cent sign
163 243 A3 10100011 £ &#163; &pound; Pound sign
164 244 A4 10100100 ¤ &#164; &curren; Currency sign
165 245 A5 10100101 ¥ &#165; &yen; Yen sign
166 246 A6 10100110 ¦ &#166; &brvbar; Pipe, Broken vertical bar
167 247 A7 10100111 § &#167; &sect; Section sign
168 250 A8 10101000 ¨ &#168; &uml; Spacing diaeresis – umlaut
169 251 A9 10101001 © &#169; &copy; Copyright sign
170 252 AA 10101010 ª &#170; &ordf; Feminine ordinal indicator
171 253 AB 10101011 « &#171; &laquo; Left double angle quotes
172 254 AC 10101100 ¬ &#172; &not; Not sign
173 255 AD 10101101   &#173; &shy; Soft hyphen
174 256 AE 10101110 ® &#174; &reg; Registered trade mark sign
175 257 AF 10101111 ¯ &#175; &macr; Spacing macron – overline
176 260 B0 10110000 ° &#176; &deg; Degree sign
177 261 B1 10110001 ± &#177; &plusmn; Plus-or-minus sign
178 262 B2 10110010 ² &#178; &sup2; Superscript two – squared
179 263 B3 10110011 ³ &#179; &sup3; Superscript three – cubed
180 264 B4 10110100 ´ &#180; &acute; Acute accent – spacing acute
181 265 B5 10110101 µ &#181; &micro; Micro sign
182 266 B6 10110110 &#182; &para; Pilcrow sign – paragraph sign
183 267 B7 10110111 · &#183; &middot; Middle dot – Georgian comma
184 270 B8 10111000 ¸ &#184; &cedil; Spacing cedilla
185 271 B9 10111001 ¹ &#185; &sup1; Superscript one
186 272 BA 10111010 º &#186; &ordm; Masculine ordinal indicator
187 273 BB 10111011 » &#187; &raquo; Right double angle quotes
188 274 BC 10111100 ¼ &#188; &frac14; Fraction one quarter
189 275 BD 10111101 ½ &#189; &frac12; Fraction one half
190 276 BE 10111110 ¾ &#190; &frac34; Fraction three quarters
191 277 BF 10111111 ¿ &#191; &iquest; Inverted question mark
192 300 C0 11000000 À &#192; &Agrave; Latin capital letter A with grave
193 301 C1 11000001 Á &#193; &Aacute; Latin capital letter A with acute
194 302 C2 11000010 Â &#194; &Acirc; Latin capital letter A with circumflex
195 303 C3 11000011 Ã &#195; &Atilde; Latin capital letter A with tilde
196 304 C4 11000100 Ä &#196; &Auml; Latin capital letter A with diaeresis
197 305 C5 11000101 Å &#197; &Aring; Latin capital letter A with ring above
198 306 C6 11000110 Æ &#198; &AElig; Latin capital letter AE
199 307 C7 11000111 Ç &#199; &Ccedil; Latin capital letter C with cedilla
200 310 C8 11001000 È &#200; &Egrave; Latin capital letter E with grave
201 311 C9 11001001 É &#201; &Eacute; Latin capital letter E with acute
202 312 CA 11001010 Ê &#202; &Ecirc; Latin capital letter E with circumflex
203 313 CB 11001011 Ë &#203; &Euml; Latin capital letter E with diaeresis
204 314 CC 11001100 Ì &#204; &Igrave; Latin capital letter I with grave
205 315 CD 11001101 Í &#205; &Iacute; Latin capital letter I with acute
206 316 CE 11001110 Î &#206; &Icirc; Latin capital letter I with circumflex
207 317 CF 11001111 Ï &#207; &Iuml; Latin capital letter I with diaeresis
208 320 D0 11010000 Ð &#208; &ETH; Latin capital letter ETH
209 321 D1 11010001 Ñ &#209; &Ntilde; Latin capital letter N with tilde
210 322 D2 11010010 Ò &#210; &Ograve; Latin capital letter O with grave
211 323 D3 11010011 Ó &#211; &Oacute; Latin capital letter O with acute
212 324 D4 11010100 Ô &#212; &Ocirc; Latin capital letter O with circumflex
213 325 D5 11010101 Õ &#213; &Otilde; Latin capital letter O with tilde
214 326 D6 11010110 Ö &#214; &Ouml; Latin capital letter O with diaeresis
215 327 D7 11010111 × &#215; &times; Multiplication sign
216 330 D8 11011000 Ø &#216; &Oslash; Latin capital letter O with slash
217 331 D9 11011001 Ù &#217; &Ugrave; Latin capital letter U with grave
218 332 DA 11011010 Ú &#218; &Uacute; Latin capital letter U with acute
219 333 DB 11011011 Û &#219; &Ucirc; Latin capital letter U with circumflex
220 334 DC 11011100 Ü &#220; &Uuml; Latin capital letter U with diaeresis
221 335 DD 11011101 Ý &#221; &Yacute; Latin capital letter Y with acute
222 336 DE 11011110 Þ &#222; &THORN; Latin capital letter THORN
223 337 DF 11011111 ß &#223; &szlig; Latin small letter sharp s – ess-zed
224 340 E0 11100000 à &#224; &agrave; Latin small letter a with grave
225 341 E1 11100001 á &#225; &aacute; Latin small letter a with acute
226 342 E2 11100010 â &#226; &acirc; Latin small letter a with circumflex
227 343 E3 11100011 ã &#227; &atilde; Latin small letter a with tilde
228 344 E4 11100100 ä &#228; &auml; Latin small letter a with diaeresis
229 345 E5 11100101 å &#229; &aring; Latin small letter a with ring above
230 346 E6 11100110 æ &#230; &aelig; Latin small letter ae
231 347 E7 11100111 ç &#231; &ccedil; Latin small letter c with cedilla
232 350 E8 11101000 è &#232; &egrave; Latin small letter e with grave
233 351 E9 11101001 é &#233; &eacute; Latin small letter e with acute
234 352 EA 11101010 ê &#234; &ecirc; Latin small letter e with circumflex
235 353 EB 11101011 ë &#235; &euml; Latin small letter e with diaeresis
236 354 EC 11101100 ì &#236; &igrave; Latin small letter i with grave
237 355 ED 11101101 í &#237; &iacute; Latin small letter i with acute
238 356 EE 11101110 î &#238; &icirc; Latin small letter i with circumflex
239 357 EF 11101111 ï &#239; &iuml; Latin small letter i with diaeresis
240 360 F0 11110000 ð &#240; &eth; Latin small letter eth
241 361 F1 11110001 ñ &#241; &ntilde; Latin small letter n with tilde
242 362 F2 11110010 ò &#242; &ograve; Latin small letter o with grave
243 363 F3 11110011 ó &#243; &oacute; Latin small letter o with acute
244 364 F4 11110100 ô &#244; &ocirc; Latin small letter o with circumflex
245 365 F5 11110101 õ &#245; &otilde; Latin small letter o with tilde
246 366 F6 11110110 ö &#246; &ouml; Latin small letter o with diaeresis
247 367 F7 11110111 ÷ &#247; &divide; Division sign
248 370 F8 11111000 ø &#248; &oslash; Latin small letter o with slash
249 371 F9 11111001 ù &#249; &ugrave; Latin small letter u with grave
250 372 FA 11111010 ú &#250; &uacute; Latin small letter u with acute
251 373 FB 11111011 û &#251; &ucirc; Latin small letter u with circumflex
252 374 FC 11111100 ü &#252; &uuml; Latin small letter u with diaeresis
253 375 FD 11111101 ý &#253; &yacute; Latin small letter y with acute
254 376 FE 11111110 þ &#254; &thorn; Latin small letter thorn
255 377 FF 11111111 ÿ &#255; &yuml; Latin small letter y with diaeresis

Anahtar Kelimeler: html kodları, html kodu, html kod listesi, html kod açıklamarı, html code list, html codes
Kaynak : http://www.muratoner.net/online-araclar/html-kodlari

Categories: Genel Tags:

C#’ta Çağıran Metod Bilgilerine Ulaşmak (CallerMemberName)

Salı, 01 Kas 2016 yorum yok

C# diliyle kodlama yaparken, zaman zaman bazı durumlarda, bir metodun hangi metoddan çağrıldığı, çağıran metod, bilgisine ulaşmamız gerekebiliyor. Örneğin loglama benim aklıma gelen durumlardan birisi, bir başka kullanım sebebi de, hatayı yakalamak olabilir. Bir metod sadece belli bir yerden çağrıldığında hataya düşebilir.

Bu durumlar için c# bize bazı kolaylıklar sunuyor. CallerMemberName özelliği.

Fakat daha önce c# dilinde böyle bir bilgiye nasıl ulaşabiliyorduk. Örnek bir program üzerinden bunu görelim:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace callermethod
{
    class Program
    {
        private static void Add(int i, int j)
        {
            StackFrame frame = new StackFrame(1);
            var method = frame.GetMethod();
            var name = method.Name;

            Console.WriteLine("CallerMethod:" + name);
            Console.WriteLine("Sum:" + (i + j).ToString());
        }

        private static void MethodB()
        {
            Add(6,4);
        }

        private static void MethodA()
        {
            Add(2, 5);
        }

        static void Main(string[] args)
        {
            Add(5,6);
            MethodA();
            MethodB();

            Console.ReadLine();
        }
    }
}

cmd_1

 

 

 

İşaretli kısımlarda göründüğü gibi StackFrame nesnesi oluşturup onun üzerinden istediğimiz bilgiye ulaşıyoruz. Fakat bu yöntem, sistem kaynaklarını fazla tüketen bir alternatif.

Bunun yerine CallerMemberName, CallerFilePath, CallerLineNumber özelliklerini kullanarak, çağıran metod bilgisine ulaşabiliriz.

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace callermethod
{
    class Program
    {
        private static void Add(
            int i, int j,
        [CallerMemberName] string memberName = "",
        [CallerFilePath] string sourceFilePath = "",
        [CallerLineNumber] int sourceLineNumber = 0
            )
        {
            // Çağıran metodun bulunduğu dosyanın pathı, ve satır numarası isteniyorsa
            // CallerFilePath ve CallerLineNumber kullanılabilir.
            //Console.WriteLine("CallerFilePath:" + sourceFilePath);
            //Console.WriteLine("CallerLineNumber:" + sourceLineNumber);

            Console.WriteLine("CallerMethod:" + memberName);
            Console.WriteLine("Sum:" + (i + j).ToString());
        }

        private static void MethodB()
        {
            Add(6,4);
        }

        private static void MethodA()
        {
            Add(2, 5);
        }

        static void Main(string[] args)
        {
            Add(5,6);
            MethodA();
            MethodB();

            Console.ReadLine();
        }
    }
}

Kaynak : http://www.onbirkod.com/tag/callermembername/

Categories: C# Tags:

Geliştiriciler İçin Siteler

Pazartesi, 31 Eki 2016 yorum yok

Extension Method

C#’da kod yazarken nesnelerin varolan metodlarını kullanırken bazen sık yaptığımız işlemler içinde nesneye kendi metodlarımızıda dahil etme ihtiyacı duyabiliyoruz buda extension method olarak geçiyor bu extension metod’ları kolaylıkla kendinizde yazabileceğiniz gibi daha önce yazılmış yüzlerce extension metoda bu siteden kolaylık ulaşabilirsiniz.

Site: http://www.extensionmethod.net/

Categories: Genel Tags:

MIME Türleri

Pazartesi, 31 Eki 2016 yorum yok

MIME türleri, tarayıcılara belirli uzantıları nasıl işleyeceklerini söyler. Örneğin, metin/html MIME türü, .htm, .html, ve çoğu sürücüdeki .shtml uzantılarına eşittir ve bu, tarayıcınıza bu uzantılara sahip olan tüm dosyaları HTML dosyaları olarak yorumlamalarını söyler. MIME türlerini değiştirebilir ve sitenize özel yeni tipler ekleyebilirsiniz (sistem tarafından tanımlanan MIME türü değerlerini değiştiremeyeceğinizi unutmayın). MIME türleri sık sık, yeni teknolojiler piyasaya sürüldüğünde bu teknolojileri işleyecek şekilde kullanılır. WAP teknolojisi ilk çıktığında, hiç kimsenin sunucusunda bu uzantılar kurulu değildi. Ancak MIME türleriyle kendiniz bunları kurabildiniz ve derhal WAP sayfalarını kullanıma sunmaya başladınız.

MIME Türü ▾ Uzantı(lar)
application/andrew-inset ez
application/applixware aw
application/atom+xml atom
application/atomcat+xml atomcat
application/atomsvc+xml atomsvc
application/ccxml+xml ccxml
application/cdmi-capability cdmia
application/cdmi-container cdmic
application/cdmi-domain cdmid
application/cdmi-object cdmio
application/cdmi-queue cdmiq
application/cgi cgi
application/cu-seeme cu
application/davmount+xml davmount
application/docbook+xml dbk
application/dssc+der dssc
application/dssc+xml xdssc
application/ecmascript ecma
application/emma+xml emma
application/epub+zip epub
application/exi exi
application/font-tdpfr pfr
application/gml+xml gml
application/gpx+xml gpx
application/gxf gxf
application/hyperstudio stk
application/inkml+xml ink inkml
application/ipfix ipfix
application/java-archive jar
application/java-serialized-object ser
application/java-vm class
application/javascript js
application/json json
application/jsonml+json jsonml
application/lost+xml lostxml
application/mac-binhex40 hqx
application/mac-compactpro cpt
application/mads+xml mads
application/marc mrc
application/marcxml+xml mrcx
application/mathematica ma nb mb
application/mathml+xml mathml
application/mbox mbox
application/mediaservercontrol+xml mscml
application/metalink+xml metalink
application/metalink4+xml meta4
application/mets+xml mets
application/mods+xml mods
application/mp21 m21 mp21
application/mp4 mp4s
application/msword doc dot
application/mxf mxf
application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy iso dmg
application/oda oda
application/oebps-package+xml opf
application/ogg ogx
application/omdoc+xml omdoc
application/onenote onetoc onetoc2 onetmp onepkg
application/oxps oxps
application/patch-ops-error+xml xer
application/pdf pdf
application/perl pl plx ppl perl pm
application/pgp-encrypted pgp
application/pgp-signature asc sig
application/pics-rules prf
application/pkcs10 p10
application/pkcs7-mime p7m p7c
application/pkcs7-signature p7s
application/pkcs8 p8
application/pkix-attr-cert ac
application/pkix-cert cer
application/pkix-crl crl
application/pkix-pkipath pkipath
application/pkixcmp pki
application/pls+xml pls
application/postscript ai eps ps
application/prs.cww cww
application/pskc+xml pskcxml
application/rdf+xml rdf
application/reginfo+xml rif
application/relax-ng-compact-syntax rnc
application/resource-lists+xml rl
application/resource-lists-diff+xml rld
application/rls-services+xml rs
application/rpki-ghostbusters gbr
application/rpki-manifest mft
application/rpki-roa roa
application/rsd+xml rsd
application/rss+xml rss
application/rtf rtf
application/ruby rb
application/sbml+xml sbml
application/scvp-cv-request scq
application/scvp-cv-response scs
application/scvp-vp-request spq
application/scvp-vp-response spp
application/sdp sdp
application/set-payment-initiation setpay
application/set-registration-initiation setreg
application/shf+xml shf
application/smil+xml smi smil
application/sparql-query rq
application/sparql-results+xml srx
application/srgs gram
application/srgs+xml grxml
application/sru+xml sru
application/ssdl+xml ssdl
application/ssml+xml ssml
application/tei+xml tei teicorpus
application/thraud+xml tfi
application/timestamped-data tsd
application/vnd.3gpp.pic-bw-large plb
application/vnd.3gpp.pic-bw-small psb
application/vnd.3gpp.pic-bw-var pvb
application/vnd.3gpp2.tcap tcap
application/vnd.3m.post-it-notes pwn
application/vnd.accpac.simply.aso aso
application/vnd.accpac.simply.imp imp
application/vnd.acucobol acu
application/vnd.acucorp atc acutc
application/vnd.adobe.air-application-installer-package+zip air
application/vnd.adobe.formscentral.fcdt fcdt
application/vnd.adobe.fxp fxp fxpl
application/vnd.adobe.xdp+xml xdp
application/vnd.adobe.xfdf xfdf
application/vnd.ahead.space ahead
application/vnd.airzip.filesecure.azf azf
application/vnd.airzip.filesecure.azs azs
application/vnd.amazon.ebook azw
application/vnd.americandynamics.acc acc
application/vnd.amiga.ami ami
application/vnd.android.package-archive apk
application/vnd.anser-web-certificate-issue-initiation cii
application/vnd.anser-web-funds-transfer-initiation fti
application/vnd.antix.game-component atx
application/vnd.apple.installer+xml mpkg
application/vnd.apple.mpegurl m3u8
application/vnd.aristanetworks.swi swi
application/vnd.astraea-software.iota iota
application/vnd.audiograph aep
application/vnd.blueice.multipass mpm
application/vnd.bmi bmi
application/vnd.businessobjects rep
application/vnd.chemdraw+xml cdxml
application/vnd.chipnuts.karaoke-mmd mmd
application/vnd.cinderella cdy
application/vnd.claymore cla
application/vnd.cloanto.rp9 rp9
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
application/vnd.cluetrust.cartomobile-config c11amc
application/vnd.cluetrust.cartomobile-config-pkg c11amz
application/vnd.commonspace csp
application/vnd.contact.cmsg cdbcmsg
application/vnd.cosmocaller cmc
application/vnd.crick.clicker clkx
application/vnd.crick.clicker.keyboard clkk
application/vnd.crick.clicker.palette clkp
application/vnd.crick.clicker.template clkt
application/vnd.crick.clicker.wordbank clkw
application/vnd.criticaltools.wbs+xml wbs
application/vnd.ctc-posml pml
application/vnd.cups-ppd ppd
application/vnd.curl.car car
application/vnd.curl.pcurl pcurl
application/vnd.dart dart
application/vnd.data-vision.rdz rdz
application/vnd.dece.data uvf uvvf uvd uvvd
application/vnd.dece.ttml+xml uvt uvvt
application/vnd.dece.unspecified uvx uvvx
application/vnd.dece.zip uvz uvvz
application/vnd.denovo.fcselayout-link fe_launch
application/vnd.dna dna
application/vnd.dolby.mlp mlp
application/vnd.dpgraph dpg
application/vnd.dreamfactory dfac
application/vnd.ds-keypoint kpxx
application/vnd.dvb.ait ait
application/vnd.dvb.service svc
application/vnd.dynageo geo
application/vnd.ecowin.chart mag
application/vnd.enliven nml
application/vnd.epson.esf esf
application/vnd.epson.msf msf
application/vnd.epson.quickanime qam
application/vnd.epson.salt slt
application/vnd.epson.ssf ssf
application/vnd.eszigno3+xml es3 et3
application/vnd.ezpix-album ez2
application/vnd.ezpix-package ez3
application/vnd.fdf fdf
application/vnd.fdsn.mseed mseed
application/vnd.fdsn.seed seed dataless
application/vnd.flographit gph
application/vnd.fluxtime.clip ftc
application/vnd.framemaker fm frame maker book
application/vnd.frogans.fnc fnc
application/vnd.frogans.ltf ltf
application/vnd.fsc.weblaunch fsc
application/vnd.fujitsu.oasys oas
application/vnd.fujitsu.oasys2 oa2
application/vnd.fujitsu.oasys3 oa3
application/vnd.fujitsu.oasysgp fg5
application/vnd.fujitsu.oasysprs bh2
application/vnd.fujixerox.ddd ddd
application/vnd.fujixerox.docuworks xdw
application/vnd.fujixerox.docuworks.binder xbd
application/vnd.fuzzysheet fzs
application/vnd.genomatix.tuxedo txd
application/vnd.geogebra.file ggb
application/vnd.geogebra.tool ggt
application/vnd.geometry-explorer gex gre
application/vnd.geonext gxt
application/vnd.geoplan g2w
application/vnd.geospace g3w
application/vnd.gmx gmx
application/vnd.google-earth.kml+xml kml
application/vnd.google-earth.kmz kmz
application/vnd.grafeq gqf gqs
application/vnd.groove-account gac
application/vnd.groove-help ghf
application/vnd.groove-identity-message gim
application/vnd.groove-injector grv
application/vnd.groove-tool-message gtm
application/vnd.groove-tool-template tpl
application/vnd.groove-vcard vcg
application/vnd.hal+xml hal
application/vnd.handheld-entertainment+xml zmm
application/vnd.hbci hbci
application/vnd.hhe.lesson-player les
application/vnd.hp-hpgl hpgl
application/vnd.hp-hpid hpid
application/vnd.hp-hps hps
application/vnd.hp-jlyt jlt
application/vnd.hp-pcl pcl
application/vnd.hp-pclxl pclxl
application/vnd.hydrostatix.sof-data sfd-hdstx
application/vnd.ibm.minipay mpy
application/vnd.ibm.modcap afp listafp list3820
application/vnd.ibm.rights-management irm
application/vnd.ibm.secure-container sc
application/vnd.iccprofile icc icm
application/vnd.igloader igl
application/vnd.immervision-ivp ivp
application/vnd.immervision-ivu ivu
application/vnd.insors.igm igm
application/vnd.intercon.formnet xpw xpx
application/vnd.intergeo i2g
application/vnd.intu.qbo qbo
application/vnd.intu.qfx qfx
application/vnd.ipunplugged.rcprofile rcprofile
application/vnd.irepository.package+xml irp
application/vnd.is-xpr xpr
application/vnd.isac.fcs fcs
application/vnd.jam jam
application/vnd.jcp.javame.midlet-rms rms
application/vnd.jisp jisp
application/vnd.joost.joda-archive joda
application/vnd.kahootz ktz ktr
application/vnd.kde.karbon karbon
application/vnd.kde.kchart chrt
application/vnd.kde.kformula kfo
application/vnd.kde.kivio flw
application/vnd.kde.kontour kon
application/vnd.kde.kpresenter kpr kpt
application/vnd.kde.kspread ksp
application/vnd.kde.kword kwd kwt
application/vnd.kenameaapp htke
application/vnd.kidspiration kia
application/vnd.kinar kne knp
application/vnd.koan skp skd skt skm
application/vnd.kodak-descriptor sse
application/vnd.las.las+xml lasxml
application/vnd.llamagraphics.life-balance.desktop lbd
application/vnd.llamagraphics.life-balance.exchange+xml lbe
application/vnd.lotus-1-2-3 123
application/vnd.lotus-approach apr
application/vnd.lotus-freelance pre
application/vnd.lotus-notes nsf
application/vnd.lotus-organizer org
application/vnd.lotus-screencam scm
application/vnd.lotus-wordpro lwp
application/vnd.macports.portpkg portpkg
application/vnd.mcd mcd
application/vnd.medcalcdata mc1
application/vnd.mediastation.cdkey cdkey
application/vnd.mfer mwf
application/vnd.mfmp mfm
application/vnd.micrografx.flo flo
application/vnd.micrografx.igx igx
application/vnd.mif mif
application/vnd.mobius.daf daf
application/vnd.mobius.dis dis
application/vnd.mobius.mbk mbk
application/vnd.mobius.mqy mqy
application/vnd.mobius.msl msl
application/vnd.mobius.plc plc
application/vnd.mobius.txf txf
application/vnd.mophun.application mpn
application/vnd.mophun.certificate mpc
application/vnd.mozilla.xul+xml xul
application/vnd.ms-artgalry cil
application/vnd.ms-cab-compressed cab
application/vnd.ms-excel xls xlm xla xlc xlt xlw
application/vnd.ms-excel.addin.macroenabled.12 xlam
application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb
application/vnd.ms-excel.sheet.macroenabled.12 xlsm
application/vnd.ms-excel.template.macroenabled.12 xltm
application/vnd.ms-fontobject eot
application/vnd.ms-htmlhelp chm
application/vnd.ms-ims ims
application/vnd.ms-lrm lrm
application/vnd.ms-officetheme thmx
application/vnd.ms-pki.seccat cat
application/vnd.ms-pki.stl stl
application/vnd.ms-powerpoint ppt pps pot
application/vnd.ms-powerpoint.addin.macroenabled.12 ppam
application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm
application/vnd.ms-powerpoint.slide.macroenabled.12 sldm
application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm
application/vnd.ms-powerpoint.template.macroenabled.12 potm
application/vnd.ms-project mpp mpt
application/vnd.ms-word.document.macroenabled.12 docm
application/vnd.ms-word.template.macroenabled.12 dotm
application/vnd.ms-works wps wks wcm wdb
application/vnd.ms-wpl wpl
application/vnd.ms-xpsdocument xps
application/vnd.mseq mseq
application/vnd.musician mus
application/vnd.muvee.style msty
application/vnd.mynfc taglet
application/vnd.neurolanguage.nlu nlu
application/vnd.nitf ntf nitf
application/vnd.noblenet-directory nnd
application/vnd.noblenet-sealer nns
application/vnd.noblenet-web nnw
application/vnd.nokia.n-gage.data ngdat
application/vnd.nokia.n-gage.symbian.install n-gage
application/vnd.nokia.radio-preset rpst
application/vnd.nokia.radio-presets rpss
application/vnd.novadigm.edm edm
application/vnd.novadigm.edx edx
application/vnd.novadigm.ext ext
application/vnd.oasis.opendocument.chart odc
application/vnd.oasis.opendocument.chart-template otc
application/vnd.oasis.opendocument.database odb
application/vnd.oasis.opendocument.formula odf
application/vnd.oasis.opendocument.formula-template odft
application/vnd.oasis.opendocument.graphics odg
application/vnd.oasis.opendocument.graphics-template otg
application/vnd.oasis.opendocument.image odi
application/vnd.oasis.opendocument.image-template oti
application/vnd.oasis.opendocument.presentation odp
application/vnd.oasis.opendocument.presentation-template otp
application/vnd.oasis.opendocument.spreadsheet ods
application/vnd.oasis.opendocument.spreadsheet-template ots
application/vnd.oasis.opendocument.text odt
application/vnd.oasis.opendocument.text-master odm
application/vnd.oasis.opendocument.text-template ott
application/vnd.oasis.opendocument.text-web oth
application/vnd.olpc-sugar xo
application/vnd.oma.dd2+xml dd2
application/vnd.openofficeorg.extension oxt
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.openxmlformats-officedocument.presentationml.slide sldx
application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
application/vnd.openxmlformats-officedocument.presentationml.template potx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
application/vnd.osgeo.mapguide.package mgp
application/vnd.osgi.dp dp
application/vnd.osgi.subsystem esa
application/vnd.palm pdb pqa oprc
application/vnd.pawaafile paw
application/vnd.pg.format str
application/vnd.pg.osasli ei6
application/vnd.picsel efif
application/vnd.pmi.widget wg
application/vnd.pocketlearn plf
application/vnd.powerbuilder6 pbd
application/vnd.previewsystems.box box
application/vnd.proteus.magazine mgz
application/vnd.publishare-delta-tree qps
application/vnd.pvi.ptid1 ptid
application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
application/vnd.realvnc.bed bed
application/vnd.recordare.musicxml mxl
application/vnd.recordare.musicxml+xml musicxml
application/vnd.rig.cryptonote cryptonote
application/vnd.rim.cod cod
application/vnd.rn-realmedia rm
application/vnd.rn-realmedia-vbr rmvb
application/vnd.route66.link66+xml link66
application/vnd.sailingtracker.track st
application/vnd.seemail see
application/vnd.sema sema
application/vnd.semd semd
application/vnd.semf semf
application/vnd.shana.informed.formdata ifm
application/vnd.shana.informed.formtemplate itp
application/vnd.shana.informed.interchange iif
application/vnd.shana.informed.package ipk
application/vnd.simtech-mindmapper twd twds
application/vnd.smaf mmf
application/vnd.smart.teacher teacher
application/vnd.solent.sdkm+xml sdkm sdkd
application/vnd.spotfire.dxp dxp
application/vnd.spotfire.sfs sfs
application/vnd.stardivision.calc sdc
application/vnd.stardivision.draw sda
application/vnd.stardivision.impress sdd
application/vnd.stardivision.math smf
application/vnd.stardivision.writer sdw vor
application/vnd.stardivision.writer-global sgl
application/vnd.stepmania.package smzip
application/vnd.stepmania.stepchart sm
application/vnd.sun.xml.calc sxc
application/vnd.sun.xml.calc.template stc
application/vnd.sun.xml.draw sxd
application/vnd.sun.xml.draw.template std
application/vnd.sun.xml.impress sxi
application/vnd.sun.xml.impress.template sti
application/vnd.sun.xml.math sxm
application/vnd.sun.xml.writer sxw
application/vnd.sun.xml.writer.global sxg
application/vnd.sun.xml.writer.template stw
application/vnd.sus-calendar sus susp
application/vnd.svd svd
application/vnd.symbian.install sis sisx
application/vnd.syncml+xml xsm
application/vnd.syncml.dm+wbxml bdm
application/vnd.syncml.dm+xml xdm
application/vnd.tao.intent-module-archive tao
application/vnd.tcpdump.pcap pcap cap dmp
application/vnd.tmobile-livetv tmo
application/vnd.trid.tpt tpt
application/vnd.triscape.mxs mxs
application/vnd.trueapp tra
application/vnd.ufdl ufd ufdl
application/vnd.uiq.theme utz
application/vnd.umajin umj
application/vnd.unity unityweb
application/vnd.uoml+xml uoml
application/vnd.vcx vcx
application/vnd.visio vsd vst vss vsw
application/vnd.visionary vis
application/vnd.vsf vsf
application/vnd.wap.wbxml wbxml
application/vnd.wap.wmlc .wmlc wmlc
application/vnd.wap.wmlscriptc .wmlsc wmlsc
application/vnd.webturbo wtb
application/vnd.wolfram.player nbp
application/vnd.wordperfect wpd
application/vnd.wqd wqd
application/vnd.wt.stf stf
application/vnd.xara xar
application/vnd.xfdl xfdl
application/vnd.yamaha.hv-dic hvd
application/vnd.yamaha.hv-script hvs
application/vnd.yamaha.hv-voice hvp
application/vnd.yamaha.openscoreformat osf
application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
application/vnd.yamaha.smaf-audio saf
application/vnd.yamaha.smaf-phrase spf
application/vnd.yellowriver-custom-menu cmp
application/vnd.zul zir zirz
application/vnd.zzazz.deck+xml zaz
application/voicexml+xml vxml
application/widget wgt
application/winhlp hlp
application/wsdl+xml wsdl
application/wspolicy+xml wspolicy
application/x-7z-compressed 7z
application/x-abiword abw
application/x-ace-compressed ace
application/x-apple-diskimage dmg
application/x-authorware-bin aab x32 u32 vox
application/x-authorware-map aam
application/x-authorware-seg aas
application/x-bcpio bcpio
application/x-bittorrent torrent
application/x-blorb blb blorb
application/x-bzip bz tbz
application/x-cbr cbr cba cbt cbz cb7
application/x-cdlink vcd
application/x-cfs-compressed cfs
application/x-chat chat
application/x-chess-pgn pgn
application/x-compress .Z
application/x-conference nsc
application/x-cpio cpio
application/x-csh csh
application/x-debian-package deb udeb
application/x-dgc-compressed dgc
application/x-director dir dcr dxr cst cct cxt w3d fgd swa
application/x-doom wad
application/x-dtbncx+xml ncx
application/x-dtbook+xml dtb
application/x-dtbresource+xml res
application/x-dvi dvi
application/x-envoy evy
application/x-eva eva
application/x-font-bdf bdf
application/x-font-ghostscript gsf
application/x-font-linux-psf psf
application/x-font-otf otf
application/x-font-pcf pcf
application/x-font-snf snf
application/x-font-ttf ttf ttc
application/x-font-type1 pfa pfb pfm afm
application/x-font-woff woff
application/x-freearc arc
application/x-futuresplash spl
application/x-gca-compressed gca
application/x-glulx ulx
application/x-gnumeric gnumeric
application/x-gramps-xml gramps
application/x-gtar gtar
application/x-gzip .gz .tgz tgz
application/x-hdf hdf
application/x-httpd-php -source phps php php3 php4 php5 php6
application/x-httpd-php-source phps
application/x-img img
application/x-install-instructions install
application/x-iso9660-image iso
application/x-java-jnlp-file jnlp
application/x-latex latex
application/x-lzh-compressed lzh lha
application/x-mie mie
application/x-mobipocket-ebook prc mobi
application/x-ms-application application
application/x-ms-shortcut lnk
application/x-ms-wmd wmd
application/x-ms-wmz wmz
application/x-ms-xbap xbap
application/x-msaccess mdb
application/x-msbinder obd
application/x-mscardfile crd
application/x-msclip clp
application/x-msdownload exe dll com bat msi
application/x-msmediaview mvb m13 m14
application/x-msmetafile wmf wmz emf emz
application/x-msmoney mny
application/x-mspublisher pub
application/x-msschedule scd
application/x-msterminal trm
application/x-mswrite wri
application/x-netcdf nc cdf
application/x-nzb nzb
application/x-pkcs12 p12 pfx
application/x-pkcs7-certificates p7b spc
application/x-pkcs7-certreqresp p7r
application/x-pkcs7-crl .crl
application/x-rar-compressed rar
application/x-research-info-systems ris
application/x-sh sh
application/x-shar shar
application/x-shockwave-flash swf
application/x-silverlight-app xap
application/x-sql sql
application/x-stuffit sit
application/x-stuffitx sitx
application/x-subrip srt
application/x-sv4cpio sv4cpio
application/x-sv4crc sv4crc
application/x-t3vm-image t3
application/x-tads gam
application/x-tar .tgz tar
application/x-tcl tcl
application/x-tex tex
application/x-tex-tfm tfm
application/x-texinfo texinfo texi
application/x-tgif obj
application/x-ustar ustar
application/x-wais-source src
application/x-x509-ca-cert .crt der crt
application/x-xfig fig
application/x-xliff+xml xlf
application/x-xpinstall xpi
application/x-xz xz
application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8
application/xaml+xml xaml
application/xcap-diff+xml xdf
application/xenc+xml xenc
application/xhtml+xml xhtml xht
application/xml xml xsl
application/xml-dtd dtd
application/xop+xml xop
application/xproc+xml xpl
application/xslt+xml xslt
application/xspf+xml xspf
application/xv+xml mxml xhvml xvml xvm
application/yang yang
application/yin+xml yin
application/zip zip
audio/adpcm adp
audio/basic au snd
audio/midi mid midi kar rmi
audio/mp4 mp4a m4p m4a mp4
audio/mpeg mpga mp2 mp2a mp3 m2a m3a
audio/ogg oga ogg spx
audio/s3m s3m
audio/silk sil
audio/vnd.dece.audio uva uvva
audio/vnd.digital-winds eol
audio/vnd.dra dra
audio/vnd.dts dts
audio/vnd.dts.hd dtshd
audio/vnd.lucent.voice lvp
audio/vnd.ms-playready.media.pya pya
audio/vnd.nuera.ecelp4800 ecelp4800
audio/vnd.nuera.ecelp7470 ecelp7470
audio/vnd.nuera.ecelp9600 ecelp9600
audio/vnd.rip rip
audio/webm weba
audio/x-aac aac
audio/x-aiff aif aiff aifc
audio/x-caf caf
audio/x-flac flac
audio/x-matroska mka
audio/x-mpegurl m3u
audio/x-ms-wax wax
audio/x-ms-wma wma
audio/x-pn-realaudio ram ra
audio/x-pn-realaudio-plugin rmp
audio/x-wav wav
audio/xm xm
chemical/x-cdx cdx
chemical/x-cif cif
chemical/x-cmdf cmdf
chemical/x-cml cml
chemical/x-csml csml
chemical/x-xyz xyz
image/bmp bmp
image/cgm cgm
image/g3fax g3
image/gif gif
image/ief ief
image/jpeg jpeg jpg jpe
image/ktx ktx
image/png png
image/prs.btif btif
image/sgi sgi
image/svg+xml svg svgz
image/tiff tiff tif
image/vnd.adobe.photoshop psd
image/vnd.dece.graphic uvi uvvi uvg uvvg
image/vnd.djvu djvu djv
image/vnd.dvb.subtitle sub
image/vnd.dwg dwg
image/vnd.dxf dxf
image/vnd.fastbidsheet fbs
image/vnd.fpx fpx
image/vnd.fst fst
image/vnd.fujixerox.edmics-mmr mmr
image/vnd.fujixerox.edmics-rlc rlc
image/vnd.ms-modi mdi
image/vnd.ms-photo wdp
image/vnd.net-fpx npx
image/vnd.wap.wbmp .wbmp wbmp
image/vnd.xiff xif
image/webp webp
image/x-3ds 3ds
image/x-cmu-raster ras
image/x-cmx cmx
image/x-freehand fh fhc fh4 fh5 fh7
image/x-icon ico
image/x-mrsid-image sid
image/x-pcx pcx
image/x-pict pic pct
image/x-portable-anymap pnm
image/x-portable-bitmap pbm
image/x-portable-graymap pgm
image/x-portable-pixmap ppm
image/x-rgb rgb
image/x-tga tga
image/x-xbitmap xbm
image/x-xpixmap xpm
image/x-xwindowdump xwd
message/rfc822 eml mime
model/iges igs iges
model/mesh msh mesh silo
model/vnd.collada+xml dae
model/vnd.dwf dwf
model/vnd.gdl gdl
model/vnd.gtw gtw
model/vnd.mts mts
model/vnd.vtu vtu
model/vrml wrl vrml
model/x3d+binary x3db x3dbz
model/x3d+vrml x3dv x3dvz
model/x3d+xml x3d x3dz
text/cache-manifest appcache
text/calendar ics ifb
text/css css
text/csv csv
text/html .shtml .shtml html htm shtml
text/n3 n3
text/plain txt text conf def list log in
text/prs.lines.tag dsc
text/richtext rtx
text/sgml sgml sgm
text/tab-separated-values tsv
text/troff t tr roff man me ms
text/turtle ttl
text/uri-list uri uris urls
text/vbscript vbs
text/vcard vcard
text/vnd.curl curl
text/vnd.curl.dcurl dcurl
text/vnd.curl.mcurl mcurl
text/vnd.curl.scurl scurl
text/vnd.dvb.subtitle sub
text/vnd.fly fly
text/vnd.fmi.flexstor flx
text/vnd.graphviz gv
text/vnd.in3d.3dml 3dml
text/vnd.in3d.spot spot
text/vnd.sun.j2me.app-descriptor jad
text/vnd.wap.wml .wml wml
text/vnd.wap.wmlscript .wmls wmls
text/x-asm s asm
text/x-c c cc cxx cpp h hh dic
text/x-config cnf conf
text/x-fortran f for f77 f90
text/x-java-source java
text/x-log log
text/x-nfo nfo
text/x-opml opml
text/x-pascal p pas
text/x-registry reg
text/x-setext etx
text/x-sfv sfv
text/x-sql sql
text/x-uuencode uu
text/x-vcalendar vcs
text/x-vcard vcf
video/3gpp 3gp
video/3gpp2 3g2
video/h261 h261
video/h263 h263
video/h264 h264
video/jpeg jpgv
video/jpm jpm jpgm
video/mj2 mj2 mjp2
video/mp4 mp4 mp4v mpg4
video/mpeg mpeg mpg mpe m1v m2v
video/ogg ogv
video/quicktime qt mov
video/vnd.dece.hd uvh uvvh
video/vnd.dece.mobile uvm uvvm
video/vnd.dece.pd uvp uvvp
video/vnd.dece.sd uvs uvvs
video/vnd.dece.video uvv uvvv
video/vnd.dvb.file dvb
video/vnd.fvt fvt
video/vnd.mpegurl mxu m4u
video/vnd.ms-playready.media.pyv pyv
video/vnd.uvvu.mp4 uvu uvvu
video/vnd.vivo viv
video/webm webm
video/x-f4v f4v
video/x-fli fli
video/x-flv flv
video/x-m4v m4v
video/x-matroska mkv mk3d mks
video/x-mng mng
video/x-ms-asf asf asx
video/x-ms-vob vob
video/x-ms-wm wm
video/x-ms-wmv wmv
video/x-ms-wmx wmx
video/x-ms-wvx wvx
video/x-msvideo avi
video/x-sgi-movie movie
video/x-smv smv
x-conference/x-cooltalk ice
Categories: Genel Tags:

Alan Adı Uzantıları

Pazartesi, 31 Eki 2016 yorum yok

domain

Alan adı, bir Web sitesinin İnternet’teki adı ve adresidir. Bu adres olmadan bir İnternet kullanıcısı Web sitesine sadece IP adresiyle ulaşabilir. Örneğin şu anda gezmekte olduğunuz sitenin alan adı muratoner.net’tir. Alan adları IP adresi denilen, bilgisayarların (sunucuların/serverların) birbirini tanımasını sağlayan numara sisteminin daha basitleştirilmiş ve akılda kalması için kelimelerle ifade edilmiş halidir.

Örneğin muratoner.net alan adı adres barına yazıldığında tarayıcı bu alan adını önce IP adresine çevirir, daha sonra kullanıcıyı bu IP adresine sahip bilgisayara yönlendirir. Dolayısıyla Web sitesinin ziyaret edilebilmesi için kullanıcıların IP adresini bilemeyecekleri göz önünde bulundurulmalı ve siteye daha kolay ve akılda kalıcı bir alan adı alınmalıdır. Alan adı almak için bir İnternet servis sağlayıcısına gidilebilir veya Web hosting (barındırma) firmasından müşteri için bir alan adı kaydetmesi istenebilir.

Aslında alan adı satın aldığınız değil kiraladığınız bir hizmettir, bu yüzdendir ki en fazla on yıl olmak üzere alan adınızın süresini yenilemelisiniz, normal olarak en az bir yıl olarak kayıt edilen alan adları, On yıla kadar tescil edilebilir

Türkiye’nin ülke alan adı olan .tr uzantılı alan adları (.com.tr, .net.tr ve daha fazlası) ODTÜ tarafından yönetilmekte ve tahsis edilmektedir, en fazla beş yıl olarak tahsis edilebilir.

1. Seviye Alan Uzantıları

  • .com : Genel ve Ticari konularda kullanılır. akılda kalması kolay olduğu için web sayfalarında öncelikle aranan isimdir.
  • .net : Network. Ağ ve örgütlenme anlamında kullanılmaktadır.
  • .org : Organizasyonlar için kullanılır.
  • .aero : Hava endüstrisi tarafından kullanılır.
  • .asia : Asya ülkelerine ait alan adıdır.
  • .biz : İş ile ilgili konularda kullanılır.
  • .cat: Catalan dil ve kültürüne ait sitelerde kullanılır.
  • .coop: Kooperatifler tarafından kullanılır.
  • .edu : Üniversite ve kolej gibi eğitim kurumları alabilir.
  • .gov : Hükümet kurumları kullanmaktadır.
  • .info : information. Bilgi siteleri için kullanılır.
  • .int : Uluslararası organizasyonlar için ayrılmıştır.
  • .jobs : iş ve işçi ilanları veren siteler için hazırlanmıştır.
  • .mil : military. Ordu kuruluşları için ayrılmıştır .
  • .mobi: Mobile. Cep telefonları için web sitesi yapımında kullanılır.
  • .museum : Müzeler için ayrılmıştır.
  • .name : Kişisel siteler için ayrılmıştır.
  • .pro : professional. meslek sahipleri için ayrılmıştır.
  • .tel : iletişim servisleri tarafından kullanılır.
  • .travel : seyahat acenteleri ve seyahat hizmetleri için kullanılır.

2. Seviye alan uzantıları – ülke isimleri:

  • .ad Andorra
  • .ae United Arab Emirates
  • .af Afghanistan
  • .ag Antigua and Barbuda
  • .ai Anguilla
  • .al Albania
  • .am Armenia
  • .an Netherlands Antilles
  • .ao Angola
  • .aq Antarctica
  • .ar Argentina
  • .arpa ArpaNet sites
  • .as American Samoa
  • .at Austria
  • .au Australia
  • .aw Aruba
  • .az Azerbaijan
  • .ba Bosnia/Herzegovinia
  • .bb Barbados
  • .bd Bangladesh
  • .be Belgium
  • .bf Burkina Faso
  • .bg Bulgaria
  • .bh Bahrain
  • .bi Burundi
  • .bj Benin
  • .bm Bermuda
  • .bn Brunei Darussalam
  • .bo Bolivia
  • .br Brazil
  • .bs Bahamas
  • .bt Bhutan
  • .bv Bouvet Island
  • .bw Botswana
  • .by Belarus
  • .bz Belize
  • .ca Canada
  • .cc Cocos Islands – Keelings
  • .cf Central African Republic
  • .cg Congo
  • .ch Switzerland
  • .ci Cote DoIvoire
  • .ck Cook Islands
  • .cl Chile
  • .cm Cameroon
  • .cn China
  • .co Colombia
  • .cr Costa Rica
  • .cs Czechoslovakia
  • .cu Cuba
  • .cv Cape Verde
  • .cx Christmas Island
  • .cy Cyprus
  • .cz Czech Republic
  • .de Germany
  • .dj Djibouti
  • .dk Denmark
  • .dm Dominica
  • .do Dominican Republic
  • .dz Algeria
  • .ec Ecuador
  • .ee Estonia
  • .eg Egypt
  • .eh Western Sahara
  • .er Eritrea
  • .es Spain
  • .et Ethiopia
  • .fi Finland
  • .fj Fiji
  • .fk Falkland Islands/Malvinas
  • .fm Micronesia
  • .fo Faroe Islands
  • .fr France
  • .fx Metropolitan France
  • .ga Gabon
  • .gb Great Britain
  • .gd Grenada
  • .ge Georgia
  • .gf French Guiana
  • .gh Ghana
  • .gi Gibraltar
  • .gl Greenland
  • .gm Gambia
  • .gn Guinea
  • .gp Guadeloupe
  • .gq Equatorial Guinea
  • .gr Greece
  • .gs South Georgia and South Sandwich Islands
  • .gt Guatemala
  • .gu Guam
  • .gw Guinea-Bissau
  • .gy Guyana
  • .hk Hong Kong
  • .hm Heard and McDonald Islands
  • .hn Honduras
  • .hr Croatia/Hrvatska
  • .ht Haiti
  • .hu Hungary
  • .id Indonesia
  • .ie Ireland
  • .il Israel
  • .in India
  • .io British Indian Ocean Territory
  • .iq Irak
  • .ir Iran
  • .is Iceland
  • .it Italy
  • .jm Jamaica
  • .jo Jordan
  • .jp Japan
  • .ke Kenya
  • .kg Kyrgyzstan
  • .kh Cambodia
  • .ki Kiribati
  • .km Comoros
  • .kn Saint Kitts and Nevis
  • .kp North Korea
  • .kr South Korea
  • .kw Kuwait
  • .ky Cayman Islands
  • .kz Kazakhstan
  • .la Laos
  • .lb Lebanon
  • .lc Saint Lucia
  • .li Liechtenstein
  • .lk Sri Lanka
  • .lr Liberia
  • .ls Lesotho
  • .lt Lithuania
  • .lu Luxembourg
  • .lv Latvia
  • .ly Libya
  • .ma Morocco
  • .mc Monaco
  • .md Moldova
  • .mg Madagascar
  • .mh Marshall Islands
  • .mk Macedonia
  • .ml Mali
  • .mm Myanmar
  • .mn Mongolia
  • .mo Macau
  • .mp Northern Mariana Islands
  • .mq Martinique
  • .mr Mauritania
  • .ms Montserrat
  • .mt Malta
  • .mu Mauritius
  • .mv Maldives
  • .mw Malawi
  • .mx Mexico
  • .my Malaysia
  • .mz Mozambique
  • .na Namibia
  • .nato North Atlantic Treaty Organization
  • .nc New Caledonia
  • .ne Niger
  • .nf Norfolk Island
  • .ng Nigeria
  • .ni Nicaragua
  • .nl Netherlands
  • .no Norway
  • .np Nepal
  • .nr Nauru
  • .nt Neutral Zone
  • .nu Niue
  • .nz New Zealand (Aotearoa)
  • .om Oman
  • .pa Panama
  • .pe Peru
  • .pf French Polynesia
  • .pg Papua New Guinea
  • .ph Philippines
  • .pk Pakistan
  • .pl Poland
  • .pm St. Pierre and Miquelon
  • .pn Pitcairn
  • .pr Puerto Rico
  • .pt Portugal
  • .pw Palau
  • .py Paraguay
  • .qa Qatar
  • .re Reunion
  • .ro Romania
  • .ru Russian Federation
  • .rw Rwanda
  • .sa Saudi Arabia
  • .sb Solomon Islands
  • .sc Seychelles
  • .sd Sudan
  • .se Sweden
  • .sg Singapore
  • .sh Saint Helena
  • .si Slovenia
  • .sj Svalbard and Jan Mayen Islands
  • .sk Slovakia
  • .sl Sierra Leone
  • .sm San Marino
  • .sn Senegal
  • .so Somalia
  • .sr Suriname
  • .st Sao Torme and Principe
  • .su Former USSR
  • .sv El Salvador
  • .sy Syria
  • .sz Swaziland
  • .tc Turks and Caicos Islands
  • .td Chad
  • .tf French Southern Territory
  • .tg Togo
  • .th Thailand
  • .tj Tajikistan
  • .tk Tokelau
  • .tm Turkmenistan
  • .tn Tunisia
  • .to Tonga
  • .tp East Timor
  • .tr Turkey
  • .tt Trinidad and Tobago
  • .tv Tuvalu
  • .tw Taiwan
  • .tz Tanzania
  • .ua Ukraine
  • .ug Uganda
  • .uk United Kingdom
  • .um U.S. Minor Outlying Islands
  • .us United States
  • .uy Uruguay
  • .uz Uzbekistan
  • .va Vatican City State
  • .vc Saint Vincent and the Grenadines
  • .ve Venezuela
  • .vg British Virgin Islands
  • .vi U.S. Virgin Islands
  • .vn Viet Nam
  • .vu Vanuatu
  • .wf Wallis and Futuna Islands
  • .ws Samoa
  • .ye Yemen
  • .yt Mayotte
  • .yu Yugoslavia
  • .za South Africa
  • .zm Zambia
  • .zr Zaire
  • .zw Zimbabwe

Sonu TR ile biten web sitesi adresi uzantıları Nic.tr tarafından yapılmaktadır. Nic.tr 1991 yılında hizmet vermeye başlamış olup Orta Doğu Teknik Üniversitesi (ODTÜ) bünyesinde hizmet vermektedir.

  • .com.tr, .biz.tr , .info.tr : Ticari faliyer gösteren kişi yada kurumlara verilmektedir.
  • .org.tr : vakıf, dernek, kar amacı bulunmayan oluşumlar ve benzeri sivil toplum örgütleri için kullanılır
  • .av.tr : Türkiye Barolar Birliğine kayıtlı avukatlar içindir.
  • .pol.tr : Polis, emniyet teşkilatı için ayrılmıştır.
  • .bel.tr: Belediye teşkilatları için ayrılmıştır.
  • .mil.tr: Askeri kurumlar için ayrılmıştır.
  • .bbs.tr: Bulletin Board System: Mesaj sistemleri için ayrılmıştır.
  • .k12.tr: Milli Eğitim Bakanlığınca onaylanmış öğretim kurumları kullanabilir.
  • .edu.tr: Yüksek Öğretim Kurumu (YÖK) tarafından tanınan eğitim kurumları içindir.
  • .name.tr: T.C. vatandaşları ile Türkiyede yaşayan yabancı kişiler için tanıtım adresidir.
  • .net.tr: kişisel siteler ve ağ siteleri
  • .gov.tr: Devlet kurumları için ayrılmıştır.

Genel olarak bu sınıflandırmaya uyulsa da, bazı domain adlarında daha farklı sözcük grupları da olabilir ( rl.ac.uk (uk=Ingiltere),www2.itu.edu.tr. gibi ). Özellikle com domain-lerinde ki sıkışmadan dolayı, yeni global domain adları olaşturma çalışmaları 1997 ortalarında tamamlanmıştır. Yeni kullanıma açılan alan adları şunlardır :

  • arts : Sanat ve kültür ile ilgili siteler
  • firm : Ticari firmalar
  • info : Bilgi servis sunan siteler
  • nom : Kişisel domainler için kullanılan adresler
  • rec  : Eğlence siteleri
  • stor : Alışveriş merkezleri, ticari ürün satılan yerler
  • web : www ile ilgili servis sunan sitele

Son yıllarda alan adlarında önemli gelişmeler meydana gelmektedir. Artık özel alan adlarıda görülmeye başlanmıştır. .clup .spor .kim vs. gibi alan adlarıda son zamanlarda popüler hale gelmektedir.

Kaynak: http://www.muratoner.net/alan-adi-uzantilari

Categories: Genel Tags:

woff2 not found hatası

Pazartesi, 31 Eki 2016 yorum yok

IIS üzerinde bulunan uygulamalarda woff2 uzantılı dosyalar yüklenemiyorsa woff2 dosya türü MIME türü olarak IIS'e işlenmemiş demektir.

Eğer bir dosya türü IIS'e işlenmediyse IIS bu dosya türünü servis etmez.  Çözüm olarak woff2 dosya türü MIME type olarak IIS'e eklenebilir.  

Eğer sunucuya erişim yoksa o zaman web.config üzerinden bu işlem gerçekleştirilebilir:

 <system.webServer>
    <staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/x-woff" />
    </staticContent>
</system.webServer>

Yukarıdaki örnekte Woff ve Woff2 türü için bu işlem gerçekleştirilmiştir.

Windows Service Install – UnInstall

Pazartesi, 31 Eki 2016 yorum yok

Install service using InstallUtil.exe

To install or uninstall windows service (which was created using .NET Framework) use utility InstallUtil.exe. This tool can be found in the following path (use appropriate framework version number).

devamını oku…

Categories: Genel Tags:

Extension Method For C#, Javascript v.s.

Çarşamba, 26 Eki 2016 yorum yok
Categories: bestURL Tags:

Online Color Plate

Salı, 25 Eki 2016 yorum yok
Categories: bestURL, CSS Tags: ,

Az Kişinin Bildiği Muhteşem Web Siteleri

Pazartesi, 24 Eki 2016 yorum yok
Categories: bestURL Tags:

Android Firebase Cloud Messaging ile Push Notification Göndermek

Perşembe, 20 Eki 2016 yorum yok
Categories: Android Tags:

SweetAlert

Perşembe, 06 Eki 2016 yorum yok

YAGNI: You ain’t gonna need it

Pazar, 25 Eyl 2016 yorum yok

YAGNI (Buna ihtiyacın olmayacak)

Eğer bir API yazmıyorsanız ileride şuna da ihtiyacım olur diyerek hayali kodlar üretmeyin. Bu kodlar test süreçlerini de düşünürsek size tahmininizden fazla zaman kaybettirecektir. Ayrıca programınız olması gerekenden daha karmaşık hale gelecektir. Bundan dolayı gerçekten ihtiyacınız olana dek programınıza yeni özellikler eklemeyin.

Kaynak: http://fehmicansaglam.net/temel-programlama-ilkeleri/
Categories: Genel Tags:

DRY: Don’t Repeat Yourself

Pazar, 25 Eyl 2016 yorum yok

DRY (Kendizi tekrar etmeyin)

Eğer aynı kodu ikiden fazla yerde tekrarlıyorsanız durup bir düşünün. Mümkünse tekrar eden kodları içeren fonksiyonlar/metotlar oluşturun ve başkalarının da kolayca kullanabilmesi için bu fonksiyonları/metotları uygun şekilde belgelendirin.

Categories: Genel Tags:

Online Pdf, Excel v.s. Download

Çarşamba, 21 Eyl 2016 yorum yok
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<meta name="robots" content="noindex, nofollow">
	<meta name="googlebot" content="noindex, nofollow">
	<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.js"></script>
	<link rel="stylesheet" type="text/css" href="/css/result-light.css">
	<script type="text/javascript" src="https://www.cloudformatter.com/Resources/Pages/CSS2Pdf/Script/xepOnline.jqPlugin.js"></script>
	<style type="text/css"></style>
	<title>@cloudformatter template</title>
</head>
<body>
  <div id="buttons">
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'download'})">PDF</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'download', mimeType:'application/postscript'})">Postscript</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'download', mimeType:'application/vnd.ms-xpsdocument'})">XPS</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'embed', mimeType:'image/svg+xml'})">SVG</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'embed', mimeType:'image/png'})">PNG @120dpi</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'embed', mimeType:'image/jpg', resolution:'60'})">JPG @60dpi</button>
	  <button onclick="return xepOnline.Formatter.Format('JSFiddle', {render:'embed', mimeType:'image/gif', resolution:'30'})">GIF @30dpi</button>
  </div>
	<hr>
	<div id="JSFiddle">
		<!-- Insert your document here -->
		<header style="display:none;margin-top:20px;"><p>Add your header</p></header>     
		<footer style="display:none"><p>Add your header</p></footer>  
		<h1>Create a Document Here</h1>
	 </div>
</body>
</html>

http://www.cloudformatter.com/

Categories: JavaScript, jQuery Tags: ,

sealed Keyword’ü Nedir? Ne İşe Yarar?

Perşembe, 08 Eyl 2016 yorum yok

sealed keywordü bir class ve metod modifier(niteleyici)dır. Eğer bir class sealed komutuyla işaretlenmişse o classtan kalıtım yapılamaz. Yani o class başka bir sınıfın base classı olamaz. Ayriyetten bir metod sealed komutuyla işaretleniyorsa o metodtan türetilen sınıfların ilgili metodu override etmeleri önlenir.

C#'ta sealed Keyword'ü

Kaynak: http://www.gencayyildiz.com/blog/cta-sealed-keywordu/

Categories: C# Tags:

MVC’de A Potentially Dangerous Request.Form Value Was Detected From The Client Hatas

Çarşamba, 07 Eyl 2016 yorum yok
[ValidateInput(false)]

 

Categories: MVC Tags:

MVC içindeki filtreler

Çarşamba, 07 Eyl 2016 yorum yok

Filter

 Interface

 Default Implementation


 Authorization Filter  IAuthorizationFilter AuthorizeAttribute
 Action Filter  IActionFilter ActionFilterAttribute
 Result Filter  IResultFilter ActionFilterAttribute
 Exception Filter  IExceptionFilter HandleErrorAttribute

Authorization : Diğer filtreler ve Action metodlardan önce çalışmaktadır.Controller ya da Controller içindeki Action metoda erişim kısıtlamak için kullanılır.
Exception : Hata durumlarında çalışan filtredir.
Action : Herhangi bir Controller sınıfında bulunan Action metottan önce ya da sonra çalışır.
Result : Action Result çalıştırılmadan önce ya da çalıştırıldıktan sonra çalışır.

 

Categories: MVC Tags:

MVC Get Attributes

Çarşamba, 07 Eyl 2016 yorum yok
Assembly assembly = Assembly.GetExecutingAssembly();
IEnumerable<Type> types = assembly.GetTypes()
	.Where(
		type =>
			typeof(Controller).IsAssignableFrom(type) &&
			type.Name.Replace("Controller", "") == controllerName)
	.OrderBy(x => x.Name);

foreach (Type cls in types)
{                
	HelpAttribute helpAttribute = Attribute.GetCustomAttribute(cls, typeof(HelpAttribute)) as HelpAttribute;
	url = helpAttribute != null ? helpAttribute.Url : string.Empty;
	........
}

 

Categories: C#, MVC, Reflection Tags: , ,

MVC Get – Controllers, Actions, Attributes and Return Types – 2

Çarşamba, 07 Eyl 2016 yorum yok
Assembly assembly = Assembly.LoadFrom(sAssemblyFileName)
IEnumerable<Type> types = assembly.GetTypes().Where(type => typeof(Controller).IsAssignableFrom(type)).OrderBy(x => x.Name);
foreach (Type cls in types)
{
      list.Add(cls.Name.Replace("Controller", ""));
      IEnumerable<MemberInfo> memberInfo = cls.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public).Where(m => !m.GetCustomAttributes(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any()).OrderBy(x => x.Name);
      foreach (MemberInfo method in memberInfo)
      {
           if (method.ReflectedType.IsPublic && !method.IsDefined(typeof(NonActionAttribute)))
           {
                  list.Add("\t" + method.Name.ToString());
           }
      }
}

 

Categories: C#, MVC, Reflection Tags: , ,

MVC Get – Controllers, Actions, Attributes and Return Types

Çarşamba, 07 Eyl 2016 yorum yok
Assembly asm = Assembly.GetAssembly(typeof(MyWebDll.MvcApplication));

var controlleractionlist = asm.GetTypes()
        .Where(type=> typeof(System.Web.Mvc.Controller).IsAssignableFrom(type))
        .SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public))
        .Where(m => !m.GetCustomAttributes(typeof( System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any())
        .Select(x => new {Controller = x.DeclaringType.Name, Action = x.Name, ReturnType = x.ReturnType.Name, Attributes = String.Join(",", x.GetCustomAttributes().Select(a => a.GetType().Name.Replace("Attribute",""))) })
        .OrderBy(x=>x.Controller).ThenBy(x => x.Action).ToList();

 

Categories: C#, MVC, Reflection Tags: , ,

c# Mapping Class

Çarşamba, 07 Eyl 2016 yorum yok
public static class TypeExtensions
{
	public static void MapTo<T, S>(this S source, T target)
	{
		Type sourceType = source.GetType();
		Type targetType = target.GetType();

		var sourceProperties = sourceType.GetProperties();
		var targetProperties = targetType.GetProperties();

		for (int i = 0; i < sourceProperties.Length; i++)
		{
			var currentProperty = sourceProperties[i];
			var targetProperty = targetProperties
				.FirstOrDefault(p => p.Name == currentProperty.Name);
			if (targetProperty != null)
				targetProperty.SetValue(target, currentProperty.GetValue(source, null), null);
		}

	}
 
}

 

Categories: C# Tags:

FileSaver.js

Pazar, 04 Eyl 2016 yorum yok
<script src="FileSaver.js"></script>
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");

Detaylı bilgi ve örneklere https://github.com/eligrey/FileSaver.js sayfasından ulaşabilirsiniz.

Categories: JavaScript Tags:

Javascript base64encode(input)

Cumartesi, 03 Eyl 2016 yorum yok
function base64encode(input) {
	var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var output = "";
	var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
	var i = 0;
	input = utf8Encode(input);
	while (i < input.length) {
	  chr1 = input.charCodeAt(i++);
	  chr2 = input.charCodeAt(i++);
	  chr3 = input.charCodeAt(i++);
	  enc1 = chr1 >> 2;
	  enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
	  enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
	  enc4 = chr3 & 63;
	  if (isNaN(chr2)) {
		enc3 = enc4 = 64;
	  } else if (isNaN(chr3)) {
		enc4 = 64;
	  }
	  output = output +
			  keyStr.charAt(enc1) + keyStr.charAt(enc2) +
			  keyStr.charAt(enc3) + keyStr.charAt(enc4);
	}
	return output;
}
function utf8Encode(string) {
	string = string.replace(/\x0d\x0a/g, "\x0a");
	var utftext = "";
	for (var n = 0; n < string.length; n++) {
	  var c = string.charCodeAt(n);
	  if (c < 128) {
		utftext += String.fromCharCode(c);
	  }
	  else if ((c > 127) && (c < 2048)) {
		utftext += String.fromCharCode((c >> 6) | 192);
		utftext += String.fromCharCode((c & 63) | 128);
	  }
	  else {
		utftext += String.fromCharCode((c >> 12) | 224);
		utftext += String.fromCharCode(((c >> 6) & 63) | 128);
		utftext += String.fromCharCode((c & 63) | 128);
	  }
	}
	return utftext;
}

 

Categories: JavaScript Tags:

html2canvas

Cumartesi, 03 Eyl 2016 yorum yok

Ekrandaki verilerin “screenshots” almak için kullanılır.

http://html2canvas.hertzen.com/

Categories: JavaScript, jQuery Tags: ,

Export HTML Table to CSV TXT JSON XML SQL XLS DOC PNG PDF

Cumartesi, 03 Eyl 2016 yorum yok

Installation

To save the generated export files on client side, include:

<script type="text/javascript" src="libs/FileSaver/FileSaver.min.js"></script>

To export the table as a PDF file the following includes are required:

<script type="text/javascript" src="libs/jsPDF/jspdf.min.js"></script>
<script type="text/javascript" src="libs/jsPDF-AutoTable/jspdf.plugin.autotable.js"></script>

To export the table in PNG format, you need to include:

<script type="text/javascript" src="libs/html2canvas/html2canvas.min.js"></script>

To generate the export file in the desired format, finally include:

<script type="text/javascript" src="tableExport.min.js"></script>

Please keep this include order.

https://github.com/hhurz/tableExport.jquery.plugin

 

Categories: JavaScript, jQuery Tags: ,

Class To Html Table

Cuma, 02 Eyl 2016 yorum yok

List<T> olan bir veriyi html çıktı olarak hazırlama…

 

devamını oku…

Categories: C#, Reflection Tags: ,

Xml veriyi Class’a Atama

Cuma, 02 Eyl 2016 yorum yok
public static T SetXmlDataToViewModel&amp;lt;T&amp;gt;(T oViewModel, string xmlData)
{
	if (string.IsNullOrEmpty(xmlData))
	{
		return oViewModel;
	}

	XDocument dataXmlDoc = XDocument.Parse(xmlData);

	foreach (var prop in typeof(T).GetProperties())
	{
		if (dataXmlDoc.Descendants().SingleOrDefault(p =&amp;gt; p.Name.LocalName == prop.Name) != null)
			prop.SetValue(oViewModel, Convert.ChangeType(dataXmlDoc.Descendants().SingleOrDefault(p =&amp;gt; p.Name.LocalName == prop.Name).Value, prop.PropertyType));
	}

	return oViewModel;
}

 

Categories: C#, Reflection Tags: ,

ASP.NET Core 1.0 ve ASP.NET’in Geleceği

Perşembe, 01 Eyl 2016 yorum yok

ASP.NET Core yakın zamana kadar ASP.NET 5 ismiyle anılıyordu. Geçtiğimiz haftalarda yayınlanan resmi bir yazı ile artık ASP.NET 5 yerine ASP.NET Core olarak isimlendirileceği belirtildi.

http://devnot.com/2016/asp-net-core-1-0-ve-asp-netin-gelecegi/

https://yazilimda.com/2016/04/asp-net-core-1-0-neler-sunuyor/

https://www.microsoft.com/net/core#windows

 

Categories: Asp.NET Core Tags:

Pagination ve Infinite Scroll Tercihi

Çarşamba, 31 Ağu 2016 yorum yok

İçerik listeleme veya veri sorgulama işlemi sonucunda elde edilen verilerin çok fazla olduğu durumlarda tüm verinin kullanıcıya gösterilmesi hem maliyetli hem de kafa karıştırıcı bir yöntemdir. Bu gibi durumlarda verilerin kullanıcılara sıralı parçalar halinde sunulması gerekmektedir. Sıralı parçalı gösterim günümüzde web ve mobil ortamlarda iki şekilde yapılmaktadır.

  1. Pagination yöntemi
  2. Infinite Scroll yöntemi

Kaynak: http://www.bayramucuncu.com/pagination-ve-infinite-scroll-tercihi/

Categories: Asp.NET, Genel, MVC Tags: , ,

Asp.Net Web API – Token Based Authentication

Çarşamba, 31 Ağu 2016 yorum yok
Categories: Asp.NET Tags: ,

Az Kişinin Bildiği Muhteşem Web Siteleri – 2

Perşembe, 18 Ağu 2016 yorum yok

1-edx "dünyanın en iyi üniversitelerinden bedava dersler" sloganıyla ortaya çıkmış, üniversite düzeyinde derslerin paylaşıldığı oldukça kullanışlı bir site. zamanında biyoloji ve italyanca dersleri çok işime yaradı. 

derslerin çoğu ücretsiz olsa da, harvard gibi üniversitelerin bazı dersleri ücretli olabiliyor. 

2-edx'ten daha pratik ve bilindik bir site arayanlar için: http://ed.ted.com/

izlediğiniz videolardan sonra konuyu pekiştirmek için küçük testler çözmenize imkan tanıyor. onlarca dille birlikte türkçe altyazı imkanı da tanıması ayrıca güzel.

devamını oku…

Categories: bestURL, Genel Tags: ,

Problem çözücü – Matematikle Uğraşanların Başucunda Tutacağı Türden.

Perşembe, 18 Ağu 2016 yorum yok

"mathway" mükemmel bir problem çözücü.. matematikle uğraşanların başucunda tutacağı türden. 

Categories: bestURL, Genel Tags: ,

C# 6.0 Yenilikleri – Null-conditional operators

Salı, 16 Ağu 2016 yorum yok

Null-conditional operators :  Herhangi bir class veya propertyleri null ise bunlara erişmek için null kontrolü yapmadan çok daha basit yolla değerleri çekebiliriz.

int? first = (customers != null) ? customers[0].Orders.Count() : null;

Yukarıdaki kodun yerine aşağıdakini kullanabiliriz.

int? first = customers?[0].Orders?.Count();

Böylece eski compiler’dan kurtulunca artık neler yapabileceğimizi gördük. Daha birçok yeniliğin kapıda olduğunu belirtir bloğumu takip etmenizi tavsiye ederim.

Detaylı Pdf: http://www.borakasmer.com/projects/ctp3-csharp-features.pdf

Kaynak : http://www.borakasmer.com/net-compiler-platform-roslyn/

Categories: C# Tags:

C# 6.0 Yenilikleri – Exception filters

Salı, 16 Ağu 2016 yorum yok

Exception filters : Yakalanan hatalara filitre konabilmektedir. Böylece belirtilen catch bloğunda sadece tanımlanan exception filtresine uygun exceptionlar yakalanır. Eğer hiçbir filitreye uymayan exception var ise stacktrace kaybolmadan işleme devam edilir. Aşağıdaki örnekte de görüldüğü gibi number değeri 50’den küçük olduğu için en sondaki catch’e düşmekte ve 1 değerini döndürmektedir. Eğer number 50’den büyük olur ise ilk cathc’e düşmekte ve geriye number’ın kendi değeri döndürülmektedir.

public class Point(int x, int y)
{
        string number = "45";
        public int GetNumber()
        {
            try
            {
                int.TryParse(number, out var x);
                throw new Exception();
                return x;
            }
            catch (Exception e) if (int.Parse(number) > 50)
            {
                return number;
            }
            catch (Exception e2)
            {               
                return 1;
            }
        }
}

 

Categories: C# Tags:

C# 6.0 Yenilikleri – Declaration expressions

Salı, 16 Ağu 2016 yorum yok

Declaration expressions : Expressionlar içerisinde artık tanımlama yapılabilmektedir. Ençok kullanıldığı yerler out parametreleridir.

 int.TryParse(number, out var x);
public class Customer
{ 
        public char[] Strings { get { return "a12b3d".ToCharArray(); } }
        public List<int> GetResult()
        {
            var result = (from s in Strings select int.TryParse(s.ToString(), out int i) ? i : -1).ToList();
            return result;
        }
}
 Customer newCustomer = new Customer();
 foreach (int num in newCustomer.GetResult())
 {
       WriteLine(num);
 }

Kaynak: http://www.borakasmer.com/net-compiler-platform-roslyn/

Categories: C# Tags:

C# 6.0 Yenilikleri – Extension methods

Salı, 16 Ağu 2016 yorum yok

Extension methods : Extension methodlar projeye using ile eklenebilmektedir.

using System.Linq.Enumerable;
class Program
    {
        static void Main(string[] args)
        {
            var range = Range(5, 17);
            var odd = Where(range, i => i % 2 == 1);
            foreach (int num in odd)
            {
                WriteLine(num);
            }
            ReadLine();
         }
     }

 

Categories: C# Tags: