Частный сервер NuGet :Слишком большой объект запроса

У нас есть внутренний сервер NuGet (Приложение ASP.net, использующее пакет NuGet.Server ), и мы хотим использовать его с Octopus для развертывания пакетов. Итак, первое, на что вы обращаете внимание, это то, что пакеты слишком велики.

Когда вы отправляете пакет размером более 7 МБ, вы получаете :Не удалось обработать запрос. «Слишком большой объект запроса». Удаленный сервер вернул ошибку:(413 )Объект запроса слишком велик..

Основываясь на документации Octopus, я обновил файл web.config, чтобы внести изменения.

<configuration>
    <configSections>
        <sectionGroup name="elmah">
            <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
            <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
            <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
            <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
        </sectionGroup>
    </configSections>
    <system.web>
        <compilation debug="true" targetFramework="4.0"/>
        <httpModules>
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
            <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
        </httpModules>
        <httpRuntime maxRequestLength="419430400" executionTimeout="3600"/>
    </system.web>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true">
            <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler"/>
            <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler"/>
            <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler"/>
        </modules>
        <staticContent>
            <mimeMap fileExtension=".nupkg" mimeType="application/zip"/>
        </staticContent>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="419430400"/>
            </requestFiltering>
        </security>
    </system.webServer>
    <elmah>
        <security allowRemoteAccess="false"/>
        <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data"/>
    </elmah>
    <location path="elmah.axd" inheritInChildApplications="false">
        <system.web>
            <httpHandlers>
                <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
            </httpHandlers>
        </system.web>
        <system.webServer>
            <handlers>
                <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
            </handlers>
        </system.webServer>
    </location>
    <appSettings>
        <add key="apiKey" value="KeyHere"/>
        <add key="packagesPath" value=""/>
    </appSettings>
    <system.serviceModel>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
</configuration>

Это не работает. В других сообщениях говорится о запуске чего-то вроде (IIS7 ):appcmd.exe set config -section :system.webServer/serverRuntime /uploadReadAheadSize :«419430400» /commit :apphost

или (IIS6 ):cscript adsutil.vbs набор w3svc/1/uploadreadaheadsize 419430400

Я пробовал оба безрезультатно. Ни одна из команд не вернула ошибку, поэтому я предполагаю, что значение «419430400» верно для всех вызовов (байт по сравнению с какой-либо другой единицей размера ).

Кто-нибудь знает, что мне не хватает?

В итоге я просто скопировал пакет в общий ресурс на веб-сервере, но мне бы очень хотелось, чтобы команда push работала.

Спасибо.

17
задан Tyrel Van Niekerk 29 June 2012 в 15:45
поделиться