Alperdotnet's Web Log

Haziran 20, 2010

Asp.net ve Vb.net için “Twitter Api”

Filed under: AspDotNet — alperdotnet @ 5:27 pm
Tags: , , , , , , ,

Merhabalar,

Uzun zamandır twitter ve Facebook Api’leri üzerinde uğraşıyorum. Twitter Api’sinin nasıl kullanılacağına dair bilgileri bu yazımda anlatacağım. Çok zor bir Api class’ları olmamasına karşın gayet basit bir şekilde açıklacağım.

İlk önce http://rapidshare.com/files/401065935/TwitterVB.dll.html adresinden Twitter Api’sini indirmeniz gerekmektedir.

Yeni bir web sitesi yada windows uygulaması yaratıyoruz. Yaratılan uygulamamıza Add Reference yöntemiyle Twitter Api’yi ekliyoruz. Şimdi eklediğimiz dosyanın aktif olması ve sağlıklı çalışması için “Imports TwitterVB2” kodunu kodumuzun ilk başına ekliyoruz.

Sonrasında bir “Label” , “Textbox” ve “Button” ekliyoruz. Bundan sonra codebehind’ımıza geri dönüyoruz.

Kod:

‘hesap bilgisi almak.

Dim tw As New TwitterAPI
tw.AuthenticateAs(“username”, “password”)
Label1.Text = “Kullanıcı :  ” & tw.AccountInformation.ScreenName.ToString()

‘twitter hesabınıza tweet eklemek icin.

Dim tw As New TwitterAPI
tw.AuthenticateAs(“username”, “password”)
tw.Update(“” & TextBox1.Text & “”)
Label1.Text = “Update Edildi.”
Bu kısa kodlar ile çok rahat şekilde twitter’a mesaj göndermenizi sağlayabilirsiniz. Ayrıca mesajları okumak da Api’nin içinde mevcuttur. Bu da çok basit kodlar ile yapılabilmektedir. Facebook Api’si ile ilgili açıklamalarım bir sonra ki yazımda olacaktır.
Saygılarımla,
Alper TAYFUN
Reklamlar

Mayıs 2, 2010

Visual Studio 2010 UE ve .Net 4

Visual Studio 2010 Ultimate Edition

VS ‘yu çok fazla kullandığım için artık her geçen gün yeniliklerinin farkına varmadığımı anladım. Aslında çok detaylı bakıldığın da cidden çok değişiklik yapılmış durumda. Eski yüzüne benzer gibi gözükse de VS 2010 çok değişiklik yapılmış durumda. Özellikle de bir geliştirici iseniz direk olarak UE yada Proffessional sürümlerini tavsiye edeceğim. VS 2010 ciddi olarak her türlü desteği vermek amacı ile MSDN ‘e çok önem vermiş durumda. Özellikle de MSDN ‘i tamamen bir içerik havuzuna benzetenler olarak burada ki bağlantılarınız çok önemli olacaktır.

New Project on VS 2010 UE

Şöyle özelliklerini baştan başa çözümleyecek olursak ;

Analiz edebileceğiniz bir ortam geliştirilmiş,

Mobil sistemlere ağırlık verilmiş,

Özellikle de UE versiyonun da Takım çalışmalarını direk olarak desteklediğini görebiliyoruz,

Office belgelerini baştan yazabileceğiniz bir ortam geliştirilmiş,

Projelerinizi modelleyebileceğiniz özellik gelmiş ki bu Takım çalışmalarınız da çok işe yarayacaktır ,

.Net 4 işte sanırım en büyük özelliğimiz bu…

Visual Studio 2010 With MSDN

Çok geniş bir şekilde açıklayacağım bir sonra ki yazım da .NET 4 ile ilgili özellikleri. Şuanda çıkmış gibi gözükse de beta sürüşü içinde olduklarını görebiliyoruz.

Size en büyük tavsiyelerimden biri UE versiyonunda ki TEAM özelliğini çok etkin bir şekilde kullanmanız. Bu sayede bir çok yazılım ürününüz çok hızlı bir şekilde çıkacaktır. Bu sayede Development Lifecyle ‘ı çok etkin bir şekilde kullanabilirsiniz. Elbette ki ufak yazılımlar da etkin olmayacaktır fakat büyük ve orta ölçekli yazılımlarınız da implementasyonu hızlandıracaktır.

Saygılarımla,

Alper TAYFUN

Mart 13, 2010

URL Rewrite ( IIS7 )

Filed under: AspDotNet — alperdotnet @ 10:47 pm
Tags: , , , ,

Merhabalar,

Uzun zamandır bu modülün çıkmasını bekliyordum. Sonunda çok hızlı bir şekilde URL Rewrite yapabiliyoruz. Asp.net kısmında kesinlikle kodlamaya gerek kalmadan bu işlemi yapabiliyoruz.

İlk önce IIS7 kurulu makinenize lütfen  :

X86 Version

X64 Version

Bu versiyonlardan hangisini kullanıyorsanız kurduktan sonra. IIS7 ‘de modül kuruluma gelmeniz gerekecektir. Buradan URL Rewrite ‘ı kurduktan sonra IIS 7 ‘yi yeniden başlatın. IIS yeniden başladıktan sonra göreceksiniz ki URL Rewrite diye bir ikon gelmiş olacaktır. Bu ikona çift tıklayın ve sonrasında Add Rules kısmına tıklayın. Karşınıza gelen seçeneklerden User Friendly URL ‘yi seçtikten sonra sizden URL yazmanızı isteyecektir. Ör. : “http://www.deneme.com/Category.aspx?id=1” Bu şekilde bir örnek yazdığınız da göreceksiniz ki size istediğiniz URL kısaltmayı önerecektir. İstediğinizi seçip kullanabilirsiniz. Rules kısmı çok fazla uzun olduğu için bir sonra ki yazım da uzun uzun inceleyeceğimdir.

Bir sonra ki yazımda görüşmek dileğiyle,

Alper TAYFUN

Ağustos 31, 2008

Aspdotnet ile TCPClient haberleşmesi

Merhabalar;

Gün geçtikçe ihtiyaçlarımız da farklılaşır. Yapacağımız işlerin sürekli olarak aynı yöntem ile yapmaktan ise farklı yollar seçmek isteriz. Bu Log’um da size anlatacağım konu ise AspDotNet uygulamalarınız da kullabileceğiniz bir türlü TCP haberleşmesini anlatacağım. Ben şahsen eğer ki Windows Form’u ile haberleşecek bir program ve Web Uygulaması yapacaksam hemen TCP haberleşmesini kullanıyorum ki en azından Default gelen 80 portu haricinde haberleşme sağlayabiliyoruz. Ben bu yazımda sizlere 7076 portundan nasıl haber verip alması ile örnek bir kod vereceğim. Kod’un size çok fazla yarar sağlıyacağını umuyorum. Bu haberleşme hem Windows Form hemde AspDotNet kanalı ile nasıl yapılacağını çok rahat bir şekilde anlayacaksınızdır.İlk önce yaratacağımız bir Windows Form projesidir. Bu proje içerisinde sürekli olarak değil fakat form’un load event’ına ekleyeceğimiz kod ile haberleşmeyi açmayı göstereceğim.

Form İçin gerekli olanlar

Imports System.Net
Imports System.Net.Sockets
Imports System.Web.HttpUtility
Imports System.Text

Public Class’ın Event bölümüne koyacağımız

Const portNumber As Integer = 7076
Dim tcpListener As New TcpListener(portNumber)

bu iki kod ile TCP Listining’i başlatmış olacağız. Bu sayede 7076 portundan rahatça bağlantı sağlayabileceksiniz. Form’un Load Event’ına ise

tcpListener.Start()

bu kodu yerleştirdiğimiz de işlemimiz tamamdır.

Şimdi sırada Web Form üzerinden TCPClient istemcimizi kurmaya. Bunun için ise bir Web Form Projesi oluşturuyoruz ve gerekli olanlar ise

Imports System.Net
Imports System.Net.Sockets
Imports System.Web.HttpUtility
Imports System.Text

şeklindedir.

Default.aspx.vb dosyamızın codebehind kısmında ise Form’un Load Event’ına ekleyeceğimiz bu kod sayesinde artık TCP üzerinden nasıl haberleşme yapıldığınız öğrenmiş bulunmaktasınız.

Try
            Dim tcpClient As New System.Net.Sockets.TcpClient()
            tcpClient.Connect(“127.0.0.1”, 7076)
            Dim networkStream As NetworkStream = tcpClient.GetStream()
            If networkStream.CanWrite And networkStream.CanRead Then
                response.write(“Tamamdır.”)
            Else
                If Not networkStream.CanRead Then
      response.write(“Sunucu Bağlantısı yapılamadı. <br>Lütfen Tekrar deneyiniz.”)
                    tcpClient.Close()
                Else
                    If Not networkStream.CanWrite Then
                        response.write(“Sunucu Bağlantısı yapılamadı. <br>Lütfen Tekrar deneyiniz.”)
                        tcpClient.Close()
                    End If
                End If

            End If

        Catch ex As System.Net.Sockets.SocketException
            If (ex.ErrorCode = 10061) Then
  response.write(“Sunucu Bağlantısı yapılamadı. <br>Lütfen Tekrar deneyiniz.”)
 End If
End Try

Alper TAYFUN

Ağustos 20, 2008

Microsoft DotNet Framework 3.5 Commonly Used Types And Namespaes

Filed under: AspDotNet — alperdotnet @ 10:48 pm
Tags: , , , , ,

Merhabalar;

 İnternet üzerinde gezinir iken sürekli bir takvim olsa da namespace leri görsem diye yakınır iken bulduğum bu mucizevi bir imaj buldum sizin ile paylaşmak istedim umarım yardımcı olacaktır.

 

 

Alper TAYFUN

AspDotNet ve Ajax

Merhabalar;

Şuan ki günümüzde en çok tartışılan konuların başında Ajax geliyor. Özellikle de bizler gibi yazılım uzmanı kişilerin seçimlerine maruz kalan bu Javascript araci web’de ve windows form’larimiz da çok büyük yardımcı oluyor. Ajax Web2.0 gibi yeni teknolojilerin getirdiği olanakların ilk başını çekmektedir. AspDotNet ‘e bunun için ek bir eklenti gelmiştir ki bu Ajax ile kodladığımız program veya websitelerimiz de gayet kolaylık sağlamaktadır. Özelllikle de Visual Web Developer ve Visual Studio kullananlar için yapılan bu extension ‘lar ile gayet hızlı Ajax kurulumu yapıp kullanmaya başlayabiliyorsunuz.

http://www.asp.net/ajax/downloads/

Adresinden indireceğiniz Toolkit ve Extension paketlerini kurduktan sonra Ajax kullanıma başlayabiliriz.

İlk önce yapacağımız yeni bir websitesi oluşturmak fakat My Templates bölümünden AJAX Control Toolkit Web Site ‘ı seçmeliyiz ki bu bize çok büyük yarar sağlayacaktır. Seçtiğimiz Template’imizi oluşturduktan sonrasında Default.aspx sayfamıza geliyoruz. Burada şu şekilde bir kod olacaktır ki bu yine <div></div> arasında olması gerekmektedir.

<asp:ScriptManager ID=”ScriptManager1″ runat=”server” />

Hemen bunun altına deneme olarak yaptığımız Update Panel kodumuzu yerleştiriyoruz.

<asp:UpdateProgress ID=”UpdateProgress1″ runat=”server”>
<ProgressTemplate>
<img src=”images/ajaxloading.gif” alt=”Loading Image” />
</ProgressTemplate>
</asp:UpdateProgress>

Elbette ki bu ajaxloading.gif’i istediğiniz şekilde bir loading imajı ile değiştirebilirsiniz. Sonrasında sorgumuzu yapmak için ekleyeceğimiz UpdatePanel’imiz olacaktır.

<asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”>
<Triggers>
<asp:AsyncPostBackTrigger ControlID=”Button1″ EventName=”Click” />
</Triggers>
<ContentTemplate>
<asp:Label ID=”Label1″ runat=”server” Text=””>
<asp:Button ID=”Button1″ runat=”server” Text=”Uygula” />
</ContentTemplate>
</asp:UpdatePanel>

Şimdi bu kısmı açıklamak gerekir ise Ajax extension’ı ile gelen script’lerimizi kontrol etmemiz için bir update panel’imiz vardır. Bu update panelimizin Trigger Bölümünde gördüğünüz üzere AsyncPostBackTrigger alt element’inin ControlID’si Button1 ‘i göstermektedir ve EventName’i ise Click’dir. Burada yapılan işlem sorguyu sayfayı yeniden başlatmadan Ajax’ın innerhtml yöntemi ile otomatik olarak uygulaması demektir. Şimdi objemizi incelemeye devam edersek her control objelerinde görülen contenttemplate kısmı vardır ki burada html ve asp controller’ını rahatça kullanbilemekteyiz.

Codebehing kısmına gelecek olursak orada normal olarak yaptığımız gibi Button1 objemizin Event’ı olan Click’i seçtikten sonra ki kodlarımız şu şekilde olacaktır:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Label1.Text = “Ajax Yüklenmiştir.”

End Sub

Gördüğünüz üzere herhangi bir sorun olmadan kurulumunu yaptığınız AJAX artık AspDotNet’imiz de rahat rahat çalışmaktadır. Önümüzde ki günler de size Ajax ile çok daha fazla yapılabilen örnekler sunacağımdır.

Alper TAYFUN

AspDotNet ile Windows User oluşturma

Filed under: AspDotNet — alperdotnet @ 3:43 pm
Tags: , , , , , , , ,

Merhabalar;

Bir önce ki yazım da sizlere Windows IIS üzerinde nasıl website’si oluşturacağımızı anlatmıştım. Bu bölüm de ise sizlere nasıl wmi kullanarak Windows User’ı yaratabileceğinizi anlatacağım.

İlk önce yeni bir web sitesi oluşturuyoruz ve Website’mizin ismi Windowsusercreate olsun. Oluşturduğumuz websitemizin AppData klasörünün hemen üzerinde bulunan windowsusercreate bölümüne sağ tıklayarak Add Rerefence bölümüne tıklıyoruz. Buradan önceki yazımda da belirttiğim gibi windows sunucularda wmi gibi özel işlemler yapmanız için referans eklemeniz gerektiğini anlatmıştım ki bu bölümde de aynı referansları eklemek zorundayızdır. Bu bölümden System.DirectoryServices / System.DirectoryServices.AccountManagement / System.DirectoryServices.Protocols / System.Management / System.Management.Instrumentation referanslarını eklemeliyiz.

Şimdi referanslarımız ekledik ve sonrasında Default.aspx sayfamıza tıklayalım ve içinde ki <div> </div> kısımlarına bu kodları yerleştirelim.

<asp:Label ID=”Label1″ runat=”server” Text=”Kullanıcı Adı:”></asp:Label>
<asp:TextBox ID=”kullanici_adi” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label2″ runat=”server” Text=”Kullanıcı Şifre:”></asp:Label>
<asp:TextBox ID=”kullanici_sifre” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label3″ runat=”server” Text=”Kullanıcı Tanımı:”></asp:Label>
<asp:TextBox ID=”kullanici_tanimi” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label4″ runat=”server” Text=”Kullanıcı Grubu:”></asp:Label>
<asp:TextBox ID=”kullanici_grubu” runat=”server”></asp:TextBox><br />
<asp:Button ID=”Button1″ runat=”server” Text=”Yeni Windows User Oluştur” />

Bu yaptığımız arayüzümüzün codebehind bölümü olan default.aspx.vb kısmında eklediğimiz referanslarımızı import etmek zorundayızdır.

Imports System.Web
Imports System.Web.UI
Imports System.Web.HttpUtility
Imports System.IO
Imports System.IO.File
Imports System.DirectoryServices
Imports System.Management
Imports System.Management.ObjectGetOptions
Imports System.Text

Sırası ile Button1 objemizin Event’ı olan Click Event’ına şu kodu eklemeliyizdir.

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

AddUser(kullanici_adi.Text, kullanici_sifre.Text, kullanici_tanimi.text , kullanici_grubu.text)

End Sub

‘AddUser Function

Private Sub AddUser(ByVal login As String, ByVal password As String, ByVal fullName As String, ByVal memberss As String)

On Error Resume Next
Dim AD As DirectoryEntry = New DirectoryEntry(“WinNT://” + Environment.MachineName + “,computer”)
Dim NewUser As DirectoryEntry = AD.Children.Add(login, “user”)
NewUser.Invoke(“SetPassword”, New Object() {password})
NewUser.Invoke(“FullName”, New Object() {fullName})
NewUser.Invoke(“Put”, New Object() {“Description”, “Deneme”})
NewUser.Properties(“PasswordAge”).Add(0)
NewUser.Properties(“Userflags”).Add(&H40 Or &H10000)
NewUser.CommitChanges()
Dim grp As DirectoryEntry

grp = AD.Children.Find(memberss, “group”)
If grp.Name <> “” Then
grp.Invoke(“Add”, New Object() {NewUser.Path.ToString()})
End If
End Sub

Bu bölüme kadar websitemiz sorunsuz yaratılacaktır fakat ufak bir nokta vardır ki o da AspDotNet ‘in izin seviyesidir. Bu izin seviyesini ayarlamak için web.config dosyamızda değişiklik yapmak zorundayızdır ki bu o anda ki kullanacağınız olan Windows User ‘ın isim ve şifresini içermektedir.

Bunun için ekleyeceğiniz kod:

<identity impersonate=”true” userName=”alperdotnet” password=”password”/>

Bu kodumuz direk olarak <system.web> altına eklenmelidir. Eklendikten sonra bu yapmış olduğumuz AspDotNet website projemiz sorunsuz çalışacaktır.

Alper TAYFUN

AspDotNet ile IIS üzerinde websitesi oluşturma

Filed under: AspDotNet — alperdotnet @ 3:12 pm
Tags: , , , , , , , , , ,

Merhabalar;

Bu ilk yazım olacağı için biraz gergin ama kahvem ile ortamımı yumuşatmaya çabalıyorum. Bayağıdır üzerinde çalıştığım panel projesi vardı elbette herkesin hayalidir ki neden plesk kullanayım yada hosting controller kullanayım derken dotnet ile wmi birleşip güçlü bir ikili olunca karşımıza birçok yapabilirliği getirdi. Sizlere bu yazım da AspDotNet ile IIS üzerinde nasıl bir web sitesi oluşturacağımızı anlatacağım. Umarım keyif alarak okursunuz.

İlk önce yeni bir Web Site açalım. İsmi CreateWebSite olsun. DotNet Framework olarak 3.5 kullanmak zorundayız.Oluşturduğumuz website’mızın Appdata yazan klasörün hemen üzerinde ki createwebsite yazan yere sağ tıkladıktan sonra Add Reference ‘e tıklamalıyız. Burada altını çizmeliyim ki DotNet ile yapılan ekstra işlemler de reference lar yardımı ile yapılmaktadır. Özellikle de yeni bir dosya yaratma ve windows’un her hangi bir bölümünü yönetme gibi ekstra işlemler de Add Reference bölümünü kullanmak zorundayız. Bu bölümden System.DirectoryServices / System.DirectoryServices.AccountManagement / System.DirectoryServices.Protocols / System.Management / System.Management.Instrumentation referanslarını eklemeliyiz.

Şimdi referanslarımız eklendi ve sırasında Default.aspx sayfamıza tıklayalım ve içinde ki <div> </div> kısımlarına bu kodları yerleştirelim.

<asp:Label ID=”Label1″ runat=”server” Text=”Sunucu Adresi:”></asp:Label>
<asp:TextBox ID=”sunucu_adresi” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label2″ runat=”server” Text=”Web Site Adı:”></asp:Label>
<asp:TextBox ID=”website_adi” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label3″ runat=”server” Text=”Web Site Ip Adresi:”></asp:Label>
<asp:TextBox ID=”website_ipadresi” runat=”server”></asp:TextBox><br />
<asp:Label ID=”Label4″ runat=”server” Text=”Web Site Port Tanımı:”></asp:Label>
<asp:TextBox ID=”website_porttanimi” runat=”server”></asp:TextBox><br />
<asp:Button ID=”Button1″ runat=”server” Text=”Yeni Web Sitemi Oluştur” />

Şimdi Default.aspx sayfamızın arayüzünü yaratmış bulunmaktayız fakat arkada çalışan yani sayfamızın codebehind tarafına gelecek olur isek. Eklemiş olduğumuz referans lar ile birlikte sayfamızın codebehing bölümüne onları import edip sağlıklı bir şekilde çalıştırmalıyız.

Imports System.Web
Imports System.Web.UI
Imports System.Web.HttpUtility
Imports System.IO
Imports System.IO.File
Imports System.DirectoryServices
Imports System.Management
Imports System.Management.ObjectGetOptions
Imports System.Text

Sayfamızın default.aspx.vb yani codebehind bölümünün en üstüne eklediğimiz bu referanslar işlemlerimiz için bize büyük kolaylık sağlayacaktır ki framework’umuzun compile eder iken sağlıklı bir şekilde yürütmesine de yardımcı olacaktır. Aksi takdir de bu referansları codebehind kısmına eklemez iseniz bu çalışmayı yapamazsınız. Şimdi gelelim Button1 objemizin Event ‘ı olan Click Event’ına ekleyeceğimiz kodlara. Elbette ki burada bir function eklemiş bulunmaktayız ve bu function ‘ı Button1 Click Event’ımızın bitişinden hemen sonraya yazacağız ki bu function sürekli olarak kullanılabilsin.

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim servers, site_ad, site_yol, site_tanimlar_ip, site_tanimlar_port, site_tanimlar_domain, site_tanimlar

servers = sunucu_adresi.Text
site_ad = website_adi.Text
site_tanimlar_ip = website_ipadresi.Text
site_tanimlar_port = website_porttanimi.Text
site_tanimlar_domain = website_adi.Text
site_tanimlar = site_tanimlar_ip & “:” & site_tanimlar_port & “:” & site_tanimlar_domain
site_yol = “c:\websiteler\” & site_tanimlar_domain & “”

‘Yaratılan web sitemizin kullanacagi olan klasörümüzü yaratıyoruz.

Directory.CreateDirectory(“e:\websiteler\” & site_tanimlar_domain & “”)

a = CreateWebsite(servers, site_ad, site_tanimlar, site_yol)
On Error Resume Next

Dim WebSiteID, objWebSite

WebSiteID = a
objWebSite = GetObject(“IIS://localhost/W3SVC/” & WebSiteID)

objWebSite.Start()

Response.Write(“Başarılı bir şekilde web sitemiz oluşturulmuştur.”)

End Sub

‘CreateWebSite Function

Public Shared Function CreateWebsite(ByVal webserver As String, ByVal serverComment As String, ByVal serverBindings As String, ByVal homeDirectory As String) As Integer

Dim w3svc As DirectoryEntry
w3svc = New DirectoryEntry(“IIS://localhost/w3svc”)

‘Create a website object array
Dim newsite() As Object
newsite = New Object() {serverComment, New Object() {serverBindings}, homeDirectory}

‘invoke IIsWebService.CreateNewSite
Dim websiteId As Object
websiteId = w3svc.Invoke(“CreateNewSite”, newsite)

Return websiteId

End Function

Bu bölüme kadar websitemiz sorunsuz yaratılacaktır fakat ufak bir nokta vardır ki o da AspDotNet ‘in izin seviyesidir. Bu izin seviyesini ayarlamak için web.config dosyamızda değişiklik yapmak zorundayızdır ki bu o anda ki kullanacağınız olan Windows User ‘ın isim ve şifresini içermektedir.

Bunun için ekleyeceğiniz kod:

<identity impersonate=”true” userName=”alperdotnet” password=”password”/>

Bu kodumuz direk olarak <system.web> altına eklenmelidir. Eklendikten sonra bu yapmış olduğumuz AspDotNet website projemiz sorunsuz çalışacaktır.

Alper TAYFUN

WordPress.com'da ücretsiz bir web sitesi ya da blog oluşturun.