2010-05-11 38 views
0

我使用本地IIS我的本地XP专业版的电脑上VS2008 C#和测试,我已经写了一个Web服务调用第三方软件.exe文件使用svn checkout命令将数据插入到使用System.Diagnostics.Process.Start的文件夹中。当我使用VS2008内置ASP.NET开发服务器(http://localhost:2999/MyServices/MyServices.asmx)时,相同的代码工作正常。但是当我使用IIS的普通URL(http://developer/MyServices/MyServices.asmx)在Web服务上运行Process.Start时,它只是萦绕在脑后,并没有做任何事情.plz发送一个示例程序。System.Diagnostics.Process.Start不使用IIS,ASP.NET,但开发服务器上

回答

4

这是最有可能下降到用户正在使用运行的代码。在使用内置服务器时,它以Visual Studio运行时的相同用户身份运行。在IIS中时,它将作为MACHINENAME \ ASPNET用户运行。

如果你开始不能执行作为MACHINENAME \ ASPNET用户的过程中,它不会在IIS托管,除非你改变你的配置,以改变它运行的用户时工作。请参阅this页面以获取有关在IIS中使用什么用户的更多信息。

+0

谢谢你的回答, 但我改变了<身份冒充=“真” />然后也赢得了它的工作。我不知道如何使用HttpContext Windows身份线程变量, 请用示例解释它对我的谦虚请求。 – subbu 2010-05-12 04:26:29

+1

@subbu,你真的需要了解更多关于ASP.NET模拟的信息。如果现在匿名访问为您的Web应用程序启用,则IUSR帐户用于执行该exe文件,如果此exe文件需要更多权限,则当然会失败。 – 2010-05-12 05:08:12

+0

那么如何给予IUSR机器账号更少的权限,现在我正在使用XP。 – subbu 2010-05-12 06:20:10

相关问题