Wcf服务在本地工作,但在iis7上不正确

时间:2013-12-19 09:11:44

标签: c# winforms wcf iis

我有一个测试gui(winform),用于测试我的wcf服务。服务调用是我的解决方案中的另一个项目,它使用一些windows api方法(user32.dll)来查找单词对话框。当我在本地测试时它工作正常,但是当我在iis中设置我的wcf服务并使用soapUI进行测试时,它无法检索并在单词对话框上执行所需的操作。

我怀疑因为我使用winform来测试服务,所以当我运行测试表单时,解决方案会创建实例/处理程序,以便在解决方案中使用Windows /对话框。单独测试服务而不创建测试winform不会使服务获得对话框...

这可能是在iss或其他地方的权限问题吗?我试图授予工作进程管理员权限,但maby我没有在错误的地方授予权限。我需要找出服务如何单独使用user32.dll方法保存windows / dialogbox?

windows 7 pro,iis7,vs2010

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

你的方法完全错了。它在Visual Studio下工作,因为它在您的用户帐户下运行,但一旦部署在IIS中,它就在App Pool帐户的上下文中运行,该帐户具有有限的权限且无法与Desktop交互。 即使您在Admin帐户下运行该服务,这是一个很大的安全漏洞,它只能用于本地窗口,而不能用于远程计算机上的Windows。 如果您更好地解释您的要求,我们可能会建议更好的方法。