在Windows服务托管的WCF服务中存储用户设置
我已经创建了一个由Windows服务托管的WCF/REST服务 服务背后没有数据库,因为不需要数据库 但我想保存一些常规设置(允许用户列表、输出格式设置等)。 我尝试了在Windows服务托管的WCF服务中存储用户设置,wcf,windows-services,settings,persistent,Wcf,Windows Services,Settings,Persistent,我已经创建了一个由Windows服务托管的WCF/REST服务 服务背后没有数据库,因为不需要数据库 但我想保存一些常规设置(允许用户列表、输出格式设置等)。 我尝试了.settings文件,并使用ConfigurationManager.AppSettings[“Key”]进行了读/写操作 这在服务运行时起作用 但如果我停止并启动服务,存储的值就会消失 是否有其他机制可以在没有任何数据库的情况下永久保存设置 谢谢你的回答 我会将设置存储在Windows服务的app.config文件中(请参阅)
.settings
文件,并使用ConfigurationManager.AppSettings[“Key”]
进行了读/写操作
这在服务运行时起作用
但如果我停止并启动服务,存储的值就会消失
是否有其他机制可以在没有任何数据库的情况下永久保存设置
谢谢你的回答 我会将设置存储在Windows服务的app.config文件中(请参阅)
.
然后,您可以通过调用string appName=ConfigurationManager.AppSettings[“Application Name”]
来检索这些设置。
app.config中的AppSettings将永久存储,并在停止和启动服务后仍然有效;) 持久存储=数据库。克服它-你需要一个。使用它。@marc_这个解决方案对于4或5个字符串来说有点太多了。我曾考虑将其保存在App.config或单独的XML文件中,但我不知道如何保存,以及该文件/配置将存储在何处。好吧,您也可以获得非常轻量级的数据库-不必像Oracle或SQL Server安装那样庞大。。。。可能是SQLite,或“NoSQL”(如RavenDB或MongoDB)-易于使用、易于设置服务是否只需要读取这些设置?@justMe读取并存储在停止服务中是的。另一种方法是存储在客户端,启动服务,传输设置,…,读取设置并存储在客户端,从客户端停止服务
<configuration>
<appSettings>
<add key="Application Name" value="MyApplication" />
</appSettings>
</configuration>.