我对此很陌生,在部署我的网站(带有一些 AJAX 组件的 ASP.net)时遇到问题,并且一直在疯狂地试图找到解释。
通常一切正常,但有一个例外,当从 MS Access 数据库读取/更新/删除时,使用 AJAX HTMLEditor 的页面无法正常工作。我在页面上有其他 AJAX 控件(例如日历扩展器),它们似乎工作正常。我也有带有文本框的文件,它们都正确更新了数据库。
我有 2 个测试环境都运行 IIS 7,并且都可以正常工作。Visual Studio2010 开发测试也可以正常工作。
我怀疑问题出在 IIS 配置或 web.config 设置中。
任何帮助将不胜感激,我几天来一直在寻找答案,并且正在快速接近精神错乱......
提前致谢。
这是当前使用 IIS 7 在我的测试服务器上运行的 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>
<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>