System.NullReferenceException:未将对象引用设置为对象的实例(Object parent,Object configContext,XmlNode section)

时间:2013-03-20 21:49:34

标签: asp.net

这是完整的错误代码:

  

[2013-03-20 15:34:52,901] Sync3DCartDatabase.ConfigHandler - System.NullReferenceException:未将对象引用设置为对象的实例。      在Sync3DCartDatabase.ConfigHandler.Create(Object parent,Object configContext,XmlNode section)

     

[ERROR] [2013-03-20 15:34:52,917] ASP.syncdatabase_aspx - System.NullReferenceException:未将对象引用设置为对象的实例。      在Sync3DCartDatabase.SyncDatabase.SyncDatabaseFromFile()

下面是它正在引用的代码的一部分。如果需要,我可以发布整个代码。

    <?xml version="1.0"?>

    <!--
     For more information on how to configure your ASP.NET application, please visit
     http://go.microsoft.com/fwlink/?LinkId=169433
     -->

    <configuration>
     <configSections>
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     <sectionGroup name="SyncServiceConfigSection">
     <section name="ServiceConfig" type="Sync3DCartDatabase.ConfigHandler, Sync3DCartDatabase" />
     </sectionGroup>
     </configSections>
     <log4net>
     <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
     <file value="logfile.txt" />
     <appendToFile value="true" />
     <rollingStyle value="Size" />
     <maxSizeRollBackups value="5" />
     <maximumFileSize value="1MB" />
     <staticLogFileName value="true" />
     <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="[%level] [%date] %logger - %message%newline" />
     </layout>
     </appender>
     <root>
     <level value="INFO" />
     <appender-ref ref="RollingFileAppender" />
     </root>
     </log4net>
     <SyncServiceConfigSection>
     <ServiceConfig>
     <!--Time Interval after which to Sync Database (in secs)-->
     <SyncInterval>2700</SyncInterval> 
     <!--Path where working files will be placed-->
     <WorkingFolder>FTPHelperFolder</WorkingFolder>
     <SourceFolderPath>/wwwroot/flatfile</SourceFolderPath>
     <CartConnectionInfo>
     <StoreUrl>Store URL Here</StoreUrl>
     <UserKey>API Key Here</UserKey>
     </CartConnectionInfo>
     <!--FTP Machine information to connect-->
     <FTPSessionOptionInfo>
     <HostName>FTP Host Here</HostName>
     <PortNumber>-1</PortNumber>
     <UserName>FTP User</UserName>
     <Password>FTP Pass</Password>
     <!--FTP = 0, SFTP = 1-->
     <FTPProtocol>0</FTPProtocol>
     <SshHostKeyFingerprint></SshHostKeyFingerprint>
     <!-- None = 0, Implicit = 1, ExplicitSsl = 2, ExplicitTls = 3-->
     <FTPSecure>0</FTPSecure>
     <SslHostCertificateFingerprint>SSL Finger</SslHostCertificateFingerprint>
     </FTPSessionOptionInfo>
     <MappedFileDetails>
     <MappedFileDetails>
     <FileInfo fileNameSuffix="P" fileNamePattern="yyyyMMdd" fileExtension=".txt" >
     <!-- Delete the file after it has been successfully updated to 3D cart-->
     <!-- 0= Do Not Delete / 1 = Delete-->
     <DeleteFTPFileAfterSync>0</DeleteFTPFileAfterSync>
     <!--Mapping for input and output column names-->
     <ColumnsMappingDetails>
     <ColumnsMappingDetails>
     <column name="SKU" mappedName="id" update="0" insert="1" ColumnType="2"></column>
     <column name="STATUS 0=ACTIVE/9=INACTIVE" mappedName="hide" update="0" ColumnType="3" insert="0">
     <!--Mapping for input to output column values-->
     <MappedValues>
     <value origValue="0" mappedValue="0"></value>
     <value origValue="9" mappedValue="1"></value>
     </MappedValues>
     </column>
     <column name="QTY AVAILABLE" mappedName="Stock" update="0" insert="0" ColumnType="1"></column>
     <column name="STYLE" mappedName="mfgid" update="0" insert="0" ColumnType="2"></column>
     <column name="SUGG PRICE" mappedName="price2" update="0" insert="0" ColumnType="1"></column>
     <column name="PRICE" mappedName="price" update="1" insert="1" ColumnType="4"></column>
     <column name="ADVERTIZED PRICE" mappedName="saleprice" update="1" insert="1" ColumnType="4"></column>
     </ColumnsMappingDetails>
     </ColumnsMappingDetails>
     </FileInfo>
     <FileInfo fileNameSuffix="S" fileNamePattern="yyyyMMdd" fileExtension=".txt" >
     <!-- Delete the file after it has been successfully updated to 3D cart-->
     <!-- 0= Do Not Delete / 1 = Delete-->
     <DeleteFTPFileAfterSync>0</DeleteFTPFileAfterSync>
     <!--Mapping for input and output column names-->
     <ColumnsMappingDetails>
     <ColumnsMappingDetails>
     <column name="SKU" mappedName="id" update="0" insert="1" ColumnType="2"></column>
     <column name=" SET PRICE" mappedName="price" update="1" insert="1" ColumnType="4"></column>
     <column name="ADVERTIZED SET PRICE" mappedName="saleprice" update="1" insert="1" ColumnType="4"></column>
     </ColumnsMappingDetails>
     </ColumnsMappingDetails>
     </FileInfo>
     </MappedFileDetails>
     </MappedFileDetails>
     </ServiceConfig>
     </SyncServiceConfigSection>
     <system.web>
     <compilation debug="true" targetFramework="4.0" />
        <customErrors mode="Off"/>
     <authentication mode="Forms">
     <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
     </authentication>

     <membership>
     <providers>
     <clear/>
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
     enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
     maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
     applicationName="/" />
     </providers>
     </membership>

     <profile>
     <providers>
     <clear/>
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
     </providers>
     </profile>

     <roleManager enabled="false">
     <providers>
     <clear/>
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
     </providers>
     </roleManager>

     </system.web>

     <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
     </system.webServer>
     <system.serviceModel>
     <bindings>
     <basicHttpBinding>
     <binding name="cartAPISoap" />
     <binding name="cartAPIAdvancedSoap" />
     </basicHttpBinding>
     </bindings>
     <client>
     <endpoint address="http://api.3dcart.com/cart_advanced.asmx"
     binding="basicHttpBinding" bindingConfiguration="cartAPISoap"
     contract="cartAPI.cartAPISoap" name="cartAPISoap" />
     <endpoint address="http://api.3dcart.com/cart_advanced.asmx"
     binding="basicHttpBinding" bindingConfiguration="cartAPIAdvancedSoap"
     contract="cartAPI.cartAPIAdvancedSoap" name="cartAPIAdvancedSoap" />
     </client>
     </system.serviceModel>
    </configuration>

1 个答案:

答案 0 :(得分:0)

在SyncDatabaseFromFile()中添加断点。单步执行并找到您引用尚未使用new()参数初始化的对象的位置。

另外,学会提出更好的问题。这非常模糊