我在配置文件中设值,然后让我的程序来获取值调用但是运行后,老是发生未将对象引用设置到对象的实例的异常。我想知道是什么原因?
   
web.config:<?xml version="1.0" encoding="utf-8"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
    <appSettings/>
  <connectionStrings>
    <add key="FileUploadPath" value="Upload"/>
    <add key="FileTypeLimit" value=".zip,.rar,.doc,.ppt,.txt,.mp3" />
    <add key="FileSizeLimit" value="10240"/>
    <add key="FolderSizeLimit" value="102400"/>

  </connectionStrings>
    <system.web>
      <httpRuntime maxRequestLength="40960" executionTimeout="60"/>
        <!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
        <compilation debug="true" />
        <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
        <authentication mode="Windows" />
        <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    </system.web>
</configuration>报的异常界面:
行 112:    private void InitFolderInfo()
行 113:    {
行 114:        string strFileUploadPath = ConfigurationManager.AppSettings["FileUploadPath"].ToString();
行 115:        if (!Directory.Exists(Server.MapPath(strFileUploadPath)))
行 116:        {红色字处为异常指向代码

解决方案 »

  1.   

    放在appSettings标记里面,不要放在ConnectionString里面~
    <appSettings>
      <add key="FileUploadPath" value="Upload"/>
    </appSettings>
      

  2.   

    你这程序取得是AppSettings,但config里的值却在connectionStrings下当然取不到了,用connectionStrings读
      

  3.   

    FileUploadPath你放到appSettings下面啊,放到connectionStrings下面怎么用ConfigurationManager.AppSettings读取
      

  4.   

        <appSettings>
        <add key="FileUploadPath" value="Upload"/>
        <add key="FileTypeLimit" value=".zip,.rar,.doc,.ppt,.txt,.mp3" />
        <add key="FileSizeLimit" value="10240"/>
        <add key="FolderSizeLimit" value="102400"/>[/color]
     </appSettings>
      

  5.   

    依然报错指向:行 120:        double iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString());异常信息:未将对象引用设置到对象的实例。 这是为什么呢?
      

  6.   

    用这种方法可以
    或者用
    ConfigurationManager.ConnectionStrings["FileUploadPath"].ConnectionString;
      

  7.   

      int iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString()); 
      

  8.   

    我设置后的代码如下:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
      <appSettings>
        <add key="FileUploadPath" value="Upload"/>
        <add key="FileTypeLimit" value=".zip,.rar,.doc,.ppt,.txt,.mp3" />
        <add key="FileSizeLimit" value="10240"/>
        <add key="FolderSizeLimit" value="102400"/>
      </appSettings>
      <connectionStrings/>
        <system.web>
          <httpRuntime maxRequestLength="40960" executionTimeout="60"/>
            <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
            <compilation debug="true" />
            <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
            <authentication mode="Windows" />
            <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
        </system.web>
    </configuration>
      

  9.   

    〉〉double iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString()); 
    Floder-〉Folder
      

  10.   


    谢谢 原来的问题解决了 但是又出现新的问题
    行 127:        lad_FolderInfo.Text = string.Format("文件夹容量限制:{0}M已用空间:{1:f2} M",iFolderSizeLimit/1024,iFolderCurrentSize/1024);异常信息:输入字符串的格式不正确。我不太明白 为什么这样写不行呢?
      

  11.   

    {1:f2}->{1:f2}注意全角和半角符号