C# 远程设置文件

C# 远程设置文件,c#,C#,我正在从事一个C#项目,我想将管理员的设置存储在一个设置文件(而不是app.config)中,我想知道这个设置文件是否可以存储在远程位置,如服务器数据库或同一局域网中的另一台计算机,这实际上是最好的,因为我想把管理员的设置推到所有计算机上,所以一个文件是必不可少的。这可能吗?如果是,请有人告诉我如何创建设置文件以及如何建立远程连接的正确方向(图图、链接、文档等) 我曾考虑过使用数据库,但我觉得仅仅用它来存储设置没有什么方便。你们有什么想法/建议???在Visual Studio/.NET中没有远

我正在从事一个C#项目,我想将管理员的设置存储在一个设置文件(而不是app.config)中,我想知道这个设置文件是否可以存储在远程位置,如服务器数据库或同一局域网中的另一台计算机,这实际上是最好的,因为我想把管理员的设置推到所有计算机上,所以一个文件是必不可少的。这可能吗?如果是,请有人告诉我如何创建设置文件以及如何建立远程连接的正确方向(图图、链接、文档等)


我曾考虑过使用数据库,但我觉得仅仅用它来存储设置没有什么方便。你们有什么想法/建议???

在Visual Studio/.NET中没有远程应用程序设置文件的概念。但是,有许多方法可以通过文件或数据库存储和使用远程设置

你需要问自己的几个问题是

它是否在本地网络上,是否仅由本地网络上的客户端软件使用?例如,如果您在公司网络上编写Intranet应用程序,就会出现这种情况

如果是这样,那么您可以使用共享驱动器托管文件,并从具有相同确切文件路径的任何客户端读取文件

如果您打算在internet上使用它,您可以创建某种类型的服务,在调用时返回一个文件。类似于Web服务的东西,如果它是由Apache或IIS等Web服务器提供的

如果它是通过互联网进行的,我建议使用数据库。因为它已经设置为跨网络使用数据,并且您的记录只是一个数据结构,所以它可以存储在一个包含x个字段的文件中,也可以存储在一个包含x个字段的数据库表记录中


自定义配置文件的示例代码
嘿,谢谢,我实际上正在为局域网开发一个应用程序,一些基本的东西,没什么大不了的,但我确实需要从一个设置文件中读取程序的每个实例-我在互联网上搜索了所有地方,没有找到解释如何创建设置文件以及如何在单个共享位置设置设置文件的好文章。你能帮我找个链接吗?很抱歉,看起来在远程位置(不在.exe目录中)使用默认设置文件机制有点棘手,需要一些代码处理。创建自己的强类型设置文件似乎更容易。我为一个简单的appsettings类添加了一些代码,该类可以持久化到任何文件系统位置。这包括网络路径或本地文件系统路径。令人惊讶的是,感谢您的帮助,我能够调整这一点,并调整到我的需要,非常感谢!
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestAsync.Services
{
    public static class AppSettings
    {
        public static string SettingsFileLocation {get; set;}

        public static string Setting1 { get; set; }
        public static string Setting2 { get; set; }
        public static DateTime Setting3 { get; set; }

        static AppSettings()
        {           
            SettingsFileLocation = @"C:\Wherever\Whatever.config";
            LoadConfiguration();
        }

        public static void LoadConfiguration()
        {
           using(var fs = new StreamReader(File.OpenRead(SettingsFileLocation)))
           {
               Setting1 = fs.ReadLine();
               Setting2 = fs.ReadLine();
               Setting3 = DateTime.Parse(fs.ReadLine());
               fs.Close();
           }

        }

        public static void SaveConfiguration()
        {
            using (var fs = new StreamWriter(File.OpenWrite(SettingsFileLocation)))
            {
                fs.WriteLine(Setting1);
                fs.WriteLine(Setting2);
                fs.WriteLine(Setting3.ToShortDateString());
                fs.Flush();
                fs.Close();
            }
        }
    }
}