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://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/
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.