2012-02-16 12 views
15

I 30 MB daha büyük bir bayt dizisi geçmek her, hata olsun,IIS7 - bir 404.13 ile başarısız webRequest istek parametreleri boyutu 30mb

[WebMethod] 
public int myWebMethod(string fileName, Byte[] fileContent) 

Ancak basit WebMethod sahip aştığında

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> </compilation> 
    <authentication mode="Windows" /> 
    <httpRuntime useFullyQualifiedRedirectUrl="true" 
       maxRequestLength="102400" requestLengthDiskThreshold="102400" 
    /> 
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" /> 
    </system.web> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="104857600"/> 
     </requestFiltering> 
    </security> 
    </system.webServer> 
</configuration> 
Etrafa aradık

ve inci en yaygın nedeni şu şekildedir:

HTTP Error 404.13 - Not Found The request filtering module is configured to deny a request that exceeds the request content length.

Benim web.config olduğunu Sorun, varsayılan olarak 30MB olmak üzere maxAllowedContentLength özelliğidir. Bununla birlikte, bunu httpRuntime için maxRequestLength özelliğinin yanı sıra 100mb olarak ayarladım.

Yukarıda denediğim özelliklerden birini belirlemeyen bir çözüm bulamıyorum. Kaçırdığım bir şey var mı?

+0

Bu benim 7'de de oluyor: Gerçekten bunun bir çözüm bulunmayan bir IIS hatası olduğuna inanıyorum. SO: http://stackoverflow.com/questions/16365483/iis-7-5-mercurial-setup-ignoring-maxallowedcontentlength IIS Forumları: http://forums.iis.net/post/set/1043/1197751/2049386 – jocull

+0

Benim için buradaki problem gerçekten SSL ile - normal HTTP üzerinden her şey beklendiği gibi cevap veriyor. Ancak, SSL açıldıktan sonra askıda kalmaya başlar. – jocull

+0

Burada belgelenen SSL ile bir IIS uyumsuzluğu var mümkündür: https://bitbucket.org/tortoisehg/thg/issue/2593/cant-push-over-30mb-to-iis-via-https - Keşfetmek için ne acı !!! – jocull

cevap

8

Sorunun web.config dosyasında yapılan ayarlar ApplicationHost.config ve machine.config dosyalar hem mevcut ayarları tekabül yerini olabileceğini aslında yalan olabilir.

bu erişiminiz varsa ilgili bölümlerin overrideModeDefault mülkiyet İzin olarak belirlendiyse, aşağıdaki örnekte olduğu gibi, kontrol edin:

<requestFiltering overrideModeDefault="Allow"> <requestLimits maxAllowedContentLength="104857600"/> </requestFiltering> 

machine.config

AFAIK hiçbir yolu yoktur İlgili konfigürasyon dosyasına erişiminiz yoksa bu ayarları geçersiz kılmak için ve çok benzer bir durum here -

Sen here, here ve here geçersiz sistem genelinde yapılandırması ve ayarları hakkında daha fazla bilgi bulabilirsiniz.

-1

Bu oldukça eskidir. Ama bugün aynı problemim var. Bunu düzeltmek için, web.config dosyasında gerekli ayar değişikliklerini yapmanız ve ardından web sunucusuna dağıtmanız gerekir. Önemli olan, uygulamanızı web sunucusuna yeniden dağıtmanız gerektiğidir. Bunu yaparak, IIS ayarları sizin için güncelleştirilir. Dağıtımınızı nasıl yaptığınıza bağlı olarak, web uygulamanızı önce web sunucusundan silmeniz ve sonra yeniden dağıtmanız gerekebilir. Web.config dosyasının güncellenmesi sorunu çözmeyecek. Umarım bu aynı sorunu olan diğerlerine yardımcı olur.

İlgili konular