请高手帮助---关于web.config

lanxing106 2008-07-24 12:20:02
我在配置文件中设值,然后让我的程序来获取值调用但是运行后,老是发生未将对象引用设置到对象的实例的异常。我想知道是什么原因?

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: {



红色字处为异常指向代码
...全文
92 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nopole 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 silentwins 的回复:]
放在appSettings标记里面,不要放在ConnectionString里面~
<appSettings>
<add key="FileUploadPath" value="Upload"/>
</appSettings>
[/Quote]
jinjazz 2008-07-24
  • 打赏
  • 举报
回复
〉〉double iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString());


Floder-〉Folder
lanxing106 2008-07-24
  • 打赏
  • 举报
回复
我设置后的代码如下:


<?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>

张扬的狄仁杰 2008-07-24
  • 打赏
  • 举报
回复
int iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString());
张扬的狄仁杰 2008-07-24
  • 打赏
  • 举报
回复
用这种方法可以
[Quote=引用 1 楼 silentwins 的回复:]
放在appSettings标记里面,不要放在ConnectionString里面~
<appSettings>
<add key="FileUploadPath" value="Upload"/>
</appSettings>
[/Quote]
或者用
ConfigurationManager.ConnectionStrings["FileUploadPath"].ConnectionString;

lanxing106 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 silentwins 的回复:]
放在appSettings标记里面,不要放在ConnectionString里面~
<appSettings>
<add key="FileUploadPath" value="Upload"/>
</appSettings>
[/Quote]
依然报错指向:行 120: double iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString());

异常信息:未将对象引用设置到对象的实例。

这是为什么呢?

jl_lsj 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 silentwins 的回复:]
放在appSettings标记里面,不要放在ConnectionString里面~
<appSettings>
<add key="FileUploadPath" value="Upload"/>
</appSettings>
[/Quote]
zhuanshen712 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinjazz 的回复:]
FileUploadPath你放到appSettings下面啊,放到connectionStrings下面怎么用ConfigurationManager.AppSettings读取
[/Quote]
downmoon 2008-07-24
  • 打赏
  • 举报
回复
<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>
jinjazz 2008-07-24
  • 打赏
  • 举报
回复
FileUploadPath你放到appSettings下面啊,放到connectionStrings下面怎么用ConfigurationManager.AppSettings读取
眼里进了砂 2008-07-24
  • 打赏
  • 举报
回复
你这程序取得是AppSettings,但config里的值却在connectionStrings下当然取不到了,用connectionStrings读
silentwins 2008-07-24
  • 打赏
  • 举报
回复
放在appSettings标记里面,不要放在ConnectionString里面~
<appSettings>
<add key="FileUploadPath" value="Upload"/>
</appSettings>
mengjun5200 2008-07-24
  • 打赏
  • 举报
回复
恭喜你
lanxing106 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 jinjazz 的回复:]
{1:f2}->{1:f2}

注意全角和半角符号
[/Quote]
谢谢 问题已经解决了
jinjazz 2008-07-24
  • 打赏
  • 举报
回复
{1:f2}->{1:f2}

注意全角和半角符号
lanxing106 2008-07-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jinjazz 的回复:]
〉〉double iFolderSizeLimit = Convert.ToInt32(ConfigurationManager.AppSettings["FloderSizeLimit"].ToString());


Floder-〉Folder
[/Quote]

谢谢 原来的问题解决了 但是又出现新的问题
行 127: lad_FolderInfo.Text = string.Format("文件夹容量限制:{0}M已用空间:{1:f2} M",iFolderSizeLimit/1024,iFolderCurrentSize/1024);

异常信息:输入字符串的格式不正确。

我不太明白 为什么这样写不行呢?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧