从控制台应用程序引用的webservice获取控制台应用程序的app.config键

时间:2011-02-25 10:51:07

标签: c# web-services .net-2.0

我有一个控制台应用程序(比如CA),它调用许多web服务(比如WS1,WS2,WS3)。所有这些web服务都具有相同的结构(意思是:公开相同的web方法,但基于WS1,WS2,WS3的功能更改)。

使用单个代理从CA访问Web服务。 (意思是:所有Webservice的接口/ webmethods结构都相同)。

问题是:是否可以访问WS3中CA的app.config中的特定密钥,但同时我不应该更改webmethod的结构。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,CA正在调用webservices。所以webservice实际上并不知道正在调用的CA.

因此您无法从WS中访问任何未作为参数发送的数据。

但无论如何应该没有必要。

答案 1 :(得分:1)

服务无法访问有关客户端应用程序的任何信息。客户端是发起通信的客户端,客户端是确定向服务发送什么信息的客户端。相反,当服务向客户端发送数据时,服务处于完全控制状态。客户端无法获取服务以向其发送不想要的信息。

如果你愿意的话,那就是合作沟通。

因此,有几种方法可以达到最终结果:

  1. 更改方法签名 这样的参数之一 你正在寻找的“关键”和 客户端可以发送此信息 像任何一样到服务器 它发送给的其他参数 服务器
  2. 如果你有选项/能力,你可以让客户将这些额外的信息填充到Http Header中,让服务器从它收到的http头中提取这些信息。当然,如果你使用SOAP,你可能会发现这有点“尴尬”