Category: Asp.Net


ReklamIC projesi üzerinde uğraşırken birkaç sayfada bu hatayla karşılaştım. Hata genellikle bir sayfadaki url’den yine aynı sayfadaki bir bağlantıdan aynı sayfaya veri gönderince gerçekleşmekte. Mesela ReklamGoruntule.aspx’te ReklamGoruntule.aspx?deger=1 şeklinde bir bağlantıya tıklarsanız böyle bir hata meydana gelir.

Hatayı meydana getiren kısım ViewZones.aspx sayfasındaki nesne idi:

<asp:ImageButton AlternateText="Yayın Kodunu Al" ToolTip="Yayın Kodunu Al" ID="ImageButton3" runat="server" ImageUrl="~/images/code.png" Width="32" Height="32" PostBackUrl='<%# Eval("ZoneID","ViewZones.aspx?zid={0}") %>' />

Ben sorunu page_load’daki veri yükleme kodlarını If Not Page.IsPostBack Then …veri yüklemeleri… End If şeklie getirerek çözdüm. Çeşitli kaynaklarda söylenen pages validateRequest=”false” veya enableEventValidation=”false” şeklindeki düzenlemeler sorununuzu çözer belki ama benim tavsiyem bunu kullanmamanız. Çünkü saldırılara bir kapı açmış olursunuz.

Tam Hata :
Invalid postback or callback argument. Event validation is enabled using
in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

Yeni ASP.NET Charting Kontrolleri

Microsoft, geçtiğimiz günlerde harika bir ASP.NET sunucu kontrolü yayımladı. Bu ASP.NET 3,5 kontrolü zengin içerikler için kullanılabilir:

Yüklendiğinde <asp:chart/> kontrolü Toolbox’ta Data kategorisi altında gözükür ve Asp.Net’te sunucu kontrolü olarak kolayca tanımlanabilir duruma gelir:

http://www.scottgu.com/blogposts/chart/step0.png

kaynak

Asp.Net’te MySQL ile Kimlik Doğrulama ve Yetkilendirme

Dün Asp.NET Login Kontrollerinie MySQL ile kullanabilmek için tüm gün araştırdım durdum. Şimdi de bu bilgileri paylaşmak istedim. Eğer benim gibi asp.net’te yeni iseniz bu bilgiler illaki lazım olur. Çünkü genellikle SQL Server kullanılmak istenmez.

İlk önce yapmanız gereken Mysql.Data 5.2.2‘yi yüklemek(5.2.3 şu an son versiyon fakat ilerde göreceğiniz bir işlemi otomatik olarak yapmıyor). 5.2.2′i buradan bulabilirsiniz.

Projenizin web.config dosyasını açıp bağlantı cümlelerine aşağıdaki gibi bir bağlantı ekleyin:

<connectionStrings>
<remove name=”LocalMySqlServer”/>
<add name=”LocalMySqlServer” connectionString=”server=localhost; user id=root; password=toor; persist security info=true; database=dorknozzle;” providerName=”MySql.Data.MySqlClient”/>
</ connectionStrings>

Proje referanslarına (Projeye sağ tıklayıp>Property Pages’dan) MySQL.Data’yı eklemeniz tavsiye edilir.

Mysql.Data ve Mysql.Web dll’lerini projenizin içindeki Bin klasörüne kopyalayın. Sonra da Solution Explorer’ı tazeleyin.

Dikkat machine.config dosyasında değişiklik yapmanız pek tavsiye edilmeyen birşeydir. Ama mysql için bunları eklememiz gerekiyor. Ve unutmayın ki asp.net servis sağlayıcınız MySQL’i desteklemeyebilir. Bunu en başta sorun.

machine.config dosyasını açıp aşağıda belirtildiği yere autogenerateschema=”true” niteliğini ekleyin:

<membership>
<providers>
<add name=”MySQLMembershipProvider” autogenerateschema=”true” type=”MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.2.0, … />
</providers>
</membership>

Sitenizin konfigurasyon sayfasını açın (Açılmış olan projede, Website > ASP.NET Configuration yolunu izleyin, ya da Solution Explorer’daki çekik ve dünya ikonuna tıklayın). Provider sekmesinde Membership Provide listesinden MySQLMembershipProvider‘ı ve Role Provider listesinden de MySQLRoleProvider‘ı seçin. İsterseniz test linklerine basıp bağlantıları kontrol edebilirsiniz.

Ben eğitim süresince aşağıdaki hatalarla karşılaştım (en azından hatırladıklarım ve kaydettiklerim bunlar)  :) /> :

There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.

The following message may help in diagnosing the problem: Unable to initialize provider. Missing or incorrect schema. (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 145)

Ayrıca aşağıdaki linkler çok faydalı oldu. Ortadaki link en faydalısı (tümü İngilizce kaynaklardır):

www.dotnetsurfers.com
blog.nolanbailey.com
forums.asp.net

asp.Net Mysql Connection

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

I get this error while I’m using “MySQL ODBC 5.1 Driver” to connect asp.net with MySQL instead of “MySQL ODBC 3.51 Driver”

Code below works great with “MySQL ODBC 3.51 Driver”

Dim sConString As String = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost; DATABASE=hasan;USER=root;PASSWORD=toor; OPTION=3;"
Dim oConnection As OdbcConnection = New OdbcConnection(sConString)
Dim sSQL As String = “SELECT * FROM deneme”
Dim oDataAdapter As OdbcDataAdapter = New OdbcDataAdapter(sSQL, oConnection)
Dim oDataSet As DataSet = New DataSet()
oDataAdapter.Fill(oDataSet)
GridView1.DataSource = oDataSet
GridView1.DataBind()

WordPress.com'dan blog alın. | Tema Motion, volcanic tarafından yapılmıştır.
Follow

Get every new post delivered to your Inbox.