Can't make changes anymore

Topics: ASP.NET 2.0, Business Logic Layer
Nov 12, 2012 at 1:01 PM

Hello everyone,

I have a blogengine.net site that has been up and running for a while. I recently integrated YetAnotherForum into it. Everything has worked fine. All of a sudden, I cannot save any changes. I have removed and reset write permissions to App_Data to ensure it has permission. I have made a lot of changes to web.config and some controls to get things working how I need them so I may have removed/changed/messed up something that I shouldn't have. Below is my web.config. Please take a look and let me know what I need to do/try. Thank you

 

<?xml version="1.0"?>
<configuration>
    <configSections>
        <!-- YAF 1.9.6 START-->
        <section name="rewriter" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" requirePermission="false"/>
        <!-- YAF 1.9.6 END-->

        <sectionGroup name="BlogEngine">
            <section name="blogProvider" requirePermission="false" type="BlogEngine.Core.Providers.BlogProviderSection, BlogEngine.Core" allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
            <section name="blogFileSystemProvider" requirePermission="false" type="BlogEngine.Core.Providers.BlogFileSystemProviderSection, BlogEngine.Core" allowDefinition="MachineToApplication" restartOnExternalChanges="true"/>
        </sectionGroup>
    </configSections>
    <BlogEngine>
        <blogProvider defaultProvider="XmlBlogProvider" fileStoreProvider="XmlBlogProvider">
            <providers>
                <add description="Xml Blog Provider" name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
                <add connectionStringName="BlogEngine" description="Sql Database Provider" name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core"/>
            </providers>
        </blogProvider>
        <blogFileSystemProvider defaultProvider="XmlBlogProvider">
            <providers>
                <add description="Xml Blog Provider" name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlFileSystemProvider, BlogEngine.Core"/>
                <add storageVariable="BlogEngine" description="Sql Database Provider" name="DbBlogProvider" type="BlogEngine.Core.Providers.DbFileSystemProvider, BlogEngine.Core"/>
            </providers>
        </blogFileSystemProvider>
    </BlogEngine>
    <connectionStrings>
        <clear/>
        <!-- YAF 1.9.6 START-->
        <add name="yafnet" connectionString="*******"/>
        <!-- YAF 1.9.6 END-->
        <add name="BlogEngine" connectionString="*********" providerName="System.Data.SqlClient"/>
        <add name="EmailConnection" connectionString="********"/>
    </connectionStrings>
    <appSettings>
        <!-- YAF 1.9.6 START-->
        <add key="YAF.ConfigPassword" value="*********" />
        <add key="YAF.BoardID" value="1" />
        <add key="YAF.EnableURLRewriting" value="true" />
        <add key="YAF.URLRewritingMode" value="Translit" />
        <add key="YAF.UseSMTPSSL" value="false" />
        <add key="YAF.DatabaseObjectQualifier" value="yaf_" />
        <add key="YAF.DatabaseOwner" value="dbo" />
        <add key="YAF.ConnectionStringName" value="yafnet" />
        <add key="YAF.UrlRewritingPrefix" value="yaf_" />
        <add key="YAF.ProviderExceptionXML" value="ProviderExceptions.xml" />
        <add key="YAF.BoardRoot" value="" />
        <add key="YAF.FileRoot" value="~/Forum"/>
        <add key="YAF.AppRoot" value="~/Forum" />
        <add key="YAF.ProviderKeyType" value="System.Guid" />
        <add key="YAF.MobileUserAgents" value="iphone,ipad,midp,windows ce,windows phone,android,blackberry,opera mini,mobile,palm,portable,webos,htc,armv,lg/u,elaine,nokia,playstation,symbian,sonyericsson,mmp,hd_mini"/>
        <add key="YAF.ShowToolBar" value="true" />
        <add key="YAF.AllowLoginAndLogoff" value="false" />
        <add key="YAF.JQueryAlias" value="jQueryYAF" />
        <add key="YAF.BaseUrlMask" value="http://www.******" />
        <add key="YAF.ForceScriptName" value="default.aspx" />
        <!-- RadEditor configuration settings-->
        <add key="YAF.RadEditorSkin" value="Black"/>
        <add key="YAF.UseRadEditorToolsFile" value="true"/>
        <add key="YAF.RadEditorToolsFile" value="editors/radEditor/toolsFile.xml" />
        <!-- RadEditor configuration settings-->

        <!-- YAF 1.9.6 END-->

        <add key="BlogEngine.FileExtension" value=".aspx"/>
        <!-- You can e.g. use "~/blog/" if BlogEngine.NET is not located in the root of the application -->
        <add key="BlogEngine.VirtualPath" value="~/"/>
        <!-- The regex used to identify mobile devices so a different theme can be shown -->
        <add key="BlogEngine.MobileDevices" value="(iemobile|iphone|ipod|android|nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/>
        <!-- The name of the role with administrator permissions -->
        <add key="BlogEngine.AdminRole" value="Administrators"/>
        <!-- The name of the role for anonymous(non-authenticated) users. -->
        <add key="BlogEngine.AnonymousRole" value="Anonymous"/>
        <!-- The name of the role for Editors -->
        <add key="BlogEngine.EditorsRole" value="Editors"/>
        <!--This value is to provide an alternative location for storing data.-->
        <add key="StorageLocation" value="~/App_Data/"/>
        <!--This value is the folder name under the StorageLocation that data for blog instances will be stored in.-->
        <add key="BlogInstancesFolderName" value="blogs"/>
        <!--A comma separated list of script names to hard minify. It's case-sensitive. -->
        <add key="BlogEngine.HardMinify" value="blog.js,widget.js,WebResource.axd"/>
        <!--Any data grid in the admin panel should use this value for default number of items per page.-->
        <add key="BlogEngine.GenericPageSize" value="20"/>
    </appSettings>
    <system.serviceModel>
        <services>
            <service behaviorConfiguration="AuthenticationServiceBehaviors" name="System.Web.ApplicationServices.AuthenticationService">
                <endpoint binding="basicHttpBinding" contract="System.Web.ApplicationServices.AuthenticationService"/>
            </service>
        </services>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
        <behaviors>
            <serviceBehaviors>
                <behavior name="AuthenticationServiceBehaviors">
                    <serviceMetadata httpGetEnabled="true"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
    <system.web.extensions>
        <scripting>
            <webServices>
                <authenticationService enabled="true" requireSSL="false"/>
            </webServices>
        </scripting>
    </system.web.extensions>
    <system.web>
        <webServices>
            <protocols>
                <add name="HttpPost"/>
                <add name="HttpGet"/>
            </protocols>
        </webServices>
        <compilation debug="false" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </assemblies>
           <expressionBuilders>
                <add expressionPrefix="LinqLength" type="BlogEngine.Core.Compilation.LinqLengthExpressionBuilder, BlogEngine.Core"/>
                <add expressionPrefix="Reflect" type="BlogEngine.Core.Compilation.ReflectExpressionBuilder, BlogEngine.Core"/>
                <add expressionPrefix="Session" type="BlogEngine.Core.Compilation.SessionExpressionBuilder, BlogEngine.Core"/>
                <add expressionPrefix="Server" type="BlogEngine.Core.Compilation.ServerVariableExpressionBuilder, BlogEngine.Core"/>
                <add expressionPrefix="QueryString" type="BlogEngine.Core.Compilation.QueryStringExpressionBuilder, BlogEngine.Core"/>
                <add expressionPrefix="Code" type="BlogEngine.Core.Compilation.CodeExpressionBuilder, BlogEngine.Core"/>
            </expressionBuilders>
        </compilation>

        <httpRuntime enableVersionHeader="false" useFullyQualifiedRedirectUrl="true" maxRequestLength="16384" executionTimeout="3600" requestLengthDiskThreshold="16384" requestValidationMode="2.0"/>
        <machineKey validationKey="77F8E0B129DDDFB689241B5D5892576B92AE18CCDA686A2A5B94C34B84876A6A2DB81B764E13B3F686F7096C15EB64C09D5D698F038B44613D173F1AD0E86BF3" decryptionKey="99CA7028DD6C681E75BEE7263000B727C59688CF9BCFE05B82FC4571F4236779" validation="SHA1" decryption="AES" />
        <pages enableSessionState="true" enableViewStateMac="false" enableEventValidation="true" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
            <controls>
                <!--YAF 1.9.6 START-->
                <!-- Default: use non-dynamic (compiled classes) in YAF -->
                <add tagPrefix="YAF" namespace="YAF.Controls" assembly="YAF.Controls"/>
                <add tagPrefix="YAF" namespace="YAF.Controls.Statistics" assembly="YAF.Controls"/>
                <add tagPrefix="YAF" namespace="YAF.Classes"/>
                <add tagPrefix="YAF" namespace="YAF"/>
                <!--YAF 1.9.6 END-->
                <add namespace="App_Code.Controls" tagPrefix="blog"/>
            </controls>
        </pages>
        <customErrors mode="On" defaultRedirect="~/error.aspx">
            <error statusCode="404" redirect="~/error404.aspx"/>
        </customErrors>
      
        <!--YAF 1.9.6 START-->
        <membership defaultProvider="YafMembershipProvider" hashAlgorithmType="SHA1">
            <providers>
                <clear />
                <!-- YAF's ASP.NET Membership Provider is designed to work a bit better with YAF.NET options, but is by no means required.
             But, you will not be able to switch providers after installing your forum. -->
                <add name="YafMembershipProvider" applicationName="YetAnotherForum" connectionStringName="yafnet" requiresUniqueEmail="true" useSalt="true" type="YAF.Providers.Membership.YafMembershipProvider"/>
                <!-- Set as default if you want to use use the built-in ASP.NET membership provider. Password Type of "Encrypted" requires a machine key. -->
                <add name="AspNetSqlMembershipProvider" applicationName="YetAnotherForum" connectionStringName="yafnet" enablePasswordReset="false" enablePasswordRetrieval="true" maxInvalidPasswordAttempts="5" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="5" passwordAttemptWindow="15" passwordFormat="Encrypted" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" type="System.Web.Security.SqlMembershipProvider" />
            </providers>
        </membership>

        <roleManager enabled="true" defaultProvider="YafRoleProvider">
            <providers>
                <clear />
                <!-- YAF's ASP.NET Role Provider is designed to work a bit better with YAF.NET options, but is by no means required.
             But, you will not be able to switch providers after installing your forum. -->
                <add name="YafRoleProvider" applicationName="YetAnotherForum"  connectionStringName="yafnet" type="YAF.Providers.Roles.YafRoleProvider"/>
                <!-- Set as default if you want to use use the built-in ASP.NET role provider. -->
                <add name="AspNetSqlRoleProvider" applicationName="YetAnotherForum" connectionStringName="yafnet" type="System.Web.Security.SqlRoleProvider" />
            </providers>
        </roleManager>

        <profile enabled="true" defaultProvider="YafProfileProvider" inherits="YAF.Utils.YafUserProfile">
            <providers>
                <clear/>
                <!-- YAF's ASP.NET Profile Provider is designed to work a bit better with YAF.NET options, but is by no means required.
             But, you will not be able to switch providers after installing your forum. -->
                <add name="YafProfileProvider" applicationName="YetAnotherForum" connectionStringName="yafnet" type="YAF.Providers.Profile.YafProfileProvider"/>
                <!-- Set as default if you want to use use the built-in ASP.NET profile provider. -->
                <add name="AspNetSqlProfileProvider" applicationName="YetAnotherForum" connectionStringName="yafnet" type="System.Web.Profile.SqlProfileProvider"/>
            </providers>
        </profile>

        <!--YAF 1.9.6 END -->

     
        <siteMap defaultProvider="PageSiteMap" enabled="true">
            <providers>
                <add name="PageSiteMap" description="The site map provider that reads in the .sitemap XML files." type="BlogEngine.Core.Web.Controls.PageSiteMap, BlogEngine.Core"/>
                <add name="SecuritySiteMap" description="Used for authenticated users." type="BlogEngine.Core.SecuritySiteMapProvider, BlogEngine.Core" securityTrimmingEnabled="true" siteMapFile="Web.sitemap"/>
            </providers>
        </siteMap>
        <httpModules>
            <!--YAF 1.9.6 START-->
            <add name="YafTaskModule" type="YAF.Core.YafTaskModule, YAF.Core"/>
            <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter"/>
            <!--YAF 1.9.6 END-->

            <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
            <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
            <add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
            <add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
            <add name="SecurityModule" type="BlogEngine.Core.Security, BlogEngine.Core"/>
            <add name="RightModule" type="BlogEngine.Core.Right, BlogEngine.Core"/>
            <!--Remove the default ASP.NET modules we don't need-->
            <remove name="PassportAuthentication"/>
            <remove name="Profile"/>
            <remove name="AnonymousIdentification"/>
        </httpModules>


        <httpHandlers>
            <!--YAF 1.9.6 START-->
            <add verb="GET" path="Resource.ashx" type="YAF.YafResourceHandler, YAF" />
            <!--YAF 1.9.6 END-->

            <add verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" validate="false"/>
            <add verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="*.js.axd" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="*.res.axd" type="BlogEngine.Core.Web.HttpHandlers.ResourceHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" validate="false"/>
            <add verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" validate="false"/>
            <add verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" validate="false"/>
            <add verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" validate="false"/>
            <add verb="*" path="*.htm" type="System.Web.StaticFileHandler"/>
        </httpHandlers>
        <!--YAF 1.9.6 START-->
        <globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" />
        <authentication mode="Forms">
            <forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies"/>
        </authentication>
        <!--YAF 1.9.6 END-->
        <healthMonitoring>
            <eventMappings>
                <clear />
                <add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
                <add name="Failure Audits" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
            </eventMappings>
            <providers>
                <clear />
                <add type="System.Web.Management.SimpleMailWebEventProvider"
                name="EmailWebEventProvider" buffer="false"
                from="website@*****" to="website@******"
                subjectPrefix="***** Runtime Error: " />
            </providers>
            <rules>
                <clear />
                <add name="All Errors Default" eventName="All Errors" provider="EmailWebEventProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom=""/>

                <add name="Failure Audits Default" eventName="Failure Audits" provider="EmailWebEventProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom=""/>
            </rules>
        </healthMonitoring>
    </system.web>
    <system.net>
        <mailSettings>
            <smtp from="website@*****">
                <network host="smtp.secureserver.net" port="25"
                  defaultCredentials="true"/>
            </smtp>
        </mailSettings>
    </system.net>
    <system.webServer>

        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true">
            <!--YAF 1.9.6 START-->
            <remove name="YafTaskModule"/>
            <remove name="UrlRewriter"/>
            <add name="YafTaskModule" type="YAF.Core.YafTaskModule, YAF.Core" preCondition="managedHandler"/>
            <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" preCondition="managedHandler"/>
            <!--YAF 1.9.6 END-->
            <!--YAF 1.9.6 START-->
            <remove name="session" />
            <add name="session" type="System.Web.SessionState.SessionStateModule" />
            <!--YAF 1.9.6 END-->

            <add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core"/>
            <add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core"/>
            <add name="CompressionModule" type="BlogEngine.Core.Web.HttpModules.CompressionModule, BlogEngine.Core"/>
            <add name="ReferrerModule" type="BlogEngine.Core.Web.HttpModules.ReferrerModule, BlogEngine.Core"/>
            <add name="SecurityModule" type="BlogEngine.Core.Security, BlogEngine.Core"/>
            <add name="RightModule" type="BlogEngine.Core.Right, BlogEngine.Core"/>
        </modules>
        <handlers accessPolicy="Read, Write, Script, Execute">
            <!--YAF 1.9.6 START-->
            <add name="YafHandler" preCondition="integratedMode" verb="GET" path="Resource.ashx" type="YAF.YafResourceHandler, YAF" />
            <add name="SitemapHandler" verb="*" path="yafsitemap.axd" type="YAF.SitemapHandler, YAF" />
            <!--YAF 1.9.6 END-->

            <add name="FileHandler" verb="*" path="file.axd" type="BlogEngine.Core.Web.HttpHandlers.FileHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="ImageHandler" verb="*" path="image.axd" type="BlogEngine.Core.Web.HttpHandlers.ImageHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Syndication" verb="*" path="syndication.axd" type="BlogEngine.Core.Web.HttpHandlers.SyndicationHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Sitemap" verb="*" path="sitemap.axd" type="BlogEngine.Core.Web.HttpHandlers.SiteMap, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Trackback" verb="*" path="trackback.axd" type="BlogEngine.Core.Web.HttpHandlers.TrackbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Pingback" verb="*" path="pingback.axd" type="BlogEngine.Core.Web.HttpHandlers.PingbackHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="OpenSearch" verb="*" path="opensearch.axd" type="BlogEngine.Core.Web.HttpHandlers.OpenSearchHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="MetaWeblog" verb="*" path="metaweblog.axd" type="BlogEngine.Core.API.MetaWeblog.MetaWeblogHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="RSD" verb="*" path="rsd.axd" type="BlogEngine.Core.Web.HttpHandlers.RsdHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="CssHandler" verb="*" path="css.axd" type="BlogEngine.Core.Web.HttpHandlers.CssHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="WebResource" path="*.js.axd" verb="*" type="BlogEngine.Core.Web.HttpHandlers.JavaScriptHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Resource" verb="*" path="*.res.axd" type="BlogEngine.Core.Web.HttpHandlers.ResourceHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Rating" verb="*" path="rating.axd" type="BlogEngine.Core.Web.HttpHandlers.RatingHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Opml" verb="*" path="opml.axd" type="BlogEngine.Core.Web.HttpHandlers.OpmlHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="BlogML" verb="*" path="blogml.axd" type="BlogEngine.Core.Web.HttpHandlers.BlogMLExportHandler, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="SIOC" verb="*" path="sioc.axd" type="BlogEngine.Core.Web.HttpHandlers.Sioc, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Apml" verb="*" path="apml.axd" type="BlogEngine.Core.Web.HttpHandlers.Apml, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Foaf" verb="*" path="foaf*.axd" type="BlogEngine.Core.Web.HttpHandlers.Foaf, BlogEngine.Core" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode"/>
            <add name="Html" path="*.htm" verb="*" type="System.Web.StaticFileHandler" resourceType="Unspecified" preCondition="integratedMode"/>
            <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </handlers>
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" cacheControlCustom="public"/>
            <remove fileExtension=".ico"/>
            <mimeMap fileExtension=".ico" mimeType="image/x-icon"/>
        </staticContent>
        <httpErrors errorMode="Custom" existingResponse="Replace">
            <clear />
            <error statusCode="404" prefixLanguageFilePath="" path="~/Error404.aspx" responseMode="ExecuteURL" />
            <error statusCode="500" prefixLanguageFilePath="" path="~/Error.aspx" responseMode="ExecuteURL" />
        </httpErrors>
        <rewrite>
            <rules>
                <rule name="LowerCaseRule1" stopProcessing="true">
                    <match url="[A-Z]" ignoreCase="false" />
                    <action type="Redirect" url="{ToLower:{URL}}" />
                    <conditions>
                        <add input="{URL}" pattern="ScriptResource.axd" negate="true" />
                        <add input="{URL}" pattern="WebResource.axd" negate="true" />
                    </conditions>
                </rule>
                <rule name="Remove Virtual Directory">
                    <match url=".*" />
                    <action type="Rewrite" url="{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

    <!-- YAF 1.9.6 START-->
    <rewriter>
        <rewrite url="^~/(.+?)?yaf_login?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=login&amp;$5" processing="stop" />
        <rewrite url="^~/(.+?)?yaf_info?\.aspx\?i=([0-9]+?)&amp;url\=(.+)$" to="~/$1Default.aspx?g=info&amp;i=$2&amp;url=$3" processing="stop" />
        <rewrite url="^~/(.+)?yaf_topics([0-9]+)p([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=topics&amp;f=$2&amp;p=$3&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_topics([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=topics&amp;f=$2&amp;$6" processing="stop" />
        <rewrite url="^~/(.+)?yaf_forum([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=forum&amp;c=$2&amp;$6" processing="stop" />
        <rewrite url="^~/(.+)?yaf_postst([0-9]+)find([-a-z]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=posts&amp;t=$2&amp;find=$3&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_postst([0-9]+)p([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=posts&amp;t=$2&amp;p=$3&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_postst([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=posts&amp;t=$2&amp;$6" processing="stop" />
        <rewrite url="^~/(.+)?yaf_postsm([0-9]+)find([-a-z]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=posts&amp;m=$2&amp;find=$3&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_postsm([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=posts&amp;m=$2&amp;$6" processing="stop" />
        <rewrite url="^~/(.+)?yaf_profile([0-9]+)(_([-a-z0-9]+))?\.aspx(\?(.+))?$" to="~/$1Default.aspx?g=profile&amp;u=$2&amp;$6" processing="stop" />
        <rewrite url="^~/(.+)?yaf_rsstopic([0-9]+)ft([0-9]+)t([0-9]+)(_([-a-z0-9]+))?\.xml(\?(.+))?$" to="~/$1Default.aspx?g=rsstopic&amp;pg=$2&amp;ft=$3&amp;t=$4&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_rsstopic([0-9]+)ft([0-9]+)f([0-9]+)(_([-a-z0-9]+))?\.xml(\?(.+))?$" to="~/$1Default.aspx?g=rsstopic&amp;pg=$2&amp;ft=$3&amp;f=$4&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_rsstopic([0-9]+)ft([0-9]+)(_([-a-z0-9]+))?\.xml(\?(.+))?$" to="~/$1Default.aspx?g=rsstopic&amp;pg=$2&amp;ft=$3&amp;$7" processing="stop" />
        <rewrite url="^~/(.+)?yaf_([-0-9a-z_]+?)\.aspx\?(.+)?$" to="~/$1Default.aspx?g=$2&amp;$3" processing="stop" />
        <rewrite url="^~/(.+)?yaf_([-0-9a-z_]+?)\.aspx$" to="~/$1Default.aspx?g=$2" processing="stop" />
    </rewriter>
    <!-- YAF 1.9.6 END-->

</configuration>
Nov 12, 2012 at 1:14 PM

OK,

so of course right after I posted this, I determined the cause of the problem. Apparently it was the rewrite rules I added. When I comment-out the following lines, Saving changes works perfectly. Can anyone tell me why this is? Is it a problem with my rules? Does BlogEngine.net not allow other rewrite rules? or what?

<!--<rewrite>
            <rules>
                <rule name="LowerCaseRule1" stopProcessing="true">
                    <match url="[A-Z]" ignoreCase="false" />
                    <action type="Redirect" url="{ToLower:{URL}}" />
                    <conditions>
                        <add input="{URL}" pattern="ScriptResource.axd" negate="true" />
                        <add input="{URL}" pattern="WebResource.axd" negate="true" />
                    </conditions>
                </rule>
                <rule name="Remove Virtual Directory">
                    <match url=".*" />
                    <action type="Rewrite" url="{R:0}" />
                </rule>
            </rules>
        </rewrite>-->