Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 区分请求与客户端和其他服务_.net_Wcf_Wcf Extensions - Fatal编程技术网

.net 区分请求与客户端和其他服务

.net 区分请求与客户端和其他服务,.net,wcf,wcf-extensions,.net,Wcf,Wcf Extensions,我们有一个三层应用程序-基于winform的厚客户端,几个WCF服务托管在windows服务和sql中。一些WCF服务在客户端中提供特定于UI的功能,但也有一些服务正在运行以进行数据加载、处理、缓存等。因此,所有这些服务都会相互通信,并为来自客户端的请求提供服务 现在真正的问题来了:有没有办法了解请求是来自客户端还是来自其他服务。假设我编写了一个消息检查器,如果请求来自客户机(用户)或其他服务,我可以以某种方式进行解释 我正在努力实现的目标-如果您需要,这将在另一个线程中实现。但简单地说,我试图

我们有一个三层应用程序-基于winform的厚客户端,几个WCF服务托管在windows服务和sql中。一些WCF服务在客户端中提供特定于UI的功能,但也有一些服务正在运行以进行数据加载、处理、缓存等。因此,所有这些服务都会相互通信,并为来自客户端的请求提供服务

现在真正的问题来了:有没有办法了解请求是来自客户端还是来自其他服务。假设我编写了一个消息检查器,如果请求来自客户机(用户)或其他服务,我可以以某种方式进行解释

我正在努力实现的目标-如果您需要,这将在另一个线程中实现。但简单地说,我试图阻止用户访问这些服务,但是这些服务应该继续运行,并且可以访问其他服务

有没有办法了解 请求来自客户端或 另一项服务。假设我写一封信 留言检查员,我能帮你吗 如果有请求,请解释 通过客户端(用户)或 另一项服务


这是一项身份验证和授权任务。您的客户将在客户组中拥有帐户,而您的服务将在服务组中拥有帐户。您可能还需要一些定制的
ServiceAuthorizationManager
,它将检查是否允许客户端访问服务,并将它们传入或抛出异常。

您认为这可能是一个大问题吗?用户是否真的想调用您不想让他们调用的服务?请查看问题中的链接以了解场景的解释。另一个问题是关于停止所有请求-不是所有来自“用户”的请求,而是来自其他服务的请求。否。这里的情况不同。这完全与授权无关。有关该场景的一些说明,请参阅链接。希望有帮助。我读了那个链接,没关系。您想知道请求是来自服务还是来自客户端—您需要身份验证。您想要拒绝客户端访问服务-您想要授权。你想怎么说就怎么说,但那正是你需要的。您可以使用内置的东西,也可以为每个请求添加一些魔法域,然后手动执行。或者,您将为客户端和服务提供单独的服务,如果需要,您只需停止主机进行客户端服务。是的,这似乎很有帮助。通过本文了解如何在这里实现我需要的功能。非常感谢。