Google Analytics İzleme

23 Eylül 2013

IIS - Asp.net web uygulaması process'lerinin ram kullanımını artırma

IIS Manager'da
Sitenin kullandığı Application Pool -> sağ tıkla -> Advanced Settings -> Recycling kısmında:
Private Memory Limit (KB)
ve
Virtual Memeory Limit (KB)
değerlerini set ederek yapıyoruz.
Varsayılan olarak bu değerler 0'dır. Ancak uygulama Private Memory Limit olarak maksimum 800 mb olarak kullanabilmektedir.

--
You are not actually using 2GB of RAM. That is merely the allowed address space for this process.Private Bytes is the measure of RAM usage (so, 90MB in this case).
From the PerfMon definition for Virtual Bytes:
Virtual Bytes - Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and the process can limit its ability to load libraries.
--

Kaynak:
http://stackoverflow.com/questions/15495243/too-much-memory-usage-of-iis-application-pool

ASP.NET Performance Monitoring, and When to Alert Administrators
http://msdn.microsoft.com/en-us/library/ms972959.aspx#monitor_perf_topic12

Asp.Net Memory Limit
http://jesperen.wordpress.com/2007/12/10/aspnet-memory-limit/

maximum RAM avaiable for an asp.net app
http://stackoverflow.com/questions/6434506/maximum-ram-avaiable-for-an-asp-net-app


21 Eylül 2013

Sistem - Windows Task Scheduler'da oluşan 0x8007052e hatası

Task'da kullanılan windows user'ın kullanıcı adı veya şifresinde oturum açmak problem olduğunda 0x8007052e, 2147943726, Task Start Failed, Launch Failure şeklinde hata vermektedir.
Eğer kullanıcının şifresini yeniden set ettiğinizde aynı problem yeniden oluşmaktadır. Bunun için task'daki user'ın şifresini yeniden set etmek gerekmektedir.

--
Logon failure: unknown user name or bad password. (0x8007052E)
Your Windows login password has likely changed, so you need to update the Scheduled Task to use your new password. Windows does not automatically update the passwords of Scheduled Tasks when you change your password. To update the schedules:
  • Select the scheduled profile in the main window
  • Click the Schedule button
  • Click the Edit Schedule button
  • For Windows XP and 2003: click the Set Password... button and enter your new Windows login password
  • For Windows Vista and newer: click OK and you will be prompted for your new Windows login password
Note that if you are using Windows Vista or newer then you only need to correct the password for one Schedule. All the other Schedules using that username are automatically updated by Windows to use the new password. However, if you are using Windows XP/2003, then you must correct the password for every Schedule using that username.

If you have not changed your Windows login password, this error suggests corruption in the database the Windows Task Scheduler uses to store credentials. You may be able to recover by deleting and re-creating the applicable Schedule(d Task), but users' reports (and web searches) tend to suggest that if this starts happening spontaneously, it may recur. It is possible only a Windows re-install will cure it. Note that the Windows Task Scheduler is not part of our software, it is part of your system.

--

Kaynaklar:
http://support.2brightsparks.com/knowledgebase/articles/214258-logon-failure-unknown-user-name-0x8007052e

Using Windows 7 Task Scheduler – Run Programs At A Specific Time
http://www.ampercent.com/using-windows-7-task-scheduler-to-run-any-installed-program/7744/

Task Scheduler Changes in Windows Vista and Windows Server 2008 – Part Three
http://blogs.technet.com/b/askperf/archive/2009/03/17/task-scheduler-changes-in-windows-vista-and-windows-server-2008-part-three.aspx



19 Eylül 2013

itextsharp - Asp.net ile pdf çıkışı alınca oluşan "Document has no pages" hatası

Asp.net uygulamasında bir data source kaynağını pdf olarak kaydetmek istedim, türkçe karakter problemi olmaması için arial unicode font'unu kullandım. Çalıştırınca "Document has no pages" şeklinde hata oluştu. Bu hata itextsharp kütüphanesinin pdf'i üretirken font yükleyememe, fontu okuyamama gibi sorundan olduğunu anladım. Sorunun düzelmesi için custom font'u itextsharp'a kayıt etmek gereklidir.

Örnek kod:

BaseFont baseFont = BaseFont.CreateFont(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + @"Fonts\ARIALUNI.TTF", BaseFont.IDENTITY_H, false);
Font fontTimesForHeader = new Font(baseFont, 14, Font.NORMAL, BaseColor.BLACK);
Font font1 = new Font(baseFont, 8, Font.NORMAL, BaseColor.BLACK);
// font'u kaydetme
FontFactory.RegisterDirectory(
                        System.Web.HttpContext.Current.Request.PhysicalApplicationPath + @"Fonts", true);
FontFactory.Register(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + @"Fonts\ARIALUNI.TTF", "Arial Unicode MS");
FontFactory.RegisterFamily("Arial Unicode MS", "Arial Unicode MS", System.Web.HttpContext.Current.Request.PhysicalApplicationPath + @"Fonts\ARIALUNI.TTF");


ARIALUNI.TTF font dosyasını asp.net uygulamasının ana klasörünün altına, Fonts diye klasör oluşturup, içine yerleştirdim.




Türkçe karakter unicode değerleri


public string TurkceKarakterUnicodeCevrimi(string text)
        {
            text = text.Replace("İ", "\u0130");
            text = text.Replace("ı", "\u0131");
            text = text.Replace("Ş", "\u015e");
            text = text.Replace("ş", "\u015f");
            text = text.Replace("Ğ", "\u011e");
            text = text.Replace("ğ", "\u011f");
            text = text.Replace("Ö", "\u00d6");
            text = text.Replace("ö", "\u00f6");
            text = text.Replace("ç", "\u00e7");
            text = text.Replace("Ç", "\u00c7");
            text = text.Replace("ü", "\u00fc");
            text = text.Replace("Ü", "\u00dc");
            return text;
        }