コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Artefacts.Service.ClientQueryProvider`1"/> class.
 /// </summary>
 /// <param name="repository">Repository.</param>
 /// <param name="visitor">Visitor.</param>
 public ClientQueryProvider(IRepository repository, ExpressionVisitor visitor = null)
 {
     if (repository == null)
         throw new ArgumentNullException("repository");
     Repository = repository;
     _clientProxy = new RepositoryClientProxy(new NetTcpBinding(SecurityMode.None), "net.tcp://localhost:3334/ArtefactRepository");
 }
コード例 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Artefacts.FileSystem.FileSystemArtefactCreator"/> class.
        /// </summary>
        /// <param name="repository">Repository.</param>
        public FileSystemArtefactCreator(RepositoryClientProxy repository)
        {
            if (Singleton != null)
                throw new InvalidOperationException("FileSystemArtefactCreator.c'tor: Singleton is not null");
            Singleton = this;

            BaseUri = new UriBuilder(Uri.UriSchemeFile, "localhost", 0, "/", "?*").Uri;

            if (repository == null)
                throw new ArgumentNullException("repository");
            Repository = repository;

            FileEntries = Repository.BuildBaseQuery<FileSystemEntry>();
            Files = Repository.BuildBaseQuery<File>();
            Directories = Repository.BuildBaseQuery<Directory>();
            Drives = Repository.BuildBaseQuery<Drive>();
            Disks = Repository.BuildBaseQuery<Disk>();
        }
コード例 #3
0
		/// <summary>
		/// Init this instance.
		/// </summary>
		public void Init()
		{
			Console.Write("ClientTest.Init: ");
			if (Thread.VolatileRead(ref _init) != 0)
				Console.WriteLine("Already initialised");
			else
			{
				Console.WriteLine("Initialising...");
				Thread.VolatileWrite(ref _init, 1);
				Artefact.ArtefactTypes.AddRange(_artefactTypes);
				
				if (UseServiceHostAsync)
				{
					_serviceHostThread = ArtefactHost.GetOrCreateAsyncThread(_artefactTypes, _defaultTimeout);
//					_shLogWriter = new LogTextWriter(_serviceHostLogFilePath);
					Thread.Sleep(_serviceHostStartDelay);
				}
				else if (UseServiceHostProc)
				{
					if (!ArtefactHost.IsRunning("ServiceHost.exe"))
					{
						IEnumerable<string> args =
							_artefactTypes.Select<Type, string>((T) => string.Concat("-A", Path.GetFileName(T.Assembly.Location))).Distinct()
							.Concat(_artefactTypes.Select<Type, string>((T) => string.Concat("-T", T.FullName)));
						_serviceHostProcess = ArtefactHost.ExecuteViaCommandLine("ServiceHost.exe", string.Join(" ", args));
//						AppDomain.CurrentDomain.ExecuteAssembly("ServiceHost.exe", args.ToArray());
						Thread.Sleep(_serviceHostStartDelay);
					}
				}
				
				_clientProxy = new RepositoryClientProxy(new NetTcpBinding(), "net.tcp://localhost:3334/ArtefactRepository");
				Console.WriteLine("\nService Artefact Repository: {0}\n", _clientProxy.ToString());
				_fsCreator = new FileSystemArtefactCreator(_clientProxy)
				{
					BasePath = "/media/Scarydoor/mystuff/moozik/samples/mycollections/"
				};		//_clientProxy.Artefacts
				Console.WriteLine("\nFS Creator: {0}\n", _fsCreator.ToString());
			}
		}
コード例 #4
0
		/// <summary>
		/// Init this instance.
		/// </summary>
		public void Init()
		{
			Console.Write("ClientTest.Init: ");
			if (Thread.VolatileRead(ref _init) != 0)
				Console.WriteLine("Already initialised");
			else
			{
				Console.WriteLine("Initialising...");
				Thread.VolatileWrite(ref _init, 1);
				Artefact.ArtefactTypes.AddRange(_artefactTypes);
				_shLogWriter = new LogTextWriter(_serviceHostLogFilePath);
				_serviceHostThread = ArtefactServiceHost.GetOrCreateAsyncThread(_artefactTypes, _defaultTimeout, _shLogWriter);
				_serviceHostThread.Start();
				Thread.Sleep(_serviceHostStartDelay);
				_clientProxy = new RepositoryClientProxy(new NetTcpBinding(), "net.tcp://localhost:3334/ArtefactRepository");
				Console.WriteLine("\nService Artefact Repository: {0}\n", _clientProxy.ToString());
				_fsCreator = new FileSystemArtefactCreator(_clientProxy)
				{
					BasePath = "/media/Scarydoor/mystuff/moozik/samples/mycollections/"
				};		//_clientProxy.Artefacts
				Console.WriteLine("\nFS Creator: {0}\n", _fsCreator.ToString());
			}
		}