3

我有一个 .NET 4.0 C# 控制台应用程序。该应用程序被部署到一个网络文件共享(我相信它是一个 Windows 2000 Server 文件服务器),如下所示:

\\server\share\Apps\Beta\Group\JobName\JobName.exe

将执行应用程序的代理机器是 Windows 2008 R2 Server,x64。我使用域用户帐户从命令行运行应用程序。当在某个帐户下运行时,我们将调用UserBeta,应用程序在尝试连接到 WCF 服务时会引发以下异常:

System.Configuration.ConfigurationErrorsException: Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section. ---> System.Net.Sockets.SocketException: An invalid argument was supplied

用户帐户UserBeta具有修改、读取和执行、列出文件夹内容、在文件夹Beta中引入并由上述路径中的子文件夹继承的读取和写入权限。如果我使用第二个用户帐户UserStage,它具有相同的权限,只是它们在Apps文件夹中被引入更高的一个文件夹,应用程序将毫无例外地运行。这两个帐户都属于代理服务器上的本地管理员组。

有趣的是,如果应用程序在作为UserStage执行后 15 秒左右以UserBeta 身份执行,它也会成功运行。

我还应该注意,如果从本地驱动器作为GroupBeta帐户运行该应用程序运行良好,因此从网络共享运行的特定帐户似乎存在某种信任问题。

我需要应用程序作为网络共享的UserBeta帐户运行。ClickOnce 当前不是一个选项。我相信我可以通过在Apps文件夹中添加UserBeta的权限来解决问题,但是我不喜欢在某些东西上投入更多的访问权限,除非这确实是问题所在。如果有人有任何其他想法或可以指出调整权限是正确做法的原因,我将不胜感激。

4

0 回答 0