读取USB闪存盘问题

Geo*_*ge2 0 .net c# asp.net silverlight visual-studio-2008

我正在使用Visual Studio Team System 2008,C#,.NET 3.5,IIS 7.0和ASP.NET.我也在使用Silverlight 3.0.我想在客户端读取USB闪存盘的内容,使用USB闪存盘中的信息作为用户配置文件标识符 - 就像在线银行服务使用USB密钥存储客户端证书一样(但我的安全要求不是那么高).

如何读取Web应用程序(客户端)中USB闪存盘中特定文件的内容?我们可以在Silverlight中执行此操作(如果不能,可以使用任何其他解决方案来读取USB闪存盘内容)吗?

BTW:我想自动阅读内容,我不希望用户手动选择USB闪存盘上的特定文件进行阅读.

Mua*_*Dib 7

您无法在Silverlight中执行此操作.您可以在用户的​​计算机上读取文件,但不能在没有用户干预的情况下读取.Silverlight内置的安全模型不允许使用它.

您可以做的最好是读取用户指定的文件,让他们使用文件打开对话框浏览它.

如果您在本地使用控制台/ Windows窗体/ WPF应用程序,则可以访问USB /闪存驱动器.您可以使用DriveInfo该类找到驱动器,然后迭代它们或使用LINQ查询来查找您要访问的驱动器.有关详细信息,请参阅堆栈溢出问题" 如何查找USB驱动器号? ".获得路径后,可以在其中搜索所需的文件.您不需要特殊的API或库,Windows操作系统将USB驱动器视为普通驱动器,与连接到系统的"永久"HDD相同,并将在该级别为您完成所有脏工作.只需使用.NET I/O类.但是,如果您希望以不依赖于任何操作系统的独立方式访问驱动器,则应使用第三方库.