这是因为你程序运行时,已经将配置文件中的信息加载到了内存中,之后每次读取时如果缓存中已经存在对应的值,则直接使用此值,否则才会从文件中读配置,这样做的好处是减少了系统和文件甚至与数据库的交互次数;
在web程序中配置文件更改后,应用程序会自动重启一次,于是配置会自动生效。但winform程序没有这个机制,于是ConfigurationConfigurationManager调用配置不会自动更新。
所以建议你手动实现调用配置的逻辑,代码如下:
public string ReadAppSetting(string key)
{
string xPath = "/configuration/appSettings//add[@key='"+key+"']";
XmlDocument doc = new XmlDocument();
string exeFileName = SystemReflectionAssemblyGetExecutingAssembly()GetName()Name;
docLoad(exeFileName + "execonfig");
XmlNode node = docSelectSingleNode(xPath);
return nodeAttributes["value"]ValueToString();
}
这样做的话就不存在缓存的问题了,希望能对你有所帮助。
我们用Visual Studio编写好Winform程序以后就需要将其发布出去了,那么如何在Visual Studio中发布编写好的Winform程序呢?下面我给大家演示一下。
工具/材料VisualStudio
首先我们打开VisualStudio软件,新建一个Winform程序,简单的拖拽几个窗体,如下图所示
然后右键单击项目名称,选择生成或者重新生成选项,将项目重新生成一下,如下图所示
接下来继续右键单击项目,这次点击发布选项,如下图所示
接着会d出发布向导,首先会让你选择要发布的位置,这里选择一个盘符下的文件夹即可,如下图所示
然后需要选择用户安装的路径,这个路径一般是服务器的路径,你需要把程序放在服务器上供用户下载安装,如下图所示
接着会让你选择是否允许程序脱机使用,我们这里选择允许即可,如下图所示
设置完以上步骤,Visual Studio会将发布的信息都展示出来,你需要确认一下各项内容是否都正确,如下图所示
最后打开刚才设置的发布文件夹,我们会看到程序已经被发不出来了,剩下的我们就是把相应的文件放到IIS中即可
简单的你按F5运行一下,在程序目录下面的bin下面的debug目录里面就已经生成对应的exe文件了。如果要制作安装包,可以新建一个安装部署的项目(具体你可以搜索一下,很简单)。或者用专门的安装包制作软件来制作。
两种方法:一、数据库单独备份出来,安装的时候提示用户要安装数据库。二、做一个数据库安装程序(就是用执行建库程序,这方面的资料可以搜索到,就是执行一些SQL的api函数,相当于手动附加数据库上去)另外如果你的access这样的数据库的话,直接打包进去就行了
installsheild这个打包软件是很有名的。或者用VS自带的安装部署也可以。新建项目--其它项目类型--安装和部署当然net下的优势就是xcopy优势,其实用winrar把需要用的dll等文件压缩到一个文件夹里,复制到目标机器解压缩就可以使用了。
使用方法:
1、在winform项目中,打开工具箱,找到openFileDialog控件并拖入窗体中,这时窗体下方出现penFileDialog实例右击openFileDialog实例。
2、在菜单中选择属性。
3、在属性窗口中,设置FileName属性就可以限定文件后缀名。
上篇文章中实现winform程序的打包,这篇文章讲述如何将一个安装包的文件夹打包成exe安装文件。
1)选中安装包文件夹,右键-添加到压缩文件
2)修改压缩文件名,勾选创建自解压格式压缩文件
3)将生成的exe压缩文件用winrar打开,点击自解压格式
4)对压缩文件进行设置
5)保存对安装文件的设置
6)将exe文件拷贝到需要安装软件的电脑,双击按步骤执行即可。
以上就是关于外部修改C#Winform程序配置文件后Winform程序通过ConfigurationManager.AppSettings.Get方法读取没有变化全部的内容,包括:外部修改C#Winform程序配置文件后Winform程序通过ConfigurationManager.AppSettings.Get方法读取没有变化、如何在Visual Studio中发布编写好的Winform程序、.net 的winform程序源码要如何制作成应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)