2012-07-06 42 views
0

我试图在我的服务器windows server2008上编写一个web服务来调用我的服务器上的某些应用程序。我用system.diagnostics.process类来调用exe文件。它在服务器本身上工作正常,但是当我通过不同的PC使用web服务时,出现错误消息,这是指定的文件未找到。但是当我刚启动cmd.exe时,它也可以正常工作。据我了解,我有权访问服务器,我至少可以运行cmd.exe。但是当涉及到调用不同的exe文件时,它不起作用。我还有另一个线索,当我远程运行cmd.exe时,它会运行,并且我试图远程杀死它,然后它给我提供错误“拒绝访问”。使用webservice调用应用程序

我不熟悉这种服务器访问权限作业。因此我需要一些帮助。 任何帮助,将不胜感激:)

回答

0

您需要确保IIS中的应用程序池作为有权执行该服务器上的可执行文件的权限的用户运行。

只是一个警告(如您所知):如果您将这些服务暴露在任何地方,这是一个巨大的安全风险。打开一个服务来运行应用程序可能是有风险的,所以我会确保没有其他方法来完成你想要完成的任务。

+0

所以你说我应该开放一个服务来运行应用程序,就像我之前做的一样,但是将该应用程序分配给具有必要权限的用户,但是在给予这些权限时我应该特别小心。我是否正确?如果是的话,这样做的方式是什么?你能请至少给我一些线索,开始研究它:)) – 2012-07-06 22:25:15

+0

正确。如果此Web服务托管在IIS中,请查看应用程序正在使用的App Pool配置。在那里你可以指定进程运行的用户,并且这应该是在服务器上具有必要权限的用户。在这里寻找更多的信息:http://technet.microsoft.com/en-us/library/cc771170(v=ws.10).aspx。 – 2012-07-06 22:28:33

+0

我已经看过这些页面。我明白我正在处理的是什么。我创建了一个新的应用程序池,将我的Web分配给我的Web服务,并将其作为标识分配给管理员。在此之前,我无法启动一些应用程序,但现在他们都开始了。但不幸的是,他们仍然没有任何用户界面:/我找到它,并且人们建议在管理工具 - >服务中启用“允许服务与桌面交互”复选框。但我似乎没有找到我自己的网络服务或IIS管理员。任何想法? – 2012-07-09 11:47:16

相关问题