我需要通过c#代码从windows系统写入具有Samba服务器的Linux系统中存在的文件。我正处于评估的陈述阶段,所以我现在没有带有samba服务器的linux系统来测试我的代码。我发现了2个有用的链接,非常适合我的场景。http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/03bf0cf2-be80-43a4-870c-83727dee1c63和如何使用c#从Ubuntu/Samba读取共享文件?
我的问题是:我的c#应用程序并不固定于特定的系统。它是一个桌面应用程序,可以跨域出现在任何系统中。我是否需要输入2个用户名/密码?一个用于Unix系统,一个用于windows(客户端)系统?如何通过代码实现呢?
如果您可以按照自己的喜好配置Linux,那么您可以配置SAMBA共享,这样它就完全不需要用户名或密码了。这样做的缺点是网络中的任何人都可以写入和读取您的文件。
如果您使用samba共享的UNC路径(例如\IP-addresssharename),那么您不需要做任何特殊操作,您可以使用正常的c#文件系统函数通过UNC路径访问文件。