我正在尝试将文件写入网络共享。我很难让它上班。我在这个论坛上调查了用于访问共享的本地帐户,并找到了不同的结果:
networkservice(本地帐户) aspnet(本地帐户) 用户网络帐户(设置了人员) 这些的组合取决于应用程序生命周期中的阶段
如果我的文件共享位于单独的服务器上,我该如何设置它以便我可以像这样访问它:\ servername \ share name。我使用IIS版本6禁用了匿名身份验证。
答案 0 :(得分:1)
正确的语法是:
\\serverAddressOrName\share
假设权限是正确的,您应该能够像使用System.IO命名空间的物理路径名一样使用此路径。
答案 1 :(得分:1)
这是一个明确定义的行为,是设计的。基本上,您正在使用Web应用程序写入网络共享,如果您退后一步,看到您正在为您的资源向万维网打开一个大洞。如果这是必需的并且必须这样,我将在本地机器路径中创建这些文件,让我们说“d:\ data \ workingfolder”。编写一个实现filesystemwatcher监控此位置的Windows服务。并非详尽无遗,但这项服务将
我认为这是一个强大的解决方案(或者如果您愿意,可以解决这个问题),以确保您的资源安全,并且在某种程度上存在关注点分离(即Windows服务中的业务逻辑和通过UI收集数据)< / p>
但是,如果您仍然希望asp.net直接访问网络共享,那么您仍然可以使用模拟来执行此操作。 ASP.net在iusr_user **下运行。这是本地帐户,您无法为此帐户授予网络资源访问权限。该解决方案已有详细记录http://www.west-wind.com/weblog/posts/2005/Feb/24/Using-programmatic-Impersonation-from-an-ASPNET-Page
希望这会有所帮助,祝你好运
克里希纳