msHOWTO

10 Temmuz 2013 Çarşamba

web service parser error could not create type .net framework 4.0

Merhaba arkadaşlar ,

bugün web servisler ile ilgili yaşadığım sorunu ve çözümü sizlerle paylaşacağım . Öncelikle durum şudur ; E-Ticaret sisteminin içerisinde Web Service projesi oluşturdum. Gerekli kodları yazdım . Yayında olan E-Ticaret sisteminin ftp server ına servislerimi yukleyecektim. Web Servis projeme sağ tıklayıp Publish dedikten sonra oluşturduğu dosyaları ftp nin içerisine attım . Ftp nin içerisinde Web Projem de olduğu için bu projenin bin klasorü de mevcut idi. Daha sonra bir klasor altına Web Service projemin publish dosyalarını upload ettim. Ornegin : http://www.xxx.com/Servisler/servisadi.asmx olarak browser a girdiğimde karşıma ;

<%@ WebService Language="C#" CodeBehind="servisadi.asmx.cs" Class="BHI.Rats.servisadi" %>

şeklinde bir hata çıktı. Bu hatanın sebebi ise , ftp nin içerisinde Web Projemin oluşturduğu var olan bin klasörü ile Servisler klasörünün içinde bulunan bin klasörünün karışıklık oluşturmasıdır. Yani ben http://www.xxx.com/Servisler/servisadi.asmx olarak ilgili servisi çağırdığımda ilk olarak ana dizindeki bin klasörünün içerisinde servis projemin dll dosyasını arayıp bulamadı için bu şekilde bir hata meydana gelmektedir.

Çözüm ise çok basit . Ana dizindeki bin klasörüne web service projenizin .dll dosyasını atmanı ve çalıştırmanız yeterli olacaktır.Yani kısaca class property sinde yazdığınız classı bu bin klasöründe bulunan dll dosyasında aramasıdır.

6 Temmuz 2013 Cumartesi

Asp.Net Web Sitemde Routing Çalışmıyor. Asp.Net Routing Ayarları

Merhaba arkadaşlar. Bugün sizlere ASP.NET ile web sitesi geliştirdiğiniz projelerinizde eğer Routing kullanırsanız yüksek ihtimalle karşılaşacağınız sorunun çözümünü paylaşacağım. İlk olarak routing yapısını kullandıysanız hosting panelinizden ASP.NET ayarlarından Pipeline Mode ayarını Classic den INTEGRATED olarak kaydetmeniz gerekecektir. Gerekli olan hosting ayarını yaptıktan sonra ise Web Site projeniz içerisinde bulunan Web.config dosyanıza Configuration tag ları arasına aşağıdaki configuration satırlarını eklemeniz gerekecektir.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule"/>
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
    <handlers>
      <add
        name="UrlRoutingHandler"
        preCondition="integratedMode"
        verb="*" path="UrlRouting.axd"
        type="System.Web.HttpForbiddenHandler, System.Web, 
              Version=2.0.0.0, Culture=neutral, 
              PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
  </system.webServer>

Tüm yapmanız gereken bu kadar. Eğer hosting panelinizde bahsettiğim ayarı bulamazsanız mutlaka hosting firmanızla iletişime geçiniz. Bu ayarı yapmazsanız eğer sisteminiz tekrar 404 hatası verecektir.

Umarım faydalı olmuştur.