23 Ocak 2015 Cuma

VMware Workstation “Not enough physical memory is available” Hatası

Diskinizde yer olmasına rağmen yeterli hafiza yok hatası alıyorsanız;

This fix is from VMware communities:

C:\ProgramData\VMware\VMware Workstation.


Dizinine "config.ini" dosyasını oluşturunuz...

config.ini dosyasını Notepad ile açın
ve Şu satırı ekleyin:


vmmon.disableHostParameters = “TRUE”




dosyayı kaydedin ve yeniden başlatın sorun çözülecektir.

VMware Workstation This virtual machine appears to be in use. Hatası ve Çözümü

Vmware çalıştırırken aşağıdaki Hata ile karşılaşıyorsanız. Panik yapmayın çünkü çözümü çok basit;

VMware Workstation 8: This virtual machine appears to be in use. If this virtual machine is already in use, press the “Cancel” button to avoid damaging it. If this virtual machine is not in use, press the “Take Ownership” button to obtain ownership of it. Configuration file: “your location to the VM".vmx”



Cancel dediğinizde bir şey olmayacaktır. “Take Ownership” dediğinizde diğer hata ile karşılaşacaksınız: Veee
Taking ownership of this virtual machine failed. The virtual machine is in use by another application on our host computer. Configuration file: “your location to the VM".vmx”


Veee Çözüm: 
   Vmware'in bulunduğu dizine gidin ve " *.lck "  uzantılı dosyaları bulun ve silin. Tekrar çalıştırın vee mucize :)))



13 Ocak 2015 Salı

Vmware The MSI Failed Hatası – VMware Workstation Uninstall, Repair and Update


Vmware Silerken, Yüklerken veya Tamir ederken Bu hata ile karşılaşıyorsanız çözümü basit 

Aşağıdaki adımlar bana yardım etmedi,

1) Ben yükleme exe dosyası ile ilgili bir sorun olabileceğini düşündüm, bu yüzden indirilen ve tekrar denedi.
2) Windows kontrol panelinden mevcut sürümünü kaldırma, aynı hatayı döndürdü.
3)   kontrol panelinden varolan sürümünü tamir ettim.
4) 10.0.2 yükleme exe dosyasını çalıştırarak varolan sürümünü Rapair ile aynı seçenekleri denedim (Repair, Change ve Uninstall olarak gelir ve hepsi aynı hatayı getirecek))
5) Her Yukarıdaki adımlar arasında birkaç kez denedim ve yeniden başlattım ama sonuç aynı


Çözümü aslında çok basit,


1) Başlat / Çalıştır (Start / Run) 'a % TEMP%  yazın
2) Aşağıdaki Dosyaları silin

 3) Ve... Artık silme işlemini tekrar başlatın sorunsuz silecektir...

6 Ocak 2015 Salı

ASP.Net 3.5 URL Yönlendirme (IIS7)

Yönlendirme Nedir?

Microsoft .NET Framework 3.5 Service Pack 1 ASP.NET çalışma zamanı bir yönlendirme motoru tanıttı.yönlendirme motoru Web uygulamaları için dostu URL'ler oluşturmak için izin, isteğine yanıt fiziksel Web Form gelen bir HTTP isteği URL'yi ayrıştırarak yapabilirsiniz.
Eğer CSharp.aspx adında bir ASP.NET Web Form olduğunu varsayalım, ve bu formu 'Eğitimi' adlı bir klasör içinde olduğunu. Bu Web formu ile bir öğretici görüntüleme klasik yaklaşım yazar görüntülemek için Web Form anlatmak için sorgu dizesi bazı verileri formun fiziksel konumu işaret eden bir URL oluşturursak ve  5 numası yazarların tam bir veritabanı tablosundaki birincil anahtarıdır. değeri örneğin /Tutorial/CSharp.aspx?AuthorID=5: Böyle bir URL sonuna aşağıdaki gibi görünebilir.
/Tutorial/CSharp/5

Yönlendirme için ASP.NET yapılandırma

Yönlendirme için bir ASP.NET Web sitesini veya Web uygulamasını yapılandırmak için, öncelikle System.Web.Routing derlemesine eklemeniz gerekir. .NET Framework 3.5 için SP1 yükleme genel birleştirme önbelleğine bu derleme kuracak, ve  "Add Reference" iletişim kutusunun içinde derleme örneğini bulabilirsiniz.
IIS 7.0 yönlendirme içeren bir Web sitesi çalıştırmak için, web.config iki girişleri gerekir. İlk giriş <modules> bulunan URL yönlendirme modülü yapılandırması, bölümüdür. Ayrıca bir içinde UrlRouting.axd için istekleri işlemek için giriş bölümüne gerekir.
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">              
                             
<add name="UrlRoutingModuletype="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

   

</modules>

<handlers>             
<add name="UrlRoutingHandlerpreCondition="integratedModeverb="*"path="UrlRouting.axdtype="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

   


</handlers>
</system.webServer>
Eğer IIS modülü yönlendirme URL'yi yapılandırılmamışsa , PostResolveRequestCache ve PostMapRequestHandler olaylara kendinimiz bağlayacağız.

Rotalar yapılandırma

Şimdi rotayı yapılandırmak için, ilk şey uygulaması başlangıçta rota kayıt etmeli. Uygulama başlangıçta yolları bulması için Global.asax dosyasında aşağıdaki kodu yazmalıyız.
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes();
}
private void RegisterRoutes()
{
RouteTable.Routes.Add("Tutorial",new("Tutorial/{subject}/{AuthorID}"newRouteHandler(string.Format("~/CSharp.aspx"))));
}
İşte {subject}, {AuthorID} ile biz sorgu dizesine ulaşacağız.
Şimdi, biz ihtiyacımız RouteHandler.
public class RouteHandler : IRouteHandler
{
    string _virtualPath;
    public RouteHandler(string virtualPath)
    {
         _virtualPath = virtualPath;
    }
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {       
        foreach (var value in requestContext.RouteData.Values)
        {
            requestContext.HttpContext.Items[value.Key] = value.Value;
        }
        return (Page)BuildManager.CreateInstanceFromVirtualPath(_virtualPath,typeof(Page));
    }
}
Şimdi, Yönlendirme sorgu dizesi hakkında yapılandırılmış ama ne olduğunu bilmiyoruz.Sorgu dizelerini almak için biz context.Items ["ID"] yerine Request.QueryString ["ID"] kullanıyoruz.
HttpContext context = HttpContext.Current;
String id = context.Items["AuthorID"].ToString();

URL Routing de Sayfa Bulunamadı 404 hatası (ASP.Net 3.5 ile IIS 7 de)

Eğer sayfa bulunamadı 404 Not Found hatası alırsanız aşağıdaki kodları Web.Config dosyasına eklemeniz yeterli.. Kolay gelsin

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">              
                             
<add name="UrlRoutingModuletype="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

   

</modules>

<handlers>             
<add name="UrlRoutingHandlerpreCondition="integratedModeverb="*"path="UrlRouting.axdtype="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

   


</handlers>
</system.webServer>


4 Ocak 2015 Pazar

RadioButton ve CheckBox Kontrollerinin CheckedChanged Eventine Ulaşma

RadioButton ve CheckBox gibi kontrollerin CheckedChanged event ine ulaşmak ve çalışma zamanında işlem yaptırmak için AutoPostBack özelliğini true yapmalısınız. Bunun default değeri false dir. true yapmadığınız takdirde code behind tarafına çalışma zamanında ulaşamazsınız.

Asp.Net ile Web Ziyaretçisinin Bilgilerini Alma

Websitenizi ziyaret eden ziyaretçilerin ip adresi, hangi browseri, hangi işletim sistemini, browserinin versiyonu, http_user_agent detay bilgilerini almak isteyebilirsiniz. Özellikle e-ticaret sitesi gibi üyelik gerektiren bir websiteniz varsa bu bilgilere ulaşmak vazgeçilmez olmaktadır. Aşağıda web ziyaretçisine ait bilgilerin nasıl alınacağı anlatılmaktadır.
Ziyaretçinin IP Adresinin Öğrenmek:
string IpAdress = Request.ServerVariables["REMOTE_ADDR"];
Ziyaretçinin SessionID sini Öğrenmek:
SessionID:  Server tarafında her ziyaret için verilen unique bir ID dir.Şu şekilde SessionID yi öğrenebilirsiniz;
string sessionID = Session.SessionID.ToString();
Ziyaretçinin Http_User_Agent Değerini Öğrenmek:
string httpUserAgent = Request.ServerVariables["http_user_agent"];
Ziyaretçinin Browser Adını Öğrenmek:
string browserName = Request.Browser.Browser.ToString();
Ziyaretçinin Browser Versiyonunu Öğrenmek:
string browserVersion = Request.Browser.Version.ToString();
Ziyaretçinin İşletim Sistemini Öğrenmek:
string osName = Request.Browser.Platform.ToString();
Bu bilgileri alarak sitenizle ilgili istatiksel verilerini görebilirsiniz. Örneğin; web sitenize genelde internet explorer ile giriliyorsa  CSS tasarımınızı IE ye göre yapabilirsiniz.  

HTML Sayfada Türkçe Karakter Sorunu

Web sitenizi tasarladınız ve yayına hazır hale getirdiniz. Fakat özellikle Türkçe karakterlerde (ö,Ö,İ,ı,ş,Ş,ğ,Ğü,Ü gibi..) sorun çıkıyor. Farklı browser larda çalıştırdınız mozilla da  düzgün çıkan karakterler explorer da düzgün çıkmıyor. Bu durumu düzeltmek için uygun META tagları kullanmak gerekiyor.  Aşağıdaki kod parçaları benim bu tarz sorunlarımı hep çözmüştür. Umarım sizinde işinize yarar.
<meta http-equiv="content-type" content=text/html;charset="iso-8859-9" />
<meta http-equiv="content-type" content=text/html;charset="windows-1254" />
<meta http-equiv="content-type" content=text/html;charset="x-mac-turkish" />

Asp.Net de İstemcide Görünmeyen Açıklama Satırları

ASP.NET de Html tarafında aşağıdaki gibi, 2 farklı şekilde yorum oluşturulabilir.
<%--İkinci Yorum--%>
 Bu iki yorum arasında fark vardır. Bu fark; 1.nin istemciye gönderilen ve tarayıcıda kaynağını göster denildiğinde görülebilen Html kodunda gözükmesi2. nin ise hem istemcide hemde kaynağını göster dediğimizde Html kodları aradında gözükmemesidir.
Başlangıçta bu ikisi arasında fark yokmuş gibi görünsede; bu durum hem performans hemde SEO açısından oldukça önemlidir.

Asp.Net OnClientClick Özelliği

Asp.Net uygulamalarında button, imageButton, linkButton gibi kontrollerle işlem yaparken işlemi gerçekleştirmeden önce onay almak isteyebiliriz. "Bu işlemi gerçekleştirmek istediğinizden emin misiniz?" şeklinde. Bu durumda OnClientClick özelliğini kullanmalısınız. Bunun için;
  • Kompanentin properties inden OnClientClick özelliğine geliyoruz
return confirm('Bu işlemi gerçekleştirmek istediğinizden emin misiniz?');
yazıyoruz.

Asp.Net GridView daki Veriyi Excel 'e Aktarma

 Asp.Net gridview üzerindeki verilerinizi excel e aktarmak isterseniz aşağıdaki kod bloğunu kullanabilirsiniz.
Response.Clear();
Response.Buffer = true;
string fileName = DateTime.Now.Ticks.ToString();
Response.AddHeader("content-disposition""attachment;filename=" + fileName +".xls");
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Response.ContentType = "application/vnd.ms-excel";
using (StringWriter sw = new StringWriter())
{
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    grid_excel.Visible = true;
    grid_excel.RenderControl(hw);
    Response.Output.Write(sw.ToString());
    Response.Flush();
    Response.End();
}

 Yukarıdaki kod bloğunu uygun bir kontrolün altında çalıştırdığınızda aşağıdaki gibi bir hata alacaksınız.
Control 'ContentPlaceHolder1_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
 
Bu hatayı  gidermek için de aşağıdaki fonksiyonu ekliyoruz.
public override void VerifyRenderingInServerForm(Control control)
{
    return;
}
Türkçe karakter sorununu da yulkarıda eklediğimiz aşağıdaki satılar önlemiş oldu.
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

SQL Server Edit Top 200 Rows Ayarını Değiştirme

SQL Server da bir tabloyu editlemek istersek aşağıdaki ekran görüntüsünde olduğu gibi default olarak Edit Top 200 Rows gelir.

Bu ayarı arttırmak yada azaltmak için şu adımlar izlenmelidir
  1. Tools
  2. Options
  3. SQL Server Object Explorer
  4. Value for Edit Top  Rows command  değerini değiştirmek
Bu ayarı 500 olarak değiştirelim. Değişim sonundaki görüntü aşağıdaki gibi olacaktır.

TSQL de Eklenen Son Kaydın Id sini Alma

TSQL de insert işlemi sonrasında kayıt edilen satırın ID bilgisini almak için aşağıdaki TSQL scripti kullanılmalıdır.
SELECT SCOPE_IDENTITY();

Asp.Net RegularExpressionValidator ile dd.MM.yyyy formatında tarih girdirmek

Asp.Net RegularExpressionValidator ile kullanıcılardan tarihleri belirlediğimiz formatta girmesini isteyebilir. Ayrıca bu validator ile istediğimiz diğer formatları da belirleyebiliriz. 
Bu yazıda gün.ay.yıl formatında veri girişini nasıl sağlanıldığına bakacağız.
RegularExpressionValidator  ün ValidationExpression özelliğine aşağıdaki regex i yazarsanız kullanıcıların dd.MM.yyyy formatında veri girişini yapmalarını sağlamış olursunuz.
(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[012])\.(19|20)\d\d
Kodun tamamı da aşağıdaki gibidir.
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"ControlToValidate="tb_datetime_IstenCikisTarihi"
ErrorMessage="Lütfen gün.ay.yıl formatında giriş yapınız.(Örn:10.04.2014)"ForeColor="Red"
ValidationExpression="(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[012])\.(19|20)\d\d"></asp:RegularExpressionValidator>
  

C# ile Virgülden Sonraki Basamak Sayısını Belirleme

 C# da virgüllü sayılarla işlem yaparken vürgülden sonra belli sayıda basamak göstermek isterseniz aşağıdaki kod satırını kullanmalısınız.
double miktar = 456.1234;
string sonuc = miktar.ToString("0.##");

//Sonuç: 456.12
Yukarıdaki kod bloğu virgülden sonra 2 basamak gösterir. Bunu ("0.##"); satırındaki kod ile sağlıyoruz. Eğer daha fazla basamak göstermek isterseniz # karakter sayısını arttırmalısınız.