【问题标题】:FileSystemWatcher C# permission problemFileSystemWatcher C# 权限问题
【发布时间】:2014-05-23 04:34:57
【问题描述】:

我在一个域上,正在读取路径\\machinecap\platform\in

平台是共享的,在本地连接到E:\cappuccino\platform。该应用程序是使用 C# .NET 2.0 制作的 Windows 服务,它使用 FileSystemWatcher 读取路径 \\machinecap\platform\in 以获取创建和重命名的文件。

\\machinecap\platform(包括所有子目录)以来,我拥有“完全控制”权限,但仅此而已,无法访问服务器中的任何其他文件夹(是 Windows Server 2003)。

问题是当文件到达服务器时,服务崩溃,并且事件查看器中没有(下降)消息记录。为了追踪问题,我在服务器中登录并尝试手动运行应用程序执行的所有步骤。我可以在“in”文件夹中创建文件,但是我无法删除这些文件...显示错误消息:"E:\ is not accessible. Access is denied."

当然我无法访问 E:\ 根文件夹,只能访问E:\cappuccino\platform...这是问题所在吗?我是否真的必须授予对E:\ 的读取权限才能读取E:\cappuccino\platform

更多信息

异常信息:

Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.
An attempt was made to load a program with an incorrect format.
File name: 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'
   at TestRiskStore.ArisReportReader.CreateOrRename(Object source, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

请注意,我正在使用 Oracle.DataAccess 组件。我认为问题与此有关,不确定....知道如何解决此问题吗?

标签: c# .net .net-2.0 odp.net filesystemwatcher


【解决方案1】:

我发现了问题:我的机器是 32 位的,服务器是 64 位的,我正在编译应用程序以在任何平台上运行。问题是它安装在服务器上的 OracleDataAccess 组件是 32 位的,因此程序集只安装在 GAC_32 文件夹中。因此,当应用程序尝试在 64 位模式下运行时,它找不到程序集。

所以我只是将应用程序重新编译为 x86(32 位),它就可以工作了。现在应用程序在 32 位模式下运行,它会在正确的文件夹中查找程序集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多