我正在使用VS2008 C#并在我的本地XP Pro PC上使用本地IIS进行测试,我已经编写了一个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时,它只是haunlted而没有做任何事情.plz发送一个示例程序。
答案 0 :(得分:4)
这很可能取决于用户运行代码。使用内置服务器时,它以与运行Visual Studio相同的用户身份运行。在IIS中,它将作为MACHINENAME \ ASPNET用户运行。
如果您启动的进程无法作为MACHINENAME \ ASPNET用户执行,则在IIS中托管时它将无法工作,除非您更改配置以更改其运行的用户。有关用户在IIS中使用的内容的详细信息,请参阅this页面。