2010-01-26 17 views
18

Not: Yanıt için saatlerce kazma yaptım ve bulamadım.ASP.NET MVC + IIS7 + FireFox: URL'de satır sonu işareti

IIS7'de (tümleşik mod) bulunan bir ASP.NET MVC (2.0) uygulamasına sahibim.

GET isteği /Toons/List olarak yapıldığında - beklenen bir yönlendirme (302) için /Toons/List/.

Ben POST isteği gönderdiğinizde
Ama /Toons/Add söylemek SORUN yine sunucu döner (hiçbir eğik çizgi fark) /Toons/Add/ için (302) yönlendirir. Bu noktada, FireFox, bu yönlendirme URL'sine yanlışlıkla GET isteği gönderir. Yani [POST] /Toons/Add/ yerine [GET] /Toons/Add/. Bu yanlış, ancak bilinen bir davranış. /Toons/Add/'da [GET] olmadığı için - kaynak bulunamadı (404).

Uygulamamı webhost4life ile birlikte barındırıyorum ve URL yeniden yazmayı ve modülleri kullanmayı sınırlayan IIS7'ye erişimim yok (bu konuda çalışmak için onlarla çalışıyorum). Ancak, ISAPI'den daha iyi gitmek için en iyi yol nedir? Bunu bu şekilde yapmak konusunda iyi hissetmek için yeterince bilmiyorum. Bu yaygın bir sorun olmalı, bunun için kolay bir çözüm bulamadığım için şaşırdım.

.aspx/.mvc son ekini ve URL yeniden yazmayı kullanmayı içermeyen bir çözüm var mı?
Bu ikisiden, zorundaysam hangisini tercih etmeliyim?

Herhangi bir fikir/öneriniz var mı?

DÜZENLEME: Dediğim gibi ben http://www.hanselman.com/blog/ASPNETMVCAndTheNewIIS7RewriteModule.aspx okudum
, ben daha kolay bir çözüm, bir "Sadece Work" seçeneğini bulmaya çalışıyorum.

DÜZENLEME:
Her URL'ye çizgi (/) ekleyerek ile görülen çözüm yine en şık çözüm olarak görünmüyor.

+1

Bize bu yolla ilgili yolları ve ilgili Eylem yöntemlerini gösterir misiniz? –

+0

İstek/Toons/List için istekte bulunulduğunda 302 to/Toons/List/Listeye neden olan şey hakkında biraz kafam karıştı. Yolları yayınlamak için +1 veya 302'ye neden olan her şey ve neden bekleniyor? –

+0

sorunu bir noktada ortadan kalktı, bunun nedenini bilmiyorum. –

cevap

0

IIS'ye 302 yerine 307 döndürmesini söyleyebilir misiniz?

0

HttpVerbs yayını kabul etmek için denetleyicide eylem yöntemini ayarladınız mı? Ayrıca/Toons/Add için MVP'yi Global.asax'ta bir rota ayarlamayı deneyebilirsiniz. Bu nedenle MVC/controller/Method/

1

Bağlanırken gerçek URL/rota kullanıyor olmalısınız. Hosting ortamının veya MVC çerçevesinin 2.0 sürümünün bir sınırlaması nedeniyle eğik çizgiyi kaldıramazsanız, URL'lerinizdeki izleyen eğik çizgiyi eklemeniz gerekir.

Her URL'yi yönlendirmek için sunucuya güvenmek sunucu işlem süresini ve sayfa yükleme süresini artırır.