2011-02-25 51 views
0

我有一个控制台应用程序(比如CA),它调用了许多Web服务(比如WS1,WS2,WS3)。所有这些Web服务将具有相同的结构(这意味着:公开了相同的webmethods,但基于WS1,WS2和WS3的功能更改)。从控制台引用的webservice获取控制台应用程序的app.config密钥

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

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

回答

2

如果我理解了CA正在调用web服务。所以webservice完全不了解正在调用的CA。

所以你不可能访问任何没有作为参数发送的WS数据。

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

1

服务无法访问有关客户端应用程序的任何内容。客户端是启动通信的客户端,而客户端则是决定向服务发送什么信息的客户端。相反,当服务向客户端发送数据时,服务处于完全控制之下。客户端无法让服务发送它不想要的信息。

所以这是一个合作的沟通,如果你愿意。

因此,有一对夫妇的方式,可以在其中实现最终的结果:

  1. 要么改变方法签名 使得 的参数之一的“钥匙”你正在寻找和 客户端可以将此信息 发送到服务器,就像发送到 服务器的其他参数一样。
  2. 如果您有选项/功能,您可以让客户端将这些额外信息填充到Http标头中,并让服务器从它收到的http标头中提取此信息。当然,如果你使用SOAP,你可能会发现这有点“尴尬”
相关问题