2010-08-13 3 views
2

Приложение, которое я пытаюсь добавить в Azure, было построено в ASP.NET 3.5, и я преобразовал его в 4.0 при перемещении в облако. Все прекрасно работает, пока я пытаюсь добавить этот блок к моей web.config:Невозможно установить jsonSerialization в Azure

<system.web.extensions> 
    <scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="10000000"></jsonSerialization> 
    </webServices> 
    </scripting> 
</system.web.extensions> 

Эта линия вызывает веб-роль придерживаться в Busy состоянии навсегда.

Вот вся web.config:

<?xml version="1.0"?> 
<!-- 
For more information on how to configure your ASP.NET application, please visit 
http://go.microsoft.com/fwlink/?LinkId=169433 
--> 
<configuration> 
<appSettings> 
    ... 
</appSettings> 
<system.diagnostics> 
    <trace> 
    <listeners> 
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
    <filter type="" /> 
    </add> 
    </listeners> 
    </trace> 
</system.diagnostics> 
<connectionStrings> 
    ... 
</connectionStrings> 
<system.web> 
    <customErrors mode="Off"/> 
    <compilation targetFramework="4.0"> 
    <assemblies> 
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
    </assemblies> 
    </compilation> 
    <httpHandlers> 
    <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource" validate="false" /> 
    </httpHandlers> 
</system.web> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
    <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" /> 
    </handlers> 
</system.webServer> 
<system.web.extensions> 
    <scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="10000000"></jsonSerialization> 
    </webServices> 
    </scripting> 
</system.web.extensions> 
</configuration> 

Любые предложения было бы здорово! Опять же, удаление раздела system.web.extensions и все работает отлично (кроме кода, которому требуется переопределенная maxJsonLength).

Я также попытался выполнить локальное развертывание System.Web.Extensions. Иди туда тоже.

Спасибо!

+0

Работает ли он в разработке ткани? – knightpfhor

ответ

1

У меня была та же проблема. Обходной путь от Yi-Lin Luo в this thread сделал это для меня. Это должно быть добавлено в configSections; в противном случае jsonSerialization не будет распознаваться в среде Azure.

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> 
     <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> 
      <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/> 
     </sectionGroup> 
     </sectionGroup> 
    </sectionGroup> 
Смежные вопросы