AJAX HTMLEditor не работает на производственном сервере, но работает на dev envt - PullRequest
1 голос
/ 30 ноября 2011

Я новичок в этом, и у меня возникла проблема с развертыванием моего веб-сайта (ASP.net с некоторыми компонентами AJAX), и я схожу с ума, пытаясь найти объяснение.

Обычно все работает с одним исключениемстраницы, использующие AJAX HTMLEditor, не работают при чтении / обновлении / удалении из базы данных MS Access.У меня есть другие элементы управления AJAX на страницах (например, расширитель календаря), которые работают нормально.У меня также есть поля с текстовыми полями, которые корректно обновляют базу данных.

У меня есть 2 тестовые среды, обе работают под управлением IIS 7, и обе работают так, как должны.Тестирование разработки Visual Studio2010 также работает правильно.

Я подозреваю, что проблема заключается в конфигурации IIS или настройках web.config.

Любая помощь будет оценена, я ищу ответы нанесколько дней и я быстро приближаюсь к безумию ...

Заранее спасибо.

Это файл web.config, который в настоящее время работает на моем тестовом сервере с использованием IIS 7.

<configuration>
    <connectionStrings>
        <remove name="LocalSqlServer" />
        <add name="CI1ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data          Source=|DataDirectory|CI1.mdb"
    providerName="System.Data.OleDb" />
        <add name="AppCtlConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=|DataDirectory|CI1AppCtl.mdb"
    providerName="System.Data.OleDb" />
        <add name="SurveyConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=|DataDirectory|CI1Surveys.mdb"
    providerName="System.Data.OleDb" />
        <add name="LogFileConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=|DataDirectory|CI1SystemLogs.mdb"
    providerName="System.Data.OleDb" />
    </connectionStrings>

    <system.web>
        <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
        <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"
    enableEventValidation="false" viewStateEncryptionMode="Never" enableViewStateMac="false" >
            <controls>
                <add tagPrefix="asp" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
            </controls>
        </pages>
        <httpModules>
            <add name="EOWebRuntime" type="EO.Web.Runtime,EO.Web"/>
        </httpModules>
        <httpHandlers>
        </httpHandlers>

        <sessionState mode="InProc" timeout="120" />

        <identity impersonate="false" />
        <trust level="Full" />
        <customErrors defaultRedirect="CTL_Problem.aspx" />
        <compilation batch="true" batchTimeout="900" debug="true" defaultLanguage="c#" explicit="true" numRecompilesBeforeAppRestart="15" strict="false" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        </assemblies>
        </compilation>
        <globalization culture="en-AU" enableClientBasedCulture="true" uiCulture="en-AU" />
    </system.web>

    <system.net>
        <mailSettings>
            <smtp>
                <network defaultCredentials="true" host="localhost" />
            </smtp>
        </mailSettings>
    </system.net>

    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true" />
        <defaultDocument>
        <files>
            <clear />
            <add value="default.aspx" />
            <add value="index.aspx" />
        </files>
        </defaultDocument>
    </system.webServer>

    <location path="Styles/Site.css">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="data">
        <system.web>
            <authorization>
                <deny users="?" />
            </authorization>
        </system.web>
    </location>
    <location path="functions">
        <system.web>
            <authorization>
              <deny users="?" />
            </authorization>
        </system.web>
    </location> 
</configuration> 

Хорошо. Я провел еще несколько исследований и обновил свой файл web.config (см. Ниже).Теперь поведение позволяет странице читать данные (но не каждый раз) и обновлять базу данных (вставлять и обновлять) случайным образом.Серьезно странно, как обновление работает при каждой второй попытке.

В любом случае, вот новый web.config ..... Спасибо за любую возможную помощь.

<configuration>    
  <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="CI1ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|CI1.mdb" providerName="System.Data.OleDb" />
    <add name="AppCtlConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|CI1AppCtl.mdb" providerName="System.Data.OleDb" />
    <add name="SurveyConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|CI1Surveys.mdb" providerName="System.Data.OleDb" />
    <add name="LogFileConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|CI1SystemLogs.mdb" providerName="System.Data.OleDb" />
  </connectionStrings>

  <system.web>
    <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false" enableEventValidation="false" viewStateEncryptionMode="Never" enableViewStateMac="false">
      <controls>
          <add tagPrefix="asp" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
      </controls>
    </pages>

      <httpHandlers>
          <remove verb="*" path="*.asmx"/>
          <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add verb="GET,HEAD" path="ScriptResource.axd" type= "System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
      </httpHandlers>

      <httpModules>
          <add name="EOWebRuntime" type="EO.Web.Runtime,EO.Web" />
          <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </httpModules>

      <sessionState allowCustomSqlDatabase="true" cookieless="UseCookies" mode="SQLServer" sqlCommandTimeout="600" 
        sqlConnectionString="Data Source=tcp:s05.winhost.com;Initial Catalog=DB_25270_blackrobot;User ID=DB_25270_blackrobot_user;Password=itstime2work;Integrated Security=False;" timeout="120">
    </sessionState>

    <identity impersonate="false" />
    <trust level="Full" />
    <customErrors defaultRedirect="CTL_Problem.aspx" />
    <compilation batch="true" batchTimeout="900" debug="true" defaultLanguage="c#" explicit="true" numRecompilesBeforeAppRestart="15" strict="false" targetFramework="4.0">
      <assemblies>
          <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
          <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
          <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <globalization culture="en-AU" enableClientBasedCulture="true" uiCulture="en-AU" />
  </system.web>

  <system.net>
    <mailSettings>
      <smtp>
        <network defaultCredentials="true" host="localhost" />
      </smtp>
    </mailSettings>
  </system.net>

  <system.webServer>
      <validation validateIntegratedModeConfiguration="false" />
      <modules runAllManagedModulesForAllRequests="true" >
          <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </modules>
      <handlers>
          <remove name="WebServiceHandlerFactory-Integrated"/>
          <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </handlers>

      <urlCompression doDynamicCompression="true" />
      <rewrite>
          <rules>
              <rule name="cwme.org.au" stopProcessing="true">
                  <match url=".*" />
                  <conditions>
                      <add input="{HTTP_HOST}" pattern="^(www.)?cwme.org.au" />
                      <add input="{PATH_INFO}" pattern="^/Amna/" negate="true" />
                  </conditions>
                  <action type="Rewrite" url="\Amna\{R:0}" />
              </rule>
          </rules>
      </rewrite>

      <defaultDocument>
      <files>
        <clear />
          <add value="default.aspx" />
          <add value="index.aspx" />
      </files>
    </defaultDocument>
  </system.webServer>

  <location path="Styles/Site.css">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
  <location path="data">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>
  <location path="functions">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>
</configuration>

1 Ответ

1 голос
/ 01 декабря 2011

ARGH Я нашел проблему и решил ее.После исчерпывающего исследования выяснилось, что распределение ресурсов на моем хосте истощается.Обновлен план хостинга, удвоено выделенное количество памяти, и проблема решена!

$ 100 в год, намного дешевле, чем psycho doc!

...