issues after deployment to staging server

Vote:
 

Hi,

We developed our site on IIS7, but due to hosting restrictions we had to deploy to a server with IIS6.
We eventually (after much tweaking of config files) got the site running.

However, we are having issues loading into admin/edit mode.

If we type httlp://www.sitename.com/webui/ we get a 404 page.

However, if we type /Util/login.aspx the login page loads, and we can login.

We then get to:

/webui/CMS/edit/default.aspx

It’s seems that it’s just the auto-redirect form the /webui/ to the login page/admin mode that isn’t working

#44260
Oct 07, 2010 16:13
Vote:
 

Any ideas on this one?

#44324
Oct 08, 2010 13:17
Vote:
 

Not really sure, but.. Is default.aspx a default document in IIS? Have you added the wildcardmapping for the isapi-module?

#44325
Edited, Oct 08, 2010 14:13
Vote:
 

I think there might be something wrong with the location elemnts path attribute in web.config.

#44327
Edited, Oct 08, 2010 14:28
Vote:
 

I think it has something to do with something wrong in the path attributes of the edit/admin mode location elements.

#44341
Oct 09, 2010 19:02
Vote:
 

My location elemetns are as follows:

I checked all the config settings, and nothing seems wrong?

<location path="webui">
        <system.web>
            <httpRuntime maxRequestLength="1000000"/>
            <pages enableEventValidation="true">
                <controls>
                    <add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI"/>
                    <add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer"/>
                    <add tagPrefix="EPiServerScript" namespace="EPiServer.UI.ClientScript.WebControls" assembly="EPiServer.UI"/>
                </controls>
            </pages>
            <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
            <authorization>
                <allow roles="WebEditors, WebAdmins, Administrators"/>
                <deny users="*"/>
            </authorization>
        </system.web>
        <system.webServer>
            <handlers>
                <clear/>
                <add name="webresources" path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader"/>
                <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304"/>
                <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304"/>
                <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304"/>
                <add name="wildcard" path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer"/>
            </handlers>
        </system.webServer>
    </location>
    <location path="webui/CMS/admin">
        <system.web>
            <authorization>
                <allow roles="WebAdmins, Administrators"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>

 

#44375
Oct 11, 2010 13:38
Vote:
 

Are you using Windows 32bit on development and deployment? If not carefully check the paths in the <virtualPath> element in episerver.config file and ensure they all correspond to actual folder locations.

#44419
Oct 11, 2010 16:29
Vote:
 

Thanks David,

I believe we are using Windows 32bit..

I am new to dealing with deployments, but I have checked the server, and it's running on Windows Server 2003 R2 (no mention of 64bit, or 32bit for that matter).

The VirtualPath element is below:

Should I create all the folders for real and not use the physicalpath?

What directories should I actually create/copy, and what should I be removing from the config file?

Cheers
Danny

<virtualPath customFileSummary="~/FileSummary.config">
    <providers>
      <clear />
      <add showInFileManager="false" virtualName="Page Files" virtualPath="~/PageFiles/" bypassAccessCheck="false" name="SitePageFiles" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" indexingServiceCatalog="Web" physicalPath="C:\Inetpub\fantasticthinking\websites\VPP\PageFiles" />
      <!--<add showInFileManager="false" virtualName="Virtual Path Mappings" virtualPath="~/upload/"
            bypassAccessCheck="false" name="SitePathMappings" type="EPiServer.Web.Hosting.VirtualPathMappedProvider,EPiServer" />-->
      <add showInFileManager="true" virtualName="Global Files" virtualPath="~/Global/" bypassAccessCheck="false" name="SiteGlobalFiles" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" indexingServiceCatalog="Web" physicalPath="C:\Inetpub\fantasticthinking\websites\VPP\Global" />
      <add showInFileManager="true" virtualName="Documents" virtualPath="~/Documents/" bypassAccessCheck="false" maxVersions="5" name="SiteDocuments" type="EPiServer.Web.Hosting.VirtualPathVersioningProvider,EPiServer" physicalPath="C:\Inetpub\fantasticthinking\websites\VPP\Documents" />
      <!--
        <add showInFileManager="true" virtualName="Global Files" virtualPath="~/Global/"
          bypassAccessCheck="false" indexingServiceCatalog="Web" physicalPath="%EPISERVERFILESDIR%\EPiServerFiles\Globals"
          name="SiteGlobalFiles" type="EPiServer.Web.Hosting.VirtualPathNativeProvider,EPiServer"
          WriteAccess="Administrators" DeleteAccess="Administrators" />
        -->
      <add name="App_Themes_Default" virtualPath="~/App_Themes/Default/" physicalPath="C:\Program Files\EPiServer\CMS\6.0.530.0\application\App_Themes\Default" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
      <add name="UI" virtualPath="~/webui/CMS/" physicalPath="C:\Program Files\EPiServer\CMS\6.0.530.0\application\UI\CMS" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
      <add name="UtilFiles" virtualPath="~/Util/" physicalPath="C:\Program Files\EPiServer\CMS\6.0.530.0\application\util" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
      <add name="WebServiceFiles" virtualPath="~/WebServices/" physicalPath="C:\Program Files\EPiServer\CMS\6.0.530.0\application\webservices" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
      <add name="EPiServerCMS" virtualPath="~/webui/CMS" physicalPath="C:\Program Files\EPiServer\CMS\6.0.530.0\application\UI\EPiServer\CMS" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
      <add name="EPiServerShell" virtualPath="~/webui/Shell" physicalPath="C:\Program Files\EPiServer\Framework\6.0.318.113\Application\UI" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider,EPiServer" />
    </providers>
    <filters />
  </virtualPath>
    

 

#44430
Edited, Oct 11, 2010 17:51
Vote:
 

Danny

This certainly seems strange. Once you've logged in can you get to the EPiServer dashboard at  httlp://www.sitename.com/webui/

#44435
Oct 11, 2010 18:13
Vote:
 

Right, here is what's happening.

  1. I goto the site, having NOT previously logged in that session.
  2. I goto httlp://www.sitename.com/webui/
  3. At this point, I AM redirected to the logon screen.
  4. I enter my creditials, and hit login
  5. At this point I am redirected back to httlp://www.sitename.com/webui/ but this time, I get the 404 page
  6. I am navigate to httlp://www.sitename.com/webui/CMS/Edit/Default.aspx and the CMS then loads

So, it's an issue with hitting just /webui/ after I have logged in?

#44436
Oct 11, 2010 18:19
Vote:
 

if it helps, this is my Sitesettings tag:

 

      <siteSettings enableScheduler="true" enableEvents="true" enableRemoteEvents="true" errorMailHandler="~/util/SendErrorReport.aspx" globalErrorHandling="Off" globalErrorMail="" httpCacheExpiration="0:0:0" httpCacheability="Public" httpCacheVaryByCustom="path" httpCacheVaryByParams="id,epslanguage" indexingDelayAfterPublish="0:0:20" indexingTextRegExp="[\p{N}\p{L}]{1}[\p{N}\p{L}-\._]*[\p{N}\p{L}]{1}" logServiceUrl="soap.tcp://localhost/TimeSpanAnalyzerView" mirroringFileWriteRetryDelay="0:0:5" mirroringHtmlTextEncoding="" mirroringRetries="5" mirroringRetryDelay="0:0:1" pageCacheSlidingExpiration="12:0:0" pageFolderVirtualPathProvider="SitePageFiles" pageOfficeStartId="0" pageRootId="1" pageStartId="3" pageUseBrowserLanguagePreferences="false" pageValidateTemplate="false" pageWastebasketId="2" remoteCacheListenerShortNames="" remotePageCacheSlidingExpiration="2:0:0" remoteWebServiceCulture="0" sgmlParserDecodeCharEntities="false" stringCompressionThreshold="0" stringDelayedLoadThreshold="0" subscriptionHandler="EPiServer.Personalization.SubscriptionMail,EPiServer" uiDefaultPanelTab="0" uiEditorColors="" uiEditorCssPaths="" uiEditorHeight="250" uiEditorValueOptions="0" uiEditorWidth="500" uiImageTransparencyReplacement="White" uiKeepUserLoggedOn="true" uiMaxVersions="0" uiOptimizeTreeForSpeed="false" uiSafeHtmlTags="b,i,u,br" uiShowGlobalizationUserInterface="true" uiTheme="" uiVersionMerging="true" urlRewriteExtension="" urlRebaseKind="ToRootRelative" operationCompatibility="None" siteDisplayName="PublicTemplates" siteUrl="http://mysite.co.uk/" uiUrl="~/webui/CMS/" utilUrl="~/util/" />

#44437
Oct 11, 2010 18:27
Vote:
 

In that case it sounds like a specific problem with Online Centre. Check that the following folders are the exactly same as on your development machine(s):

C:\Program Files\EPiServer\Framework\6.0.318.113\Application

C:\Program Files\EPiServer\Framework\6.0.318.113\bin

C:\Program Files\EPiServer\CMS\6.0.530.0\Application

C:\Program Files\EPiServer\CMS\6.0.530.0\bin

And that ASP.net has read access to the folders. I've heard of scenarios where they are not the same and can cause problems.

#44438
Oct 11, 2010 18:28
Vote:
 

Thanks David,

Right, I can confirm that all the above 4 directories exist (I copied each one and tested).

I also added the ASPNET User to the folder, again no success.

Finally, I added EVERYONE (not ideal, just to test), and again no success...

#44439
Edited, Oct 11, 2010 18:33
Vote:
 

Try changing the <handlers> element to <httpHandlers> and place it in the <system.web> element in the <location path="webui"> element as follows:

  <location path="webui">
    <system.web>
      <httpHandlers>
        <clear />
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
        <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="true" />
        <add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
        <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
      <httpRuntime maxRequestLength="1000000"/>
      <pages enableEventValidation="true">
        <controls>
          <add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI"/>
          <add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer"/>
          <add tagPrefix="EPiServerScript" namespace="EPiServer.UI.ClientScript.WebControls" assembly="EPiServer.UI"/>
        </controls>
      </pages>
      <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
      <authorization>
        <allow roles="WebEditors, WebAdmins, Administrators"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
    

 

 

#44440
Edited, Oct 11, 2010 18:44
Vote:
 

Ps this removes the system.webServer element which is specific to IIS7

#44441
Oct 11, 2010 18:46
Vote:
 

Pps updated the 18:44 post to include the IIS 6 handlers :)

#44442
Oct 11, 2010 18:54
Vote:
 

Thanks David,

What do you mena by IIS6 handlers? What should I change?

Thanks
Danny

#44443
Oct 11, 2010 19:06
Vote:
 

If you copy the config section (shown as a code block) I posted two posts ago over your <location path="webui"> element you posted then things should work. Basically your config file would work on IIS7 but not on IIS6. 

#44444
Oct 11, 2010 19:13
Vote:
 

I tried updating the config file as you suggest, but I am still getting the 404 error.

Is there an offical EPIserver IIS6 web.config file we can get anywhere?
Do you have any other suggestions as to what I can do?

#44460
Oct 12, 2010 9:33
Vote:
 

Could it be an MVC problem? I mean, both the login page and the CMS edit page are webforms, but the online center is an MVC view, or is it just the gadgets? Have you got the following httpModule?

<add name="ShellRoutingModule" type="EPiServer.Shell.Web.Routing.ShellRoutingModule, EPiServer.Shell"/>

#44461
Oct 12, 2010 9:53
Vote:
 

I think it's just the gadgets, but I could be wrong..

However, I do have the httpModule you mention.
The system only seems to recognise the /webui/ when you are not logged in, which is just strange?

#44462
Oct 12, 2010 9:57
Vote:
 

Hello Danny

 

You are correct that the dashboard and gadgets are both MVC. The reason that you don't get the error when not logged in is the fact that ASP.net is protecting the directory. Before ASP.net routes any requests it will check if the user is authenticated first and send them off to a log in screen. Once signed it the request is routed but obviously something is missing/misconfigured. I'd suggest trying a clean install of CMS 6 with the EPiServer public templates on Server 2003 then see the config it creates. I'm not in the office at the moment but will supply a web.config I know works on Server 2003/IIS 6 so you can check over.

 

David

#44464
Oct 12, 2010 10:24
Vote:
 

OK guys here is a web.config that I know is currently working on Windows Server 2003 / IIS 6. Danny I hope you can use this to see the correct configuration?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <section name="workflowRuntime" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <section name="wftools.services.common.ado" type="WFTools.Services.Common.Ado.Configuration.CommonAdoProviderSettings,EPiServer.WFTools.Services" />
    <section name="wftools.services.persistence.ado" type="WFTools.Services.Persistence.Ado.Configuration.PersistenceAdoProviderSettings,EPiServer.WFTools.Services" />
    <section name="wftools.services.tracking.ado" type="WFTools.Services.Tracking.Ado.Configuration.TrackingAdoProviderSettings,EPiServer.WFTools.Services" />
    <section name="episerver" type="EPiServer.Configuration.EPiServerSection, EPiServer.Configuration, Version=6.0.530.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7" restartOnExternalChanges="false" />
    <section name="staticFile" type="EPiServer.Configuration.StaticFileSection, EPiServer.Configuration" allowLocation="true" />
    <section name="episerver.baseLibrary" allowDefinition="MachineToApplication" allowLocation="false" type="EPiServer.BaseLibrary.ConfigurationHandler,EPiServer.BaseLibrary" />
    <section name="episerver.basicAuthentication" type="EPiServer.Configuration.BasicAuthenticationSection, EPiServer.Configuration" allowLocation="true" />
    <sectionGroup name="episerverModules">
    </sectionGroup>
    <section name="episerver.shell" type="EPiServer.Shell.Configuration.EPiServerShellSection, EPiServer.Shell" />
    <section name="episerver.dataStore" type="EPiServer.Data.Configuration.EPiServerDataStoreSection, EPiServer.Data" />
    <section name="episerver.framework" type="EPiServer.Framework.Configuration.EPiServerFrameworkSection, EPiServer.Framework" restartOnExternalChanges="false" />
  </configSections>
  <episerver configSource="episerver.config" />
  <staticFile expirationTime="12:0:0" />
  <episerver.baseLibrary>
    <classFactories>
      <add type="EPiServer.Implementation.DefaultBaseLibraryFactory, EPiServer.Implementation" id="ContentChannelFactory">
        <register type="EPiServer.ContentChannels.ContentChannelAdministration, EPiServer" mappedType="EPiServer.ContentChannels.ObjectStoreContentChannelAdministration, EPiServer" />
        <register type="EPiServer.BaseLibrary.IContentChannelHandler, EPiServer" mappedType="EPiServer.ContentChannels.ContentChannelHandler, EPiServer" />
      </add>
      <add type="EPiServer.Core.PropertyControlClassFactory, EPiServer" id="PropertyControlFactory">
        <!-- Uncomment the following two lines to get legacy editor in edit mode for PropertyXhtmlString and PropertyLongString-->
        <!--<register type="EPiServer.SpecializedProperties.PropertyXhtmlString, EPiServer" mappedType="EPiServer.Web.PropertyControls.LegacyPropertyXhtmlStringControl, EPiServer" />
        <register type="EPiServer.Core.PropertyLongString, EPiServer" mappedType="EPiServer.Web.PropertyControls.LegacyPropertyXhtmlStringControl, EPiServer" />-->
      </add>
    </classFactories>
  </episerver.baseLibrary>
  <workflowRuntime EnablePerformanceCounters="false">
    <Services>
      <add type="System.Workflow.Runtime.Hosting.DefaultWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" maxSimultaneousWorkflows="5" />
      <!-- Comment the following two lines when running on oracle. -->
      <add type="System.Workflow.Runtime.Hosting.SharedConnectionWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" UnloadOnIdle="true" />
      <!-- Uncomment the following two lines when running on oracle. -->
      <!--<add name="oracle" providerName="Oracle.DataAccess.Client" type="WFTools.Services.Persistence.Ado.AdoPersistenceService, EPiServer.WFTools.Services,Culture=neutral" UnloadOnIdle="true" connectionStringName="EPiServerDB_oracle"/>
      <add type="WFTools.Services.Batching.Ado.AdoWorkBatchService, EPiServer.WFTools.Services" connectionStringName="EPiServerDB_oracle"/>-->
    </Services>
  </workflowRuntime>
  <runtime>
    <assemblyBinding>
      <dependentAssembly />
    </assemblyBinding>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="ElektroPost.Licensing" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.BaseLibrary" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Blog" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Cms.Shell.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Configuration" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Data.Cache" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Data" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Enterprise" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Events" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Framework" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.ImageLibrary" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Implementation" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Legacy4" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Licensing" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.LinkAnalyzer" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Log.Analyzers" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Log.Core" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Lucene" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Scheduler" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Scheduler.WKTL" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="5.1.422.4" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Shell" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Shell.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="6.0.0.0-6.65535.65535.65535" newVersion="6.0.318.113" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.Web.WebControls" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.WebDav" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.WebParts" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.WorkflowFoundation" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.XForms" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="EPiServer.XmlRpc" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="5.2.375.0-6.65535.65535.65535" newVersion="6.0.530.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-1.65535.65535.65535" newVersion="1.2.10.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Web.Services3" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="3.0.0.0-3.65535.65535.65535" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.ComponentModel.Composition" publicKeyToken="8fe83dea738b45b7" culture="neutral" />
        <bindingRedirect oldVersion="2009.0.0.0-2009.65535.65535.65535" newVersion="2009.22.10.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.DataVisualization" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="3.0.0.0-3.65535.65535.65535" newVersion="3.5.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-1.65535.65535.65535" newVersion="1.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <!-- Connection string info is stored in a separate file -->
  <connectionStrings configSource="connectionStrings.config" />
  <!-- SMTP Settings for ASP.NET 2.0 Mail classes. -->
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="PickupDirectoryFromIis" />
      <!-- Common usage is to use other network existing mail server other than
                 IIS Virtual SMTP Server. 
                 In such cases use the commented settings below with your server
                 location and authentication credentials.
                 -->
      <!--<smtp from="localhost" deliveryMethod="Network">
                <network host="localhost" port="25" userName="" password="" defaultCredentials="false" />
      </smtp>-->
    </mailSettings>
  </system.net>
  <system.web>
    <roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="SqlServerRoleProvider">
      <providers>
        <clear/>
        <add provider1="SqlServerRoleProvider" provider2="WindowsRoleProvider" providerMap1="SqlServerMembershipProvider" providerMap2="WindowsMembershipProvider" name="MultiplexingRoleProvider" type="EPiServer.Security.MultiplexingRoleProvider, EPiServer"/>
        <add applicationName="EPiServerSample" name="WindowsRoleProvider" type="EPiServer.Security.WindowsRoleProvider, EPiServer"/>
        <add connectionStringName="EPiServerDB" applicationName="EPiServerSample" name="SqlServerRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </roleManager>
    <membership defaultProvider="SqlServerMembershipProvider" userIsOnlineTimeWindow="10">
      <providers>
        <clear/>
        <add provider1="SqlServerMembershipProvider" provider2="WindowsMembershipProvider" name="MultiplexingMembershipProvider" type="EPiServer.Security.MultiplexingMembershipProvider, EPiServer"/>
        <add deletePrefix="BUILTIN\" searchByEmail="true" name="WindowsMembershipProvider" type="EPiServer.Security.WindowsMembershipProvider, EPiServer"/>
        <add connectionStringName="EPiServerDB" requiresQuestionAndAnswer="false" applicationName="EPiServerSample" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="SqlServerMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </membership>
    <profile enabled="true" defaultProvider="SqlProfile" automaticSaveEnabled="true">
      <properties>
        <add name="Address" type="System.String" />
        <add name="ZipCode" type="System.String" />
        <add name="Locality" type="System.String" />
        <add name="Email" type="System.String" />
        <add name="FirstName" type="System.String" />
        <add name="LastName" type="System.String" />
        <add name="Language" type="System.String" />
        <add name="Country" type="System.String" />
        <add name="Company" type="System.String" />
        <add name="Title" type="System.String" />
        <add name="SubscriptionInfo" type="EPiServer.Personalization.SubscriptionInfo, EPiServer" />
        <add name="CustomExplorerTreePanel" type="System.String" />
        <add name="FileManagerFavourites" type="System.Collections.Generic.List`1[System.String]" />
        <add name="EditTreeSettings" type="EPiServer.Personalization.GuiSettings, EPiServer" />
        <add name="ClientToolsActivationKey" type="System.String" />
        <add name="FrameworkName" type="System.String" />
      </properties>
      <providers>
        <clear />
        <add name="SqlProfile" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="EPiServerDB" applicationName="EPiServerSample" />
      </providers>
    </profile>
    <httpModules>
      <add name="InitializationModule" type="EPiServer.Framework.Initialization.InitializationModule, EPiServer.Framework" />
      <add name="FirstBeginRequestModule" type="EPiServer.Web.InitializationModule, EPiServer" />
      <!--<add name="BasicAuthentication" type="EPiServer.Security.BasicAuthentication, EPiServer" />-->
      <add name="Initializer" type="EPiServer.Scheduler.Initializer, EPiServer.Scheduler" />
      <add name="WorkflowRuntime" type="EPiServer.WorkflowFoundation.WorkflowSystem, EPiServer.WorkflowFoundation" />
      <add name="UrlRewriteModule" type="EPiServer.Web.UrlRewriteModule, EPiServer" />
      <!--<add name="IIS5WebServicePostModule" type="EPiServer.Web.IIS5WebServicePostModule, EPiServer" />-->
      <add name="ShellRoutingModule" type="EPiServer.Shell.Web.Routing.ShellRoutingModule, EPiServer.Shell" />
    </httpModules>
    <httpHandlers>
      <!--Static files served by EPiServer.Web.StaticFileHandler will have cache information added to Response headers
          so clients can cache files according to passed header information.-->
      <add path="*.png" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add path="*.jpg" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add path="*.jpeg" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add path="*.css" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add path="*.js" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add path="*.gif" verb="GET,HEAD" type="EPiServer.Web.StaticFileHandler, EPiServer" />
      <add verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </httpHandlers>
    <!-- DYNAMIC DEBUG COMPILATION
          Set compilation debug="true" to enable ASPX debugging.  Otherwise, setting this value to
          false will improve runtime performance of this application. 
          Set compilation debug="true" to insert debugging symbols (.pdb information)
          into the compiled page. Because this creates a larger file that executes
          more slowly, you should set this value to true only when debugging and to
          false at all other times. For more information, refer to the documentation about
          debugging ASP .NET files.
          -->
    <compilation defaultLanguage="c#" debug="false">
      <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <!-- CUSTOM ERROR MESSAGES
          Set customError mode values to control the display of user-friendly 
          error messages to users instead of error details (including a stack trace):

          "On" Always display custom (friendly) messages  
          "Off" Always display detailed ASP.NET error information.
          "RemoteOnly" Display custom (friendly) messages only to users not running 
          on the local Web server. This setting is recommended for security purposes, so 
          that you do not display application detail information to remote clients.
          -->
    <customErrors mode="RemoteOnly" />
    <!-- AUTHENTICATION 
    
          !!!! IMPORTANT SECURITY NOTE !!!!!
        
          If you enable forms authentication by uncommenting the Forms authentication information below AND
          you are using Windows 2000 (any version) as web server, you must enable the "Act as part of the
          operating system" user right for the ASPNET user account. If this is not done, you will not be able 
          to logon with windows accounts, only Extranet accounts. However this may be regarded as compromising
          the security on your system since the ASPNET account should be a low-privilege account. 

          This section sets the authentication policies of the application. Possible modes are "Windows", "Forms", 
          "Passport" and "None". However only "Windows" and "Forms" are supported by EPiServer.
          -->
    <!-- authentication mode="Windows" / -->
    <authentication mode="Forms">
      <forms name=".EPiServerLogin" loginUrl="Util/login.aspx" timeout="120" />
    </authentication>
    <!-- APPLICATION-LEVEL TRACE LOGGING
          Application-level tracing enables trace log output for every page within an application. 
          Set trace enabled="true" to enable application trace logging.  If pageOutput="true", the
          trace information will be displayed at the bottom of each page.  Otherwise, you can view the 
          application trace log by browsing the "trace.axd" page from your web application
          root. 
          -->
    <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
    <!-- SESSION STATE SETTINGS
          By default ASP .NET uses cookies to identify which requests belong to a particular session. 
          If cookies are not available, a session can be tracked by adding a session identifier to the URL. 
          To disable cookies, set sessionState cookieless="true".
        -->
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" />
    <!-- GLOBALIZATION
          This section sets the globalization settings of the application. 
          -->
    <globalization culture="en-US" uiCulture="en" requestEncoding="utf-8" responseEncoding="utf-8" resourceProviderFactoryType="EPiServer.Resources.XmlResourceProviderFactory, EPiServer" />
    <pages validateRequest="false" enableEventValidation="true" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add tagPrefix="EPiServer" namespace="EPiServer.WebControls" assembly="EPiServer" />
        <add tagPrefix="EPiServer" namespace="EPiServer.Web.WebControls" assembly="EPiServer" />
        <add tagPrefix="EPiServer" namespace="EPiServer.Web.WebControls" assembly="EPiServer.Web.WebControls" />
        <add tagPrefix="XForms" namespace="EPiServer.XForms.WebControls" assembly="EPiServer.XForms" />
        <add tagPrefix="WebParts" namespace="EPiServer.WebParts.WebControls" assembly="EPiServer" />
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </controls>
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Linq" />
        <add namespace="System.Collections.Generic" />
      </namespaces>
    </pages>
    <!-- Uncomment this section to enable webpart support on the site -->
    <!--<webParts>
            <personalization defaultProvider="EPiServerPersonalizationProvider">
                <providers>
                    <add name="EPiServerPersonalizationProvider" type="EPiServer.WebParts.Core.EPiServerPersonalizationProvider" connectionStringName="EPiServerDB" />
                </providers>
                <authorization>
                    <allow verbs="enterSharedScope" roles="WebAdmins, WebEditors, Administrators" />
                </authorization>
            </personalization>
    </webParts>-->
    <caching>
      <outputCacheSettings>
        <outputCacheProfiles>
          <add name="ClientResourceCache" enabled="true" duration="3600" varyByParam="*" varyByContentEncoding="gzip;deflate" />
        </outputCacheProfiles>
      </outputCacheSettings>
    </caching>
  </system.web>
  <system.serviceModel>
    <client>
      <!--Client configuration for the ImageEditor, the client name has to be "ImageServiceClientEndPoint"-->
      <!-- Only uncomment if the Image Service is hosted in an external application 
      <endpoint
       name="ImageServiceClientEndPoint"
       address="the address of the hosting application"
       binding="the binding the hosting application is using"
       bindingConfiguration="ImageServiceBinding"
       contract="EPiServer.ImageLibrary.IImageService" />
       -->
      <!-- Uncomment this endpoint and the "RemoteEventServiceEndPoint" to enable remote events
        <endpoint name="RemoteEventServiceClientEndPoint"
           address="soap.udp://239.255.255.19:5000/RemoteEventService"
           binding="customBinding"
           bindingConfiguration="RemoteEventsBinding"
           contract="EPiServer.Events.ServiceModel.IEventReplication" />-->
    </client>
    <bindings>
      <!-- Only uncomment if the Image Service is hosted in an external application 
      <binding type used by the Image Service>
        <binding name="ImageServiceBinding" maxReceivedMessageSize="20000000">
          <readerQuotas maxArrayLength="20000000" />
          <security mode="None" />
        </binding>
      </binding type used by the Image Service>
       -->
      <customBinding>
        <binding name="RemoteEventsBinding">
          <binaryMessageEncoding />
          <udpTransport multicast="True" />
        </binding>
      </customBinding>
    </bindings>
    <extensions>
      <bindingElementExtensions>
        <add name="udpTransport" type="Microsoft.ServiceModel.Samples.UdpTransportElement, EPiServer.Events" />
      </bindingElementExtensions>
    </extensions>
    <services>
      <!-- In order to get fault information from the server for debug purposes, add behaviorConfiguration="DebugServiceBehaviour" to the endpoint "RemoteEventServiceEndPoint" -->
      <service name="EPiServer.Events.Remote.EventReplication">
        <!-- Uncomment this endpoint and the "RemoteEventServiceClientEndPoint" to enable remote events
            <endpoint name="RemoteEventServiceEndPoint"
                    contract="EPiServer.Events.ServiceModel.IEventReplication"
                    binding="customBinding"
                    bindingConfiguration="RemoteEventsBinding"
                    address="soap.udp://239.255.255.19:5000/RemoteEventService" />-->
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DebugServiceBehaviour">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5" />
        <providerOption name="WarnAsError" value="false" />
      </compiler>
    </compilers>
  </system.codedom>
  <microsoft.web.services3>
    <messaging>
      <transports>
        <add scheme="soap.tcp">
          <defaultPort value="8082" />
        </add>
      </transports>
    </messaging>
  </microsoft.web.services3>
  <location path="PageFiles">
    <system.web>
      <!-- Make sure that the WebResource loader of ASP.NET is initialized correctly -->
      <!-- Setup the StaticFileHandler for the wildcard mapping to work in IIS6 -->
      <httpHandlers>
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
    </system.web>
    <staticFile expirationTime="-1.0:0:0" />
  </location>
  <location path="Documents">
    <system.web>
      <!-- Setup the StaticFileHandler for the wildcard mapping to work in IIS6 -->
      <httpHandlers>
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
    </system.web>
    <staticFile expirationTime="-1.0:0:0" />
  </location>
  <location path="Global">
    <system.web>
      <!-- Setup the StaticFileHandler for the wildcard mapping to work in IIS6 -->
      <httpHandlers>
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
    </system.web>
    <staticFile expirationTime="-1.0:0:0" />
  </location>
  <location path="webui">
    <system.web>
      <httpHandlers>
        <clear />
        <!-- This section is copied from root web.config -->
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
        <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="true" />
        <add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
        <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="true" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
      <httpRuntime maxRequestLength="1000000" />
      <pages enableEventValidation="true">
        <controls>
          <add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI" />
          <add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer" />
          <add tagPrefix="EPiServerScript" namespace="EPiServer.UI.ClientScript.WebControls" assembly="EPiServer.UI" />
        </controls>
      </pages>
      <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
      <authorization>
        <allow roles="WebEditors, WebAdmins, Administrators" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  <location path="webui/CMS/admin">
    <system.web>
      <authorization>
        <allow roles="WebAdmins, Administrators" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  <!-- 
    Uncomment the following section replace UI in the path attribute with your customized UI path 
    to enable Office integration in the application. 
  -->
  <!--<location path="EPiServer/CMS/OfficeIntegration">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>-->
  <location path="WebServices">
    <!-- 
      Configure the EPiServer.Security.BasicAuthentication module to send a basic authentication challenge 
      instead of a redirect to the forms login page. For this to take effect the EPiServer.Security.BasicAuthentication
      module must be added to the list of http modules.
    -->
    <episerver.basicAuthentication sendBasicChallenge="true" basicRealm="" />
    <system.web>
      <httpRuntime maxRequestLength="1000000" />
      <authorization>
        <allow roles="WebServices,Administrators" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
  <location path="util">
    <system.web>
      <pages enableEventValidation="true">
        <controls>
          <add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI" />
          <add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer" />
        </controls>
      </pages>
      <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
      <httpHandlers>
        <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
        <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true" />
        <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="true" />
        <add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
        <add path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer" validate="true" />
      </httpHandlers>
    </system.web>
  </location>
  <location path="App_Themes/Default">
  </location>
  <!-- Uncomment the following section to run on Oracle -->
  <!--<wftools.services.common.ado>

    -->
  <!--REQUIRED
			Value Readers - these read data out of ADO.NET recordsets and commands.
			Remove any that are not applicable to your environment.-->
  <!--

    <valueReaders>
      <add providerName="Oracle.DataAccess.Client" type="WFTools.Services.Odp.OdpValueReader,EPiServer.WFTools.Services.Odp" />
    </valueReaders>

    -->
  <!--REQUIRED
			Resource Providers - these provide ADO.NET resources to workflow services.
			Remove any that are not applicable to your environment.-->
  <!--

    <resourceProviders>
      <add providerName="Oracle.DataAccess.Client" type="WFTools.Services.Odp.OdpResourceProvider,EPiServer.WFTools.Services.Odp" />
    </resourceProviders>
  </wftools.services.common.ado>
  <wftools.services.persistence.ado>

    -->
  <!--REQUIRED
			Name Resolvers - these resolve Persistence command names.
			Remove any that are not applicable to your environment.-->
  <!--

    <nameResolvers>
      <add providerName="Oracle.DataAccess.Client" type="WFTools.Services.Odp.Persistence.OdpPersistenceNameResolver,EPiServer.WFTools.Services.Odp" />
    </nameResolvers>
  </wftools.services.persistence.ado>

  <wftools.services.tracking.ado>

    -->
  <!--REQUIRED
			Name Resolvers - these resolve Tracking command names.
			Remove any that are not applicable to your environment.-->
  <!--

    <nameResolvers>
      <add providerName="Oracle.DataAccess.Client" type="WFTools.Services.Odp.Tracking.OdpTrackingNameResolver,EPiServer.WFTools.Services.Odp" />
    </nameResolvers>

    -->
  <!--OPTIONAL
			Resource Accessors - depending on your ADO.NET provider you may not require this section.
			Current custom resource accessors are provided for SQL Server and ODP.NET, if you use
			System.Data.OracleClient or MySql then you won't need this!-->
  <!--

    <resourceAccessors>
      <add providerName="Oracle.DataAccess.Client" type="WFTools.Services.Odp.Tracking.OdpTrackingResourceAccessor,EPiServer.WFTools.Services.Odp" />
    </resourceAccessors>
  </wftools.services.tracking.ado>

  -->
  <!--OPTIONAL
		Workflow Diagnostics - used for logging useful information for debugging purposes-->
  <!--

  <system.diagnostics>
    <switches>
      <add name="System.Workflow.Runtime" value="Off" />
      <add name="System.Workflow.Runtime.Hosting" value="Off" />
      <add name="System.Workflow.Runtime.Tracking" value="Off" />
      <add name="System.Workflow.Activities" value="Off" />
      <add name="System.Workflow.Activities.Rules" value="Off" />
      <add name="System.Workflow LogToTraceListeners" value="1" />
      <add name="System.Workflow LogToFile" value="0" />
    </switches>
  </system.diagnostics>-->
  <episerver.framework configSource="EPiServerFramework.config" />
  <episerver.shell>
    <publicModules rootPath="~/modules/" autoDiscovery="Minimal" />
    <protectedModules rootPath="~/webui/">
      <add name="Shell" />
      <add name="CMS" />
    </protectedModules>
  </episerver.shell>
  <episerver.dataStore>
    <dataStore defaultProvider="EPiServerSQLServerDataStoreProvider">
      <providers>
        <add name="EPiServerSQLServerDataStoreProvider" description="SQL Server implementation of Data Store" type="EPiServer.Data.Dynamic.Providers.SqlServerDataStoreProvider, EPiServer.Data" connectionStringName="EPiServerDB" />
        <add name="EPiServerOracleDataStoreProvider" description="Oracle implementation of Data Store" type="EPiServer.Data.Dynamic.Providers.OracleDataStoreProvider, EPiServer.Data" connectionStringName="EPiServerDB_oracle" />
      </providers>
      <cache defaultProvider="httpCacheProvider">
        <providers>
          <add name="httpCacheProvider" description="Http Cache implementation for DataStore" type="EPiServer.Data.Cache.HttpRuntimeCacheProvider,EPiServer.Data.Cache" />
          <add name="nullCacheProvider" description="Null Cache implementation for DataStore" type="EPiServer.Data.Cache.NullCacheProvider,EPiServer.Data" />
        </providers>
      </cache>
    </dataStore>
  </episerver.dataStore>
</configuration>
    

David

#44656
Oct 12, 2010 11:19
Vote:
 

David!

THAT WORKED!!!!!

Thank you so very much... It had really been bugging me getting this one working.

You're a life saver!

#44660
Edited, Oct 12, 2010 11:49
Vote:
 

No problems Danny. If you could mark it as an answer then everyone should be able to benefit :)

 

#44663
Oct 12, 2010 12:30
Vote:
 

Thanks a lot! That web.config saved my day! I made a little list of exakt which changes I made to my web.config to make this work, based on the working web.config above:

• <httpModules> should include:
<add name="ShellRoutingModule" type="EPiServer.Shell.Web.Routing.ShellRoutingModule, EPiServer.Shell" />

• <httpHandlers> should include:
<add verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

• <assemblies> should include:
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

• The  <pages>-tag under <system.web> should look like this:
<pages validateRequest="false" enableEventValidation="true" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

• In the <pages>-region above, directly after  </controls>, add the following:
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Linq" />
        <add namespace="System.Collections.Generic" />
      </namespaces>

• If it´s a IIS6 environment, be sure that there are no <system.webservice>-region.

//Björn

#46145
Nov 30, 2010 11:09
Vote:
 

Can someone please mark as answered (if it is)? I have exactly the same problem right now

#60544
Aug 15, 2012 11:08
Vote:
 

Hi John

I can see the answer marked, its on the second page.

David

#60545
Aug 15, 2012 11:11
Vote:
 

Thanks I just saw it ;)

#60547
Aug 15, 2012 11:19
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.