简体   繁体   English

IIS应用程序池访问网络MSMQ C#

[英]IIS app pool access network MSMQ c#

This is the scenario: 这是方案:

  1. We have an IIS set up on server A configured with own app pool and an ASP.NET API 我们在服务器A上设置了IIS,该服务器配置了自己的应用程序池和ASP.NET API
  2. We have two configured MSMQ services one in server A and another in server B 我们有两个配置的MSMQ服务,一个在服务器A中,另一个在服务器B中
  3. We configured access to MSMQ to default app pool in server A (IIS and MSMQ are on the same server) and the permissions work fine, only app pool can send messages 我们将对MSMQ的访问配置为访问服务器A中的默认应用程序池(IIS和MSMQ在同一服务器上),并且权限工作正常,只有应用程序池可以发送消息
  4. We tried to set up the same for MSMQ at server B (and no messages are sent from API) 4.1 We set permissions in MSMQ Server B to all users still no messages can be sent from API ( but we can send messages from a winforms test app) 我们尝试在服务器B上为MSMQ设置相同的内容(并且没有从API发送消息)。我们在MSMQ Server B中为所有用户设置了权限,但仍然无法从API发送消息(但是我们可以从winforms测试发送消息APP)

Has anyone faced similar situation? 有没有人遇到过类似的情况? Are there any specific setup for this ? 是否有为此特定的设置?

BR BR

Geo 地理

This sounds like The Double-Hop Problem and prohibits forwarding of client details from your server to another machine. 这听起来像是“双跳问题”,并且禁止将客户端详细信息从服务器转发到另一台计算机。 The issue does not occur when you have IIS and MSMQ on the same machine since there's only one hop (user to server). 当您在同一台计算机上具有IIS和MSMQ时,不会发生此问题,因为只有一跳(用户到服务器)。

There's a lot more technical details published on this at How to use the System.DirectoryServices namespace in ASP.NET , which explains the double-hop issue, and primary and secondary tokens. 如何使用ASP.NET中的System.DirectoryServices命名空间中 ,有许多有关此问题的技术详细信息,它解释了双跳问题以及主令牌和辅助令牌。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM