.net服务器端会自动重启如何处理

_lee_chong 2015-02-02 10:23:40
我的服务器端是webservice;
里面有个接口 需要保存配置文件,以及配置中对应的图片(这是我的需求)

现在的问题是要怎么保存;当我将配置文件及对应图片素材放在网站目录下时,操作正常,但是每次做配置文件的写操作时,应用程序都会自动重启....导致application里记录的数据全都丢失........

然后我考虑放在别的目录,比如 我的文档下,本机vs里调试正常,但是放到iis上就失败,不确定是没有访问权限,还是我没找到iis账户对应的"我的文档"文件夹;

然后我又考虑放到数据库,但是数据库貌似不能存放图片......


谁知道应该怎么处理么...太少做asp.net方面的东西了这方面东西貌似不是很清楚
...全文
316 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-02-02
  • 打赏
  • 举报
回复
建个临时目录,放置临时文件,数据都收到后move一下 或者先把文件命名为.tmp,都写入成功了再删除原文件并改名新文件 不要经常性的删除,新建目录
_lee_chong 2015-02-02
  • 打赏
  • 举报
回复
好吧,可以了; 是我在保存 app_data下子文件夹中的文件时, 先新建了副本文件夹保存成功后,删除老文件夹,改名新文件夹,导致应用重启的....直接把文件往老文件上覆盖保存不会才重启............但是这样万一保存失败了损坏原文件怎么办
_lee_chong 2015-02-02
  • 打赏
  • 举报
回复
引用 9 楼 liuchaolin 的回复:
看系统日志,应该是有记录的,根据错误提示去处理 
什么系统日志
md5e 2015-02-02
  • 打赏
  • 举报
回复
看系统日志,应该是有记录的,根据错误提示去处理 
_lee_chong 2015-02-02
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
把数据文件放到 app_data 目录下(包括其子目录下),除了可以防止 application 重启之外,最重要地是用来防止客户端“无意之中”去下载文件。在这个目录下的文件都是不允许客户端直接访问的,安全的!
不行诶,还是这样,一操作那文件就重启..... 我将图片和配置文件放在App_Data下的; 访问的时候用的 Server.MapPath("~/App_Data/template"); 话说应该没用错吧,有办法处理么; 不然我就试试2L的,看看只改图片会不会重启
_lee_chong 2015-02-02
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
除了app_data以外,其它目录下如果你新增或者删除目录,就会造成application重启。如果你将bin、app_code等目录下的文件改变(新增、修改、删除等等),也会造成重启。如果你改变配置文件,肯定也会造成重启。还有许多原因都会造成重启,例如租用空间设置的cpu、占用物理内存、iis连接数达到某个数量时自动回收应用程序池,或者你的程序遇到一个严重bug时也会重启。 总之asp.net应用的自动重启,是一个自我维护的动作,是经常发生的(在许多比较复杂的服务器空间上,几分钟后就会发生)。asp.net只会保证“这次响应客户端请求是原子的”,但是“下一次响应客户端请求”就可能完全是重启之后的另一个进程去服务了。因此开发asp.net应用程序要做成“无状态的程序”。
无状态?难道状态信息都保存到数据库,那要那些缓存机制干什么使?
_lee_chong 2015-02-02
  • 打赏
  • 举报
回复
额,学习了.. 那些什么规则,是真没学过...我就几年前自学过俩个月asp.net,平时也不用,这次只是用web service方便.....
  • 打赏
  • 举报
回复
把数据文件放到 app_data 目录下(包括其子目录下),除了可以防止 application 重启之外,最重要地是用来防止客户端“无意之中”去下载文件。在这个目录下的文件都是不允许客户端直接访问的,安全的!
  • 打赏
  • 举报
回复
除了app_data以外,其它目录下如果你新增或者删除目录,就会造成application重启。如果你将bin、app_code等目录下的文件改变(新增、修改、删除等等),也会造成重启。如果你改变配置文件,肯定也会造成重启。还有许多原因都会造成重启,例如租用空间设置的cpu、占用物理内存、iis连接数达到某个数量时自动回收应用程序池,或者你的程序遇到一个严重bug时也会重启。 总之asp.net应用的自动重启,是一个自我维护的动作,是经常发生的(在许多比较复杂的服务器空间上,几分钟后就会发生)。asp.net只会保证“这次响应客户端请求是原子的”,但是“下一次响应客户端请求”就可能完全是重启之后的另一个进程去服务了。因此开发asp.net应用程序要做成“无状态的程序”。
  • 打赏
  • 举报
回复
数据文件,要放在asp.net应用程序的 app_data 目录下。你学习asp.net的时候难道真的没有学过这个规则吗?
於黾 2015-02-02
  • 打赏
  • 举报
回复
改配置文件必然造成IIS重启 保存图片不会造IIS重启 你可以将图片路径放数据库啊
by_封爱 2015-02-02
  • 打赏
  • 举报
回复
配置文件还随便更改??? 看来你的需求应该改改了.. 你是拿配置文件当数据库呢吧...

62,046

社区成员

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

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

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

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