2010-08-02 62 views
0

我会尽力解释我的问题。使用2个不同项目的appSettings问题

我有2个分别在Visual Studio中相同应用程序的一部分单独的项目。其中一个是服务器端,另一个是客户端。

客户端片面项目使用名为XMLFileName一个关键的appSettings被用于从XML检索数据并填充与检索到的信息的数据集。在这个客户端项目中,我有一个方法在数据集中执行一些检查。

当我尝试从服务器端项目调用该方法时,我无法获取数据集填充,因为XMLFileName未被服务器端项目读取,因为它未在其应用程序设置中定义。如果我在服务器端项目上对文件名字符串进行硬编码,它将无法找到它,因为它看起来在不同的文件夹中。

我应该如何着手呢?我清楚了吗?

感谢, 伊顿B.

回答

0

我可能完全不了解问题,但听起来您有两种不同的应用程序(客户端和服务器)使用相同的方法(例如GetXmlFile())来检索相同的文件(File.xml)。如果是这种情况,那么您可能需要将XML文件放在可以通过UNC路径访问的共享驱动器上(例如`\ myclient \ XMLFiles \ File.xml')。

如果情况如此,您是否可以将方法GetXmlFile()更改为使用UNC路径访问该文件,并将UNC路径和文件名存储在appSettings中?

如果我错了解情况,请让我知道,我会相应地更新我的答案。

希望这会有所帮助。

+0

我希望服务器能够在不使用服务器的appSettings的情况下调用客户端的方法。目前,如果我通过服务器调用方法,并查看ConfigurationManager,则表明它正在读取web.config设置,而不是客户端中的app.config。我认为这是因为该方法正在从服务器调用。 你认为我应该如何解决这个问题? – 2010-08-03 15:40:30

+0

Web应用程序使用web.config设置,因为Web应用程序使用web.config,因为它是配置设置的起始点(默认情况下)。我认为,如果你希望客户端和服务器都读取同一个文件,你应该将读取文件的方法从客户端代码中抽象出来,将它添加到第三个项目(.DLL类库)中,将这个项目同时包含在客户端和服务器项目,并让每个进程(客户端和服务器)根据各自的appSettings或web.config配置设置确定XML文件的位置。 – 2010-08-03 16:43:28

+0

我认为,当控制传递给客户端时,其appSettings将适用。现在我知道假设从来不是一个好主意..坏的方法。现在我已经跳过了这个任务,因为对于我的新手开发技能来说,这看起来太令人生畏了。你说什么是有道理的,所以我会把它标记为我的答案。谢谢! – 2010-08-03 17:44:15

1

为什么不添加相同的设置服务器端项目?我错过了什么吗?

+0

是的,我可能没有足够好地解释自己。 XML文件包含的数据转化为DTO以便传输到数据库中。这个XML文件位于客户端机器上。 如果我添加XMLFileName关键服务器端项目的appSettings,例如与价值“File.xml”,它试图在某处读取文件该项目的文件夹,而不是客户端的一个内。 – 2010-08-03 00:28:36

+0

@Eton B:所以你希望你的服务器能够访问客户端的硬盘并从那里读取文件? – 2010-08-03 05:17:02

+0

并不完全,我希望服务器能够在不使用服务器的appSettings的情况下调用客户端的方法。 此刻,如果我叫通过服务器的方法,我看ConfigurationManager中,这表明它的读取web.config设置,而不是在客户端的app.config。我认为这是因为该方法正在从服务器调用。 – 2010-08-03 15:39:26