Google Analytics İzleme

27 Nisan 2012

Klasik asp - Yardımcı bilgiler


XDO: An XML Engine Class for Classic ASP
http://www.devarticles.com/c/a/ASP/XDO-An-XML-Engine-Class-for-Classic-ASP/


Many articles have been written demonstrating object-oriented (OO) and XML features available in ASP including:


http://www.soapclient.com/

A Generic GetRows VBScript Class
http://www.evagoras.com/2011/01/26/a-generic-getrows-vbscript-class/

Generic VBScript class structure for implementing OAUTH.
https://github.com/sdesapio/Classic-ASP-VBScript-OAuth





23 Nisan 2012

asp.net mvc 3 - /Account/Login yönlenme problemi

MVC 3'de webmatrix.*.dll'leri referans edildiğinde varsayılan oturum açma sayfası hatalı yönlenmekte. Eğer referanslarınızda webmatix...dll'leri varsa web.config dosyasında appsettings kısmına aşağıdaki gibi tanımlama eklenmelidir.


<appSettings>
  ...
  <add key="loginUrl" value="~/Account/LogOn" />
</appSettings>

---
 I discovered the root of this problem: I had added 'deployable dependency' on 'ASP.NET Web Pages with Razor Syntax'. This adds a reference to: WebMatrix.Data.dll This assembly has a class with a static constructor that does the following: static FormsAuthenticationSettings(){ FormsAuthenticationSettings.LoginUrlKey = "loginUrl"; FormsAuthenticationSettings.DefaultLoginUrl = "~/Account/Login";} That explains!
---

Kaynaklar:
http://nickstips.wordpress.com/2011/07/27/asp-net-mvc-unauthenticated-user-always-redirected-to-accountlogon-despite-custom-sign-in-url/
http://stackoverflow.com/questions/7238369/being-redirected-to-wrong-loginurl-account-login-instead-of-account-logon
http://forums.asp.net/t/1678471.aspx/1



22 Nisan 2012

eclipse - A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. hatası

64 bitlik Eclipse uygulamasını kurdum, çalıştırınca aşağıdaki gibi hata aldım:

A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: D\eclipse\jre\bin\javaw.exe javaw.exe in your current PATH

Bu hata 64 bitlik Eclipse sürümünün 64 bitlik java runtime veya jdk sürümü ile çalışmasından kaynaklanıyormuş. 64 bitlik java runtime veya jdk paketini kurunca sorun düzeldi.

Ayrıca java runtime'ı aynı anda hem 32 bitlik hem de 64 bitlik sürümü aynı bilgisayara kurulabiliyor. 32 bit veya 64 bit tarayıcılar için de ayrı ayrı kurulu olması gerekiyormuş.

Kaynak:
http://stackoverflow.com/questions/4383587/no-java-virtual-machine-found-starting-eclipse-3-6-1-on-windows-7-64bit-machine
http://www.eclipse.org/forums/index.php/m/495526/





20 Nisan 2012

infopath 2010 - custom code kullanımı hakkında

Infopath formu içinde custome code kullandığınızda bu form artık client yani infopath filler uygulaması ile kullanılabilir olmaktadır. Yani browser-based (tarayıcı içinde) çalıştırılamıyor.

Kaynak:
http://sharepointciler.com/infopath-ile-custom-code-muhabbeti/
http://blogs.msdn.com/b/infopath/archive/2010/03/18/introduction-to-programming-in-infopath-2010.aspx
http://msdn.microsoft.com/en-us/library/ms772182.aspx

infopath 2010 - The remote server returned an error: (500) Internal Server Error. hatası

Web servislerini çağıran bir infopath formunu admin haklı windows kullanıcısı ile sharepoint'te problemsiz çalıştırabiliyorum fakat başka bir kullanıcı ile çalıştırınca aşağıdaki gibi hata veriyordu:

Sharepoint sunucuda logs detayı:

The following query failed: GetUserProfileByName (User: ISHAKNETWORKS\atftest_personel, Form Name: dataownerform export, IP: , Connection Target: , Request: http://testsharepoint.ishak.com.tr/TestTeamSite1/Lists/DataOwner/AllItems.aspx, Form ID: urn:schemas-microsoft-com:office:infopath:dataownerform-export:-dataFormSolution Type: DataAdapterException, Exception Message: The remote server returned an error: (500) Internal Server Error.  Server was unable to process request. ---> Attempted to perform an unauthorized operation. The remote server returned an error: (500) Internal Server Error.)

Çözüm:
Formu çalıştıran kişinin ilgili web servis adresine erişim izni olması gerekiyor, formdaki data source'lardaki web servis adreslerini site bazlı olarak güncelledim, kullanıcılar sadece site bazlı erişime sahiplerdi. Root sitedeki web servis adres çağrımına izinleri yok.
kaynak:





infopath 2010 - Log ID:5566 hatası hakkında



Infopath ile UserProfileService.asmx ve UserGroup.asmx web servislerine bağlanan form tasarladım.
Lokalde düzgün çalışırken test sunucunda çalışmayıp, aşağıdaki hata verdi.

Oluşan hata:

An error occurred querying a data source.
Click OK to resume filling out the form. You may want to check your form data for errors.

Error details:
An error occurred while trying to connect to a Web service.
An entry has been added to the Windows event log of the server.
Log ID:5566
Correlation ID:ae3b6f03-b329-42cc-b337-59567e406ddf

Sharepoint sunucuda hata logu detayı :
The following query failed: GetUserProfileByName (User: ISHAKNETWORKS\ishak.kulekci, Form Name: dataownerform export, IP: , Connection Target: , Request: http://testsharepoint.ishak.com.tr/TestTeamSite1/Lists/DataOwner/AllItems.aspx, Form ID: urn:schemas-microsoft-com:office:infopath:dataownerform-export:-dataFormSolution Type: DataAdapterException, Exception Message: The remote server returned an error: (401) Unauthorized. The remote server returned an error: (401) Unauthorized.)

Çözümü:
Bunun için test sunucusunda registry'de DisableLoopback ayarı yaptım, sorun düzeldi.
Nasıl yapıldığını kaynak linklerden yapabilirsiniz.
Ayrıca infopath formunu Windows authentication olarak ayarlanmış sharepoint web application'da yaptığımı belirteyim. Claim based authentication olduğunda sorun düzelmiyor olabilir.

Kaynak:
http://sharepointconnoisseur.blogspot.com/2011/04/how-to-resolve-401-unauthorized-error.html
http://social.msdn.microsoft.com/Forums/en-US/sharepointinfopath/thread/544a81dc-214a-4caf-aa42-fc9dec796882/

Başka çözümler de belirtilmiş fakat denemedim, belki deneyebilirsiniz:

c:\windows\system32\drivers\etc\hosts.
and add an entry on each server pointing to itself. For example, if you have two web servers, Server1 on 192.168.0.10 and Server2 on 192.168.0.11 your host file entry on Server1 would be:
192.168.0.10 your.sharepoint.address
and on Server2:
192.168.0.11 your.sharepoint.address


---
Hi all
this error occurred when info path form can't connect with users profile (XML web service doesn't work) to prevent this you should add a new URL path in the alternate access mapping.
you should set your computer name as default Zone and in the internet zone use the ip address.
EX
URL http://sharePointServerName/    Zone Default
URL  http://192.168.1.1(Server IP)/    Zone Internet 


---


---
When you connect to a Web service by using an InfoPath 2010 form that contains sandboxed code, the data that is returned is incorrect, or you receive an error message



--

18 Nisan 2012

sql server - t-sql ile kodlama ve yardımcı bilgiler


---
Sql prosedürü için hata mesajı verdirmek için kullanılan metod:
raiserror(N'Belirttiğiniz CdcContextId geçersizdir.',0,0)

Sql prosedüründe ara bir yerde bitişi sağlama:
return


declare @countOfContextID int
  select @countOfContextID=count(ContextId) from dbo.AA_Context where ContextId = @AAContextId
  if @countOfContextID=0
  begin
    -- hata atılacak
    raiserror(N'Belirttiğiniz AAContextId geçersizdir.',0,0)
    return
  end

Kaynak:
http://stackoverflow.com/questions/659188/sql-server-stop-or-break-execution-of-a-sql-script
http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx

SQL Server RAISERROR Kullanım Çeşitleri – Raiserror Using
http://www.sebahattint.com/2011/06/23/sql-server-raiserror-kullanim-cesitleri-raiserror-using/


--

Cursor oluşturma ve kullanma:

declare @CourseID varchar(10),
    @LearningOutcomes1EN varchar(8000)


declare cur_course cursor for
    select CourseID,
    LearningOutcomes1EN
    from dbo.Course




open cur_course
  fetch next from cur_course into @CourseID,
    @LearningOutcomes1EN


while @@fetch_status = 0
begin

-- istenen işlemler yapılır


fetch next from cur_course into @CourseID,
        @LearningOutcomes1EN


end -- end of while

close cur_course
deallocate cur_course





--


Transact-SQL (T-SQL) is Microsoft's and Sybase's proprietary extension to the SQL language. Microsoft's implementation ships in the Microsoft SQL Server product. Sybase uses the language in its Adaptive Server Enterprise, the successor to Sybase SQL Server.


Transact-SQL enhances SQL with these additional features:

* Control-of-flow language
* Local variables
* Various support functions for string processing, date processing, mathematics, etc.
* Improvements to DELETE and UPDATE statements

Transact-SQL User's Guide
http://manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/@Generic__BookTextView/40957;pt=41423

--

Try Catch kullanımı:
http://geekswithblogs.net/ram/archive/2006/10/12/93829.aspx

Using @@ERROR
http://msdn.microsoft.com/en-us/library/ms190193(v=sql.90).aspx

--

SQLS*Plus is like an Oracle© SQL*Plus / sqlplus for Microsoft© SQLServer 2008, 2005 and 2000
http://www.memfix.com/





09 Nisan 2012

sharepoint - slide webpart'da boşluk karakteri olan picture library gösterim sorunu

Varsayılan olarak gelen (oob) slide gösterim web partı, gösterilecek resim kütüphanesinin adresinde boşluk karekteri olduğunda resimleri göstermemektedir. Picture Library adresinde boşluk karakteri olmaması için yeni oluşturma esnasında sadece ingilizce karakterler ve boşluk karakteri kullanmadan oluşturulmalıdır.

Kaynaklar:
http://blog.wortell.nl/jasper/sharepoint-2010-slideshow-webpart/



07 Nisan 2012

ms access - #Hata şeklinde oluşan hata

Asp.Net ile MS Access veritabanına kayıt yaptıran bir uygulamada, bir tabloda bir alanın değerinde #Hata şeklinde hata görünüyordu. asp.net sayfasında da bu alan bilgisi elde edilemiyor şeklinde hata veriyordu. Sorun bu alan içeriğinin bozulmasından kaynaklanmış. ms access'da sql ile update etmeye çalıştım fakat bu alan başkası tarafından kullanılıyor diyerek update yapmama izin vermedi. Ben de  ofis düğmesine tıklayıp -> Yönet -> Veritabanını Sıkıştır ve Onar butonuna tıklayıp onarım yaptım. İlgili alana baktığımda bu sefer ################ şekline dönüşmüştü. Artık uygulama çalışıyor ama bu alanın içeriği uçtu.


06 Nisan 2012

Single Sign On - SSO hakkında

Tek kullanıcı adı ve şifreyle tüm web uygulamalarında nasıl oturum açılır, bunu araştıruyorum şu sıralar. Artık bu meseleyi çözmem gerekiyor. Ne nedir, nasıldır diye.
Anladığım kadarı kullanıcı adı ve şifre ile oturum açma sayfası bize bu kullanıcı adı için bir token oluşturulmakta (en basit token tanımlayıcısı guid olabilir mesela), sonra diğer uygulamalar bu token ile oturum açıp, bu token'a ait kullanıcı için o sisteme verilir.
Hangi kullanıcı adının hangi token'e eş olduğu ayrı bir sistemde tutulması gerekmektedir.

Asp.net ile çok basit seviyede sso çalıştırılması yapılan güzel bir örnek:
http://sso.codeplex.com/
soluiton dosyasını visual studio 2010'a upgrade ettim
indirme adresi:
https://docs.google.com/open?id=0Bz-YnKEL8rKvbUlrVWRMSVBUdnUwMENYdzByZllBQQ

.NET’te Single Sign-On (SSO)
http://www.ahmetkaymaz.com/2007/10/12/nette-single-sign-on-sso/

A Guide to Claims-Based Identity and Access Control (2nd Edition)
http://msdn.microsoft.com/en-us/library/ff423674.aspx

Webcast: Quest Çözümleri ile Single Sign On - Emre Kutlu
http://www.cozumpark.com/forums/thread/214244.aspx


05 Nisan 2012

Derdini Marko Paşa'ya değil, 'Google amca'ya anlat!


Marko Paşa, Rum asıllı ünlü bir Osmanlı hekimi idi. Takdir için kendisine 'paşalık' rütbesi bile verildi.

1888 yılında vefat eden Marko Paşa, sabırla hastalarını dinlemesiyle meşhurdur. Artık insanlar birbirini anlamaz ve dinlemez hale gelince, 'benden sana fayda yok' anlamında, 'git derdini Marko Paşa'ya anlat' tabiri yayıldı ve günümüze kadar geldi.

Şimdi insanlar artık her başı sıkıştığında başka yollara da başvuruyor. Herhangi bir karar alacağınız zaman, hiç olmazsa o konuda bir ilk araştırma yapmak üzere internete giriliyor. Bunu da çeşitli 'arama motorları' üzerinden yapıyor. Arama motoru deyince de aklınıza "Google" markası geliyor. Öyle ki, artık sonsuz siber alemde 'aramak ve bulmak' ameliyesinin adına 'Google-lamak' deniliyor.

Artık 'derdini Google amcaya' anlat demek yetmiyor, belki 'söyle sorununu Google çözüm yolunu göstersin' demek gerekiyor. Bilgi ve iletişimin buluştuğu yer, akla ziyan bir noktaya doğru götürüyor bizi. Cep telefonları artık çoktan 'bankacılık' yapmaya başladı. Kredi veriyor, para transferi yapıyor vs. Daha geçen gördük, Google'ın geliştirdiği donanımla çalışan bir araba, görme özürlü vatandaşı ekmek arası köftesini yerken evine, çarşıya, pazara götürüyor. Keza, satın alacağınız bir gayrimenkulün yerini önce şöyle bir Google'dan girip araştırıyorsunuz. Akıllı telefonunuzda Google'ı yol rehberi (navigatör) olarak kurup evinize gidiyorsunuz. Ortak dille anlaşamadığınız bir kişi ile Google'ın sunduğu tercüme hizmeti ile anlaşmaya çalışıyorsunuz. Yeterli değil ancak gelişiyor. Liste uzayıp gidiyor. Artık 'hizmet çok, etkin kullanabilen var mı' diye sormak gerekiyor.

Hal böyle olunca Google Türkiye Genel Müdürü Bülent Hiçsolmaz'ın 3 Nisan'daki davetini kaçırmadım. Google, McKinsey&Company'in hazırladığı "İnternetin Yükselen Piyasa Ekonomileri Üzerindeki Ekonomik Katkısı" konulu rapor için ev sahipliği yaptı. Raporun oldukça güzel hazırlanmış olan Türkiye bölümünü McKinsey'in Türkiye temsilcisi Bengi Korkmaz yapmış.

Türkiye'nin internet ekonomisindeki yeri acaba nedir? Genelde Türkler, daha özelde ise şirketlerimiz bu muazzam imkândan hangi ölçüde yararlanıyor? Tek bir cümlede ifade etmek gerekirse, 'oransal değişim olarak' Türkiye'nin internetle tanışma hızı çok yüksek. Nüfusa göre kullanım oranı da aşağı yukarı nüfusun yarısı kadar. Ancak 'etkin kullanıp yüksek katma değer elde etmede' henüz yokuz.

Türkiye, internet bağlatma ücretleri ve birim internet kullanım maliyeti dünyadaki en yüksek ülkelerden biri. 'Fiskal kafaya' sahibiz ya. Yani önüne gelen her şeyi anında vergiye ve ranta boğmak zihniyetimiz var. Osmanlı'dan beri böyle. Bu nedenle altın yumurtlayan tavuğu kesmek bizde yaygındır. İş geliştirmeden bunu hemen kazanca çevirme hastalığında kamu ile özelin birbirinden farkı yok. Söyler misiniz, esnaftan daha kazanmadığı gelirin vergisini peşin istemenin nasıl bir mantığı vardır? Girişimciliği cezalandırmakta, doğmadan boğmakta maharetliyiz. Atasözü, 'kaz gelecek yerden tavuk esirgenmez' demiş ancak, kazı görmek maharetimiz yok.

İnternet başında amaçsız ve mimarisiz bir şekilde çok çok kalıyor, kullanmıyor, adeta ötesini berisini kurcalıyoruz. İnterneti daha çok 'bireysel tüketim' için kullanıyoruz. Etkin kullanmak yerine kurcalarsanız altından kötü kokular gelir. Sosyal medya artan oranlarda bir kumarhane, şiddet, nefret, iftira, küfürbazlık alanına dönüyor. İç savaş çıkartır maazallah. Kimsenin işin aslını faslını dinlemeye tahammülü yok. Karşı tarafı dinlemeden verilen en adil karar bile adaletsizdir. İnternette buna fırsat yok. Pandora'nın kapağı bir açılınca ayıkla pirincin taşını!

Kurumsal çözümler için çok büyük bir potansiyel fırsat alanı var. Türkiye yolun başında ve büyük kazanç imkânları var. Maliyetleri düşürmede, verimliliği artırmada, ürün çeşitliliğine gitmede, hızlı olmada, kolektif çalışmada, birçok alanda çok büyük fırsatlar var. İnternet sayfası bile ancak yasal zorlamayla yapılırsa, bu ülkede girişimcinin zihniyetini varın siz hesap edin.

Acaba ihale kanunlarının da dışına çıkarak toplam tutarı 20 milyar TL'lere varacak olan FATİH projesinde o kutunun içine ne koyacağız? Bunun öğretmenlerini kim eğitecek? Yani yine işin zarfına kilitlenip mazrufu kaçırıyoruz.

İbrahim Öztürk

Alıntı

Sql server - The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.
hatasının nedeni:
User Instance özelliği sadece SQL Server Express sürümlerinde desteklenmektedir. Tam sürümlerde bu özellik desteklenmemektedir.

Connection string'de user instance kullanımı şu şekilde:
Data Source=.;AttachDbFilename=E:\ishak_opensource-projects\NerdDinner\nerddinner-70027\Branches\VS2010-MVC3-Razor\NerdDinner\App_Data\ASPNETDB.MDF;Integrated Security=True;User Instance=True

<add name="NerdDinners" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|NerdDinner.mdf;User Instance=true;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />


Kaynak:
http://softwarld.blogspot.com/2009/09/user-instance-login-flag-is-not.html
http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/0738cb01-106f-4376-b92d-a977a022ece8/

04 Nisan 2012

Log4Net Kullanımı - Yapılması gerekli adımlar

- Nuget ile Log4net ile arama yapıp, gerekli dll'leri projenin referanslarına ekleriz
- Assemby.info dosyasına config dosyasının okunabilmesi için tanımlama yaparız, gerekli kod:

// Yapılandırma dosyası değişiklikler için izlenecektir
// Configure log4net using the .config file
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
// This will cause log4net to look for a configuration file
// called ConsoleApp.exe.config in the application base
// directory (i.e. the directory containing ConsoleApp.exe)

- App.config veya web.config dosyasına gerekli konfigürasyon tanımını yaparız


<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <!-- diğer yapılandırma bölümleri-->
  </configSections>

  <log4net>
    <!-- Log4Net yapılandırması-->

    <appender name="DosyaAppender" type="log4net.Appender.FileAppender,log4net">
      <param name="File" value="GunlukDosyasi.txt"/>
      <param name="AppendToFile" value="true"/>
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>

    <root>
      <level value="ALL"/>

      <appender-ref ref="DosyaAppender"/>
    </root>
   
  </log4net>

- Loglama yapan örnek bir kod:


public class Business
    {
        // Create a logger for use in this class
        private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        // NOTE that using System.Reflection.MethodBase.GetCurrentMethod().DeclaringType
        // is equivalent to typeof(LoggingExample) but is more portable
        // i.e. you can copy the code directly into another class without
        // needing to edit the code.

        public void LogKaydiDenemesi()
        {
            for (int i = 0; i < 100; i++)
            {
                log.InfoFormat("Sayac numarası: " + i);
            }
        }

    }


İşte bu kadar.




02 Nisan 2012

Açık kaynak - Network ile ilgili uygulamalar

OpenNMS is the world’s first enterprise grade network management application platform developed under the open source model.
http://www.opennms.org/

01 Nisan 2012

Bill Gates, gittiği ülkede önce internetin hızını sorar

Microsoft'ta 10 yıl kadar üst düzey yönetici olarak görev yapan Sürayya Ciliv, Microsoft'un patronu Bill Gates ile ilgili anılarını aktardı. Gates'in gittiği ülkede öncelikle internet hızını sorduğunu belirten Ciliv, "Bunun iki nedeni var. Birincisi e-maillerini görmek ve dosyaların ne kadar sürede indirebileceğini bilmek. İkincisi de o şehrin inovasyon potansiyeli hakkında bilgi edinmek." dedi.

Alıntı