简体   繁体   中英

My web.config written on windows xp does not work on iis7

i have a lot of web apps developed with visual studio 2005 , 2008 , 2010 and all developed on windows xp and iis

all these Web apps do not work on iis7 displaying this error

Server Error

500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.

even if i turned the errors to enable detailed errors it still like this

is there a tool to convert these web.config files to work on ii7

i cant change them manually one by one because the are tens of Web Apps

please advice

Example:

                <?xml version="1.0"?>
            <configuration>
              <!-- The configSections define a section for ASP.NET Atlas. -->
              <configSections>
                <section name="TheodoreWebsite.Data" type="TheodoreWebsite.Data.Bases.NetTiersServiceSection, TheodoreWebsite.Data" allowDefinition="MachineToApplication" restartOnExternalChanges="true" />
                <section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common,  Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
                <sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">
                  <section name="converters" type="Microsoft.Web.Configuration.ConvertersSection" requirePermission="false" />
                  <section name="webServices" type="Microsoft.Web.Configuration.WebServicesSection" requirePermission="false" />
                  <section name="authenticationService" type="Microsoft.Web.Configuration.AuthenticationServiceSection" requirePermission="false" />
                  <section name="profileService" type="Microsoft.Web.Configuration.ProfileServiceSection" requirePermission="false" />
                </sectionGroup>
              </configSections>
              <appSettings/>
              <connectionStrings>
                <add name="TheodoreWebsite.Data.ConnectionString" connectionString="Data Source=server-0278FFE454\SQL2008R2;Initial Catalog=TheodoreWebsite;User ID=sa;Password=qwer1234" />
              </connectionStrings>
                <TheodoreWebsite.Data defaultProvider="SqlNetTiersProvider">
                    <providers>
                <!--
                *** SqlClient Provider ***
                    connectionStringName: sqlclient connection string to the db
                    useStoredProcedure: if true, indicates that we use the stored procedures, otherwise, we use parametrized queries that are embedded.
                -->
                  <add 
                    name="SqlNetTiersProvider" 
                    type="TheodoreWebsite.Data.SqlClient.SqlNetTiersProvider, TheodoreWebsite.Data.SqlClient"
                    connectionStringName="TheodoreWebsite.Data.ConnectionString"
                    useStoredProcedure="false"
                    providerInvariantName="System.Data.SqlClient"
                    entityFactoryType="TheodoreWebsite.Entities.EntityFactory"
                    useEntityFactory="true"
                    enableEntityTracking="false"
                    enableMethodAuthorization="false"
                    defaultCommandTimeout="30"
                    />
                  <!-- 
                    *** WebserviceClient Provider ***
                    The url parameter indicates the webservices url (ex: http://localhost/TheodoreWebsite/TheodoreWebsiteServices.aspx)
                  <add 
                    name="WsNetTiersProvider" 
                    type="TheodoreWebsite.Data.WebServiceClient.WsNetTiersProvider, TheodoreWebsite.Data.WebServiceClient"
                    url="/TheodoreWebsiteServices.asmx"
                    />
                 -->
                    </providers>
                </TheodoreWebsite.Data>
              <!--
                   The microsoft.web section defines items required for the Atlas framework.
              -->
              <microsoft.web>
                <converters>
                  <add type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>
                  <add type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>
                  <add type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>
                </converters>
                <webServices enableBrowserAccess="true" />
                <!--
                     Uncomment this line to enable the authentication service.

                <authenticationService enabled="true" />
                -->
                <!--
                     Uncomment these lines to enable the profile service. To allow profile properties to be retrieved 
                     and modified in Atlas applications, you need to add each property name to the setProperties and 
                     getProperties attributes.  If you intend for all properties to be available, you can use "*"
                     as a shorthand rather than enumerating each property

                <profileService enabled="true" 
                                setProperties="propertyname1;propertyname2" 
                                getProperties="propertyname1;propertyname2" />
                -->
              </microsoft.web>
              <system.web>
                <pages theme="default">
                  <controls>
                    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
                    <add tagPrefix="data" namespace="TheodoreWebsite.Web.Data" assembly="TheodoreWebsite.Web"/>
                    <add tagPrefix="data" namespace="TheodoreWebsite.Web.UI" assembly="TheodoreWebsite.Web"/>
                  </controls>   
                </pages>
                <!--
                     Set compilation debug="true" to insert debugging 
                     symbols into the compiled page. Because this 
                     affects performance, set this value to true only 
                     during development.
                -->
                <compilation debug="true">
                    <buildProviders>
                        <add extension=".asbx" type="Microsoft.Web.Services.BridgeBuildProvider" />
                    </buildProviders>
                    <assemblies>
                        <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                    </assemblies>   
                </compilation>
                <!--
                     ASMX is mapped to a new handler so that proxy javascripts can also be served.
                -->
                <httpHandlers>
                  <remove verb="*" path="*.asmx"/>
                  <add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory" validate="false"/>
                  <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"/>      
                  <!--
                       The MultiRequestHandler enables multiple requests to be handled in one
                       roundtrip to the server. Its use requires Full Trust.
                  -->
                  <add verb="*" path="atlasbatchcall.axd" type="Microsoft.Web.Services.MultiRequestHandler" validate="false"/>
                  <add verb="*" path="atlasglob.axd" type="Microsoft.Web.Globalization.GlobalizationHandler" validate="false"/>
                  <add verb="*" path="*.asbx" type="System.Web.Script.Services.ScriptHandlerFactory" validate="false"/>
                  <!--
                       The IFrameHandler enables a limited form of cross-domain calls to 'Atlas' web services.
                       This should only be enabled if you need this functionality and you're willing to expose
                       the data publicly on the Internet.
                       To use it, you will also need to add the attribute [WebOperation(true, ResponseFormatMode.Json, true)]
                       on the methods that you want to be called cross-domain.
                       This attribute is by default on any DataService's GetData method.

                    <add verb="*" path="iframecall.axd" type="Microsoft.Web.Services.IFrameHandler" validate="false"/>
                  -->
                </httpHandlers>
                <httpModules>
                  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                  <add name="EntityTransactionModule" type="TheodoreWebsite.Web.Data.EntityTransactionModule, TheodoreWebsite.Web"/>
                </httpModules>
                <!--
                      The <authentication> section enables configuration 
                      of the security authentication mode used by 
                      ASP.NET to identify an incoming user. 

                  <authentication mode="Windows"/>
                -->
                <!--
                      The <customErrors> section enables configuration 
                      of what to do if/when an unhandled error occurs 
                      during the execution of a request. Specifically, 
                      it enables developers to configure html error pages 
                      to be displayed in place of a error stack trace.

                  <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                      <error statusCode="403" redirect="NoAccess.htm"/>
                      <error statusCode="404" redirect="FileNotFound.htm"/>
                  </customErrors>
                -->
              </system.web>
              <!-- Uncomment this if your site globally denies access to anonymous users.  The 
                   authentication service and profile service are located under the virtual
                   "ScriptServices" directory.  Since you normally call the authentication web
                   service with an un-authenticated user, the following location tag can be used
                   to grant access to anonymous users.  If you use anonymous profile support
                   you will also need to grant access to anonymous users. -->
              <!--
              <location path="ScriptServices">
                <system.web>
                  <authorization>
                    <allow users="*" />
                  </authorization>
                </system.web>    
              </location>
              -->
                <enterpriseLibrary.ConfigurationSource selectedSource="File Configuration Source">
                  <sources>
                    <add name="File Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common,  Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                        filePath="entlib.config" />
                  </sources>
                </enterpriseLibrary.ConfigurationSource>
            </configuration>

It should not throw error if it is written older version of Visual Studio. New IIS version supports backward compatibility. You can try this option if you have 32 bit application,

'Enable 32 bit Application' from 'Application Pool' advance settings which will enable 32bit mode 'Worker Process'. Check the following links.

http://blogs.msdn.com/b/rakkimk/archive/2007/11/03/iis7-running-32-bit-and-64-bit-asp-net-versions-at-the-same-time-on-different-worker-processes.aspx

http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

http://forums.iis.net/p/1152526/1882555.aspx

Try to browse your website from IIS. And check what error are you getting there.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM