locked
Moving Solution from .NET 3.5 to 4.5.1 RRS feed

  • Question

  • User-622324082 posted

    Hello all, 

    Background - About 10 years ago a co-worker and I wrote a web application in VB.NET / ASP.NET 3.5 web forms.  Once this application was released, my role in the organization changed to more of a Systems Administrator - I haven't written any ASP.net since.  The co-worker went through a similar transition and is now head of a non-IT department.  While he still tinkers with this application, it still sits in .net 3.5.  

    I am looking for assistance in getting this "upgraded" to support .net 4.5.1 - mostly because of another project, I would like to add some functionality to the application to use some external REST API calls.  It seems like the way this is done these days is with

    System.Http.HttpUtility.HttpClient

    So I went through all of the different class libraries in this solution, changed the target framework to 4.5.1 - they all built successfully.  I did the same for the website project, again, it built successfully. 

    The application uses Forms Authentication against our internal active directory.  This functions fine when I run the application from VS on my machine (v3.5).  Once I flip things to v4.5.1, authentication succeeds, but each page I try to load, I am redirected to the login.aspx page!??

    I don't really know what to look at, being so far removed from this stuff.  Did some google searching - found that the machine key in the web.config file should be set to SHA1 - as that was a breaking change after 3.5.  Made this change, still have the problem.  Also found a Scott Hanselman post regarding breaking changes.  I added

    <httpRuntime requestValidationMode="2.0" />

    to the web.config.  Still have the problem.  

    The app runs locally on my machine, in IIS Express.  I am not sure if that is part of the problem - IIS Express??  I am looking for any direction 

    Thanks

    Steve

    Monday, February 15, 2021 1:35 AM

All replies

  • User1535942433 posted

    Hi stephenmbell,

    According to your description,could you post your web.config to us?You need to check your authorization , targetFramework or others.

    Or are you sharing  between applications? 

    In your .net 4.5 application's web.config, set the compatibility mode attribute:

    <system.web>
     <machineKey compatibilityMode="Framework20SP2" /> 
    </system.web>

    More details,you could refer to below article:

    https://stackoverflow.com/questions/12021863/upgrading-to-asp-net-4-5-mvc-4-forms-authentication-fails/12061090#12061090

    Best regards,

    Yijing Sun

    Tuesday, February 16, 2021 6:32 AM
  • User-622324082 posted

    Here's the web.config.  I've redacted a few pieces of sensitive information.  

    Thanks

    Steve

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <!-- Added for ELMAH error processing -->
        <sectionGroup name="elmah">
          <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
          <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
          <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
          <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
        </sectionGroup>
        <sectionGroup name="businessObjects">
          <sectionGroup name="crystalReports">
            <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304, Custom=null"/>
          </sectionGroup>
        </sectionGroup>
      </configSections>
      <appSettings>
        <add key="CrystalImageCleaner-AutoStart" value="true"/>
        <add key="CrystalImageCleaner-Sleep" value="60000"/>
        <add key="CrystalImageCleaner-Age" value="120000"/>
        <add key="WebiOpenDocURL" value=":8080/BOE/OpenDocument/opendoc/openDocument.jsp?iDocID="/>
        <add key="CurrentSAPServer" value="##REDACTED##"/>
        <add key="SAPUserName" value="##REDACTED##"/>
        <add key="SAPPwd" value="##REDACTED##"/>
        <add key="SAPAuth" value="secEnterprise"/>
        <add key="SAPHostPort" value=":6400"/>
        <add key="SAPServiceName" value="InfoStore"/>
        <add key="TenDayExportPath" value="##REDACTED##"/>
        <add key="TenDayExportMask" value="tenday_"/>
        <add key="TenDayExportExtension" value=".xml"/>
        <add key="ActiveEnvironment" value=""/>
      </appSettings>
      <connectionStrings>
        <add name="GasOrderConnectionString" connectionString="Data Source=##REDACTED##;Initial Catalog=##REDACTED##;Asynchronous Processing=true;Persist Security Info=True;User ID=##REDACTED##;Password=##REDACTED##;Connection Timeout=180" providerName="System.Data.SqlClient"/>
        <add name="GasOrderDevConnectionString" connectionString="Data Source=##REDACTED##;Initial Catalog=##REDACTED##;Asynchronous Processing=true;Persist Security Info=True;User ID=##REDACTED##;Password=##REDACTED##;Connection Timeout=180" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <!-- settings to send email -->
      <system.net>
        <mailSettings>
          <smtp>
            <network host="##REDACTED##"/>
          </smtp>
        </mailSettings>
      </system.net>
      <!--
        For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
    
        The following attributes can be set on the <httpRuntime> tag.
          <system.Web>
            <httpRuntime targetFramework="4.5.1" />
          </system.Web>
      -->
      <system.web>
        <machineKey validation="SHA1" compatibilityMode="Framework20SP2" />
        <customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPages/Oops.aspx">
          <error statusCode="404" redirect="~/ErrorPages/404.aspx"/>
        </customErrors>
        <!--
          The <authentication> section enables configuration 
          of the security authentication mode used by 
          ASP.NET to identifiy an incoming user
    
        Timeout is set to 60 minutes - however, it seems as if
          the timeout setting in the web.config file is ignored
          if the forms authentication ticket is being created manually
          (which is what we are doing with this application),
        sliding expiration is true and using "UseCookies" 
          as reccommended by Microsoft because this site is AJAX-Enabled      
        -->
        <authentication mode="Forms">
          <forms loginUrl="~/login.aspx" name="adAuthCookie" timeout="60" slidingExpiration="true" cookieless="UseCookies"/>
        </authentication>
        <authorization>
          <allow roles="GasOrdering"/>
          <deny users="*"/>
        </authorization>
        <identity impersonate="false"/>
        <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
          <providers>
            <add name="XmlSiteMapProvider" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider " siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/>
          </providers>
        </siteMap>
        <sessionState mode="InProc" cookieless="UseCookies" timeout="60"/>
        <pages enableEventValidation="false" enableSessionState="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
          <namespaces>
            <clear/>
            <add namespace="System"/>
            <add namespace="System.Collections"/>
            <add namespace="System.Collections.Generic"/>
            <add namespace="System.Collections.Specialized"/>
            <add namespace="System.Configuration"/>
            <add namespace="System.Text"/>
            <add namespace="System.Text.RegularExpressions"/>
            <add namespace="System.Linq"/>
            <add namespace="System.Xml.Linq"/>
            <add namespace="System.Web"/>
            <add namespace="System.Web.Caching"/>
            <add namespace="System.Web.SessionState"/>
            <add namespace="System.Web.Security"/>
            <add namespace="System.Web.Profile"/>
            <add namespace="System.Web.UI"/>
            <add namespace="System.Web.UI.WebControls"/>
            <add namespace="System.Web.UI.WebControls.WebParts"/>
            <add namespace="System.Web.UI.HtmlControls"/>
          </namespaces>
          <controls>
            <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
            <add namespace="WahlinToolkit" assembly="WahlinToolkit" tagPrefix="custom"/>
            <!--The Grid User Controls-->
            <add tagPrefix="ssc" tagName="GasSitesGridView" src="~/UserControls/Grids/GasSitesGridView.ascx"/>
            <add tagPrefix="ssc" tagName="CalculatorGrid" src="~/UserControls/Grids/CalculatorGrid.ascx"/>
            <add tagPrefix="ssc" tagName="OrderDetailsGridView" src="~/UserControls/Grids/OrderDetailsGridView.ascx"/>
            <add tagPrefix="ssc" tagName="OrderHeaderGridView" src="~/UserControls/Grids/OrderHeaderGridView.ascx"/>
            <add tagPrefix="ssc" tagName="OrdersGrid" src="~/UserControls/ComponentGrids/OrdersGrid.ascx"/>
            <add tagPrefix="ssc" tagName="BOLDetailsGrid" src="~/UserControls/Grids/BOLDetailsGridView.ascx"/>
            <add tagPrefix="ssc" tagName="BOLExportGrid" src="~/UserControls/Grids/BOLExportGridView.ascx"/>
            <add tagPrefix="ssc" tagName="SalesGrid" src="~/UserControls/Grids/SalesGridView.ascx"/>
            <add tagPrefix="ssc" tagName="SiteSalesGridview" src="~/UserControls/Maintenance/SiteSalesGridview.ascx"/>
            <add tagPrefix="ssc" tagName="GasLoadsGridView" src="~/UserControls/Grids/GasLoadsGrid.ascx"/>
            <!--Window Controls-->
            <add tagPrefix="ssc" tagName="GasSitesWindow" src="~/UserControls/Windows/GasSitesWindow.ascx"/>
            <add tagPrefix="ssc" tagName="SplitSitesWindow" src="~/UserControls/Windows/SplitSitesWindow.ascx"/>
            <!--Selector Controls-->
            <add tagPrefix="ssc" tagName="RegionSelector" src="~/UserControls/Selectors/RegionSelector.ascx"/>
            <add tagPrefix="ssc" tagName="DateTimeSelector" src="~/UserControls/Selectors/DateTimeSelector.ascx"/>
            <add tagPrefix="ssc" tagName="ShopSelector" src="~/UserControls/Selectors/ShopSelectorGrid.ascx"/>
            <!--Component Controls-->
            <add tagPrefix="ssc" tagName="OrderCalculator" src="~/UserControls/Components/OrderCalculator.ascx"/>
            <add tagPrefix="ssc" tagName="OrderBuilder" src="~/UserControls/Components/OrderBuilder.ascx"/>
            <add tagPrefix="ssc" tagName="DeliveryVerifier" src="~/UserControls/Components/DeliveryVerifier.ascx"/>
            <!--Extender Controls-->
            <add tagPrefix="ssc" tagName="ConfirmButton" src="~/UserControls/Extenders/ConfirmButton.ascx"/>
            <!--Sunoco Controls-->
            <add tagPrefix="ssc" tagName="SunocoSalesUpload" src="~/UserControls/Sunoco/SunocoSalesUpload.ascx"/>
            <add tagPrefix="ssc" tagName="SunocoExport" src="~/UserControls/Sunoco/SunocoExport.ascx"/>
            <!--DTN Controls-->
            <add tagPrefix="ssc" tagName="DTNImport" src="~/UserControls/CreditCards/DTNImport.ascx"/>
            <!--Paragon User Controls-->
            <!--<add tagPrefix="ssc" tagName="ParagonMaint" src="~/UserControls/Grids/ParagonMaintGrid.ascx"/>
            <add tagPrefix="ssc" tagName="ParagonOrders" src="~/UserControls/Grids/OrdersAtParagonGrid.ascx"/>
            <add tagPrefix="ssc" tagName="ParagonBatch" src="~/UserControls/Grids/ParagonBatchGrid.ascx"/>-->
            <add tagPrefix="ssc" tagName="ParagonImport" src="~/UserControls/Grids/ParagonImportGrid.ascx"/>
            <add tagPrefix="ssc" tagName="DriversGridView" src="~/UserControls/Grids/DriversGridView.ascx"/>
            <add tagPrefix="ssc" tagName="ParagonLoadsGridView" src="~/UserControls/ComponentGrids/ParagonLoadsGrid.ascx"/>
            <!--<add tagPrefix="ssc" tagName="PRoutesGridView" src="~/UserControls/Grids/RoutesGridView.ascx"/>-->
            <!--<add tagPrefix="ssc" tagName="ParagonReadyToDispatchGridView" src="~/UserControls/Grids/ParagonReadyToDispatchGrid.ascx"/>-->
            <!--<add tagPrefix="ssc" tagName="SunocoLoyaltyUpload" src="~/UserControls/Sunoco/SunocoLoyaltyUpload.ascx"/>-->
            <!-- Maintenance Controls -->
            <add tagPrefix="ssc" tagName="RegionMaint" src="~/UserControls/Maintenance/RegionMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="ClusterMaint" src="~/UserControls/Maintenance/ClusterMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="CarrierMaint" src="~/UserControls/Maintenance/CarrierMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="TrailerMaint" src="~/UserControls/Maintenance/TrailerMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="DriverMaint" src="~/UserControls/Maintenance/DriverMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="ProductMaint" src="~/UserControls/Maintenance/ProductMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="GasSiteMaint" src="~/UserControls/Maintenance/GasSiteMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="SplitSiteMaint" src="~/UserControls/Maintenance/SplitSiteMaintenance.ascx"/>
            <add tagPrefix="ssc" tagName="SalesTrendingAdjuster" src="~/UserControls/Maintenance/SalesTrendingAdjuster.ascx"/>
            <add tagPrefix="ssc" tagName="SiteTankMins" src="~/UserControls/Maintenance/SiteTankMinimums.ascx"/>
            <add tagPrefix="ssc" tagName="NewShopSetup" src="~/UserControls/Maintenance/NewShopSetup.ascx"/>
            <add tagPrefix="ssc" tagName="VirtualTanks" src="~/UserControls/Maintenance/VirtualTanks.ascx"/>
            <add tagPrefix="ssc" tagName="OrderMaint" src="~/UserControls/Maintenance/OrderMaintenanceGridView.ascx"/>
            <add tagPrefix="ssc" tagName="OrderDetailMaint" src="~/UserControls/Grids/OrderDetailsMaintenanceGridView.ascx"/>
            <add tagPrefix="ssc" tagName="AcctgNumberMaint" src="~/UserControls/Maintenance/AcctgNumbersMaintenanceGrid.ascx"/>
            <add tagPrefix="ssc" tagName="WholesaleDistMaintGrid" src="~/UserControls/Maintenance/WholesaleDistListMaintGrid.ascx"/>
            <add tagPrefix="ssc" tagName="WholesaleSendFiles" src="~/UserControls/Maintenance/WholesaleSendFiles.ascx"/>
            <add tagPrefix="ssc" tagName="EmailListGrid" src="~/UserControls/Grids/EmailLogGrid.ascx"/>
            <!-- Menu Control -->
            <add tagPrefix="ssc" tagName="Menu" src="~/UserControls/Menu/Menu.ascx"/>
            <!-- Form Controls -->
            <add tagPrefix="ssc" tagName="DetailFreeForm" src="~/UserControls/Forms/AddDetailFreeForm.ascx"/>
            <!-- Ten Day Controls -->
            <add tagPrefix="ssc" tagName="TenDayGridView" src="~/UserControls/TenDay/TenDayGrid.ascx"/>
            <add tagPrefix="ssc" tagName="TenDayScheduleGridView" src="~/UserControls/TenDay/TenDayShopScheduleGrid.ascx"/>
            <add tagPrefix="ssc" tagName="TenDayReportForm" src="~/UserControls/TenDay/TenDayReports.ascx"/>
            <add tagPrefix="ssc" tagName="TenDayReloadDataForm" src="~/UserControls/TenDay/ReloadData.ascx"/>
            <add tagPrefix="ssc" tagName="TenDayExporter" src="~/UserControls/TenDay/TenDayExporter.ascx"/>
            <!--<add tagPrefix="ssc" tagName="TestFormatFormView" src="~/UserControls/TenDay/TestFormatPage.ascx"/>
            <add tagPrefix="ssc" tagName="TestFormatGridview" src="~/UserControls/TenDay/TestFormatGrid.ascx"/>-->
            <!--<add tagPrefix="ssc" tagName="TenDayVarianceExplanationGridView" src="~/UserControls/TenDay/TenDayVarianceExplanationGrid.ascx"/>-->
            <!--Dashboard User Controls-->
            <add tagPrefix="ssc" tagName="MissingDataGridView" src="~/UserControls/Dashboard/MissingData.ascx"/>
            <add tagPrefix="ssc" tagName="ShopsGrid" src="~/UserControls/Dashboard/ShopListGrid.ascx"/>
            <add tagPrefix="ssc" tagName="OutOfVarianceGridView" src="~/UserControls/Dashboard/OutOfVarianceGrid.ascx"/>
            <add tagPrefix="ssc" tagName="CompletedOutOfVarianceGridView" src="~/UserControls/Dashboard/ShopWithDateGrid.ascx"/>
            <add tagPrefix="ssc" tagName="FuturesBuyHistoryGrid" src="~/UserControls/PriceFutures/HistoryBuysGrid.ascx"/>
            <add tagPrefix="ssc" tagName="FuturesBuySymbolGrid" src="~/UserControls/PriceFutures/HistoryBuysSymbolsGrid.ascx"/>
            <add tagPrefix="ssc" tagName="PurchaseTransGrid" src="~/UserControls/PriceFutures/PurchaseTransactionGrid.ascx"/>
            <add tagPrefix="ssc" tagName="TransactionDetailGrid" src="~/UserControls/PriceFutures/TransactionDetails.ascx"/>
            <!--BLIMPORT GRIDS-->
            <add tagPrefix="ssc" tagName="BLImport" src="~/UserControls/BLImport/BLImportGrid.ascx"/>
            <add tagPrefix="ssc" tagName="BLPreProcess" src="~/UserControls/BLImport/BLPreProcessGrid.ascx"/>
            <add tagPrefix="ssc" tagName="BLXRef" src="~/UserControls/BLImport/BLXRefGrid.ascx"/>
            <!--<add tagPrefix="ssc" tagName="BLSuppXRef" src="~/UserControls/BLImport/BLSuppXRefGrid.ascx"/>
            <add tagPrefix="ssc" tagName="BLTermXRef" src="~/UserControls/BLImport/BLTermXRefGrid.ascx"/>-->
            <!--WHOLESALE ACCOUNTING GRIDS-->
            <add tagPrefix="ssc" tagName="WholesaleTransGrid" src="~/UserControls/ComponentGrids/WholesaleTransactionGrid.ascx"/>
            <add tagPrefix="ssc" tagName="SiteSelector" src="~/UserControls/Selectors/WholesaleSiteSelector.ascx"/>
          </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.
    
                Visual Basic options:
                Set strict="true" to disallow all data type conversions 
                where data loss can occur. 
                Set explicit="true" to force declaration of all variables.
            -->
        <compilation debug="true" targetFramework="4.5.1">
          <assemblies>
            <add assembly="CrystalDecisions.CrystalReports.Engine, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.Enterprise.Framework, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.ReportSource, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.Shared, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <add assembly="CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
            <!--<add assembly="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>-->
          </assemblies>
          <buildProviders>
            <add extension=".rpt" type="CrystalDecisions.Web.Compilation.RptBuildProvider, CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
          </buildProviders>
        </compilation>
        <!--
                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>
            -->
        <httpHandlers>
          <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
          <!-- Added for ELMAH error processing -->
          <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
          <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        </httpHandlers>
        <httpModules>
          <!-- Added for ELMAH error processing -->
          <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
        </httpModules>
      </system.web>
      <!-- ALLOW EVERYONE TO ACCESS THE MASTER PAGE, IMAGES AND CSS FILES-->
      <location path="MasterPage.master">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <location path="Styles.css">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <location path="menu.css">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <location path="tabs.css">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <location path="images">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <!--ONLY ALLOW MEMBERS OF GASORDERINGMAINT TO ACCESS MAINTENANCE AREA-->
      <!--<location path="Maintenance">
        <system.web>
          <authorization>
            <allow roles="GasOrderingMaint"/>
            <deny users="*"/>
          </authorization>
        </system.web>
      </location>-->
      <!-- Allow only Gas Ordering Admin to view the errors -->
      <location path="Elmah">
        <system.web>
          <authorization>
            <allow roles="GasOrderingAdmin"/>
            <deny users="*"/>
          </authorization>
        </system.web>
      </location>
      <!-- Added for ELMAH Processing-->
      <elmah>
        <security allowRemoteAccess="1"/>
        <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="GasOrderConnectionString"/>
      </elmah>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules>
          <!-- Added for ELMAH error processing -->
          <add name="Elmah.ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler"/>
        </modules>
        <handlers>
          <!-- Added for ELMAH error processing -->
          <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
          <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=14.0.3500.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" preCondition="integratedMode"/>
        </handlers>
      </system.webServer>
      <businessObjects>
        <crystalReports>
          <rptBuildProvider>
            <add embedRptInResource="true"/>
          </rptBuildProvider>
        </crystalReports>
      </businessObjects>
      <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="GasSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
              <security mode="None">
                <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
                <message clientCredentialType="UserName" algorithmSuite="Default"/>
              </security>
            </binding>
          </basicHttpBinding>
        </bindings>
        <client>
          <endpoint address="##REDACTED##" binding="basicHttpBinding" bindingConfiguration="GasSoap" contract="GasService.GasSoap" name="GasSoap"/>
        </client>
      </system.serviceModel>
    </configuration>

    Tuesday, February 16, 2021 4:56 PM
  • User1535942433 posted

    Hi stephenmbell,

    According to your codes,I suggest you could open failure request tracking to check what's the detail error.

    Best regards,

    Yijing Sun

    Friday, February 19, 2021 7:29 AM