public async void TestServer() { var server = new NetxServBuilder() .ConfigBase(p => { p.VerifyKey = "123123"; p.ServiceName = "IFServ"; }) .ConfigNetWork(p => p.Port = 1322) .RegisterDescriptors(p => { p.Configure <IFSOption>(option => { option.Path = "./"; }); p.AddSingleton <IUserVerification, UserVerification>(); }) .RegisterService(typeof(IFSController).Assembly) .Build(); server.Start(); var client = new IFSClient("127.0.0.1", 1322, "123123"); var service = client.GetFSService(); await service.LogOn("username", "password"); var dir = await service.GetFs("./"); Assert.True(dir.Count > 0); server.Stop(); }
public static bool SaveToLocal(this IFSClient client, string remoteFileName, string fileFullName) { Directory.CreateDirectory(Path.GetDirectoryName(fileFullName)); if (client is LocalFSClient) { var srcFileFullName = remoteFileName; if (!Path.IsPathRooted(remoteFileName)) { srcFileFullName = (client as LocalFSClient).GetFileFullName(remoteFileName); } if (!File.Exists(srcFileFullName)) { return(false); } if (File.Exists(fileFullName) && new FileInfo(fileFullName).FullName == new FileInfo(srcFileFullName).FullName)//skip the same file { return(true); } File.Copy(srcFileFullName, fileFullName); return(true); } if (client.Exists(remoteFileName)) { var bytes = client.Get(remoteFileName); using (var fs = File.Open(fileFullName, FileMode.Create)) { fs.Write(bytes, 0, bytes.Length); } return(true); } return(false); }