必须使用动词SET的APP对象的精确标识符

时间:2013-02-20 16:30:41

标签: wcf msmq

我正在关注允许WCF从MSMQ读取数据的this文章,但是使用此命令收到错误

appcmd set app "MSMQ/MsmqService" /enabledProtocols:net.msmq

MSMQ是我的IIS托管网站的名称,MsmqService是.svc文件的名称。

我得到的错误是

ERROR ( message:Must use exact identifer for APP object with verb SET. )

这是我的网站在IIS中的样子

iis

2 个答案:

答案 0 :(得分:2)

@Sachin,您尝试通过运行此命令执行的操作是在虚拟目录的已启用协议中设置net.msmq。在此特定命令中,MsmqService是您的网站MSMQ下的vDir的名称。如果创建名为MsmqService的vDir并执行此命令,则命令将成功(而不是svc文件名)。并且svc文件应该具有.svc扩展名,以便IIS能够在请求到达时调用适当的处理程序。

或者,您可以按照以下说明在IIS UI中执行相同的操作:

  1. 来自运行提示的inetmgr
  2. 转到网站MSMQ
  3. 导航到vDir MsmqService。右键单击 - >管理应用程序 - > "高级设置......"
  4. 请注意名为"启用协议"的设置。在那里键入net.msmq。点击OK。

答案 1 :(得分:0)

我今天遇到了这个问题,因此这是“精确标识符”错误的解决方法:

更改

"MSMQ/MsmqService"

收件人

"MSMQ/MsmqService/"

appcmd仅希望路径的末尾包含斜杠(确切的标识符)。