You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/09/21 16:27:20 UTC

[24/52] [partial] ignite git commit: IGNITE-1513: Moved .Net.

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Account.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Account.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Account.cs
new file mode 100644
index 0000000..8e247e3
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Account.cs
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Account object. Used in transaction example.
+    /// </summary>
+    [Serializable]
+    public class Account
+    {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <param name="id">Account ID.</param>
+        /// <param name="balance">Account balance.</param>
+        public Account(int id, decimal balance)
+        {
+            Id = id;
+            Balance = balance;
+        }
+    
+        /// <summary>
+        /// Account ID.
+        /// </summary>
+        public int Id { get; set; }
+    
+        /// <summary>
+        /// Account balance.
+        /// </summary>
+        public decimal Balance { get; set; }
+
+        /// <summary>
+        /// Returns a string that represents the current object.
+        /// </summary>
+        /// <returns>
+        /// A string that represents the current object.
+        /// </returns>
+        override public String ToString()
+        {
+            return string.Format("{0} [id={1}, balance={2}]", typeof(Account).Name, Id, Balance);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Address.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Address.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Address.cs
new file mode 100644
index 0000000..ca069cb
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Address.cs
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using Apache.Ignite.Core.Portable;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Address.
+    /// </summary>
+    [Serializable]
+    public class Address : IPortableMarshalAware
+    {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <param name="street">Street.</param>
+        /// <param name="zip">ZIP code.</param>
+        public Address(string street, int zip)
+        {
+            Street = street;
+            Zip = zip;
+        }
+        
+        /// <summary>
+        /// Street.
+        /// </summary>
+        public string Street { get; set; }
+
+        /// <summary>
+        /// ZIP code.
+        /// </summary>
+        public int Zip { get; set; }
+
+        /// <summary>
+        /// Writes this object to the given writer.
+        /// </summary>
+        /// <param name="writer">Writer.</param>
+        public void WritePortable(IPortableWriter writer)
+        {
+            writer.WriteString("street", Street);
+            writer.WriteInt("zip", Zip);
+        }
+
+        /// <summary>
+        /// Reads this object from the given reader.
+        /// </summary>
+        /// <param name="reader">Reader.</param>
+        public void ReadPortable(IPortableReader reader)
+        {
+            Street = reader.ReadString("street");
+            Zip = reader.ReadInt("zip");
+        }
+
+        /// <summary>
+        /// Returns a string that represents the current object.
+        /// </summary>
+        /// <returns>
+        /// A string that represents the current object.
+        /// </returns>
+        override public string ToString()
+        {
+            return string.Format("{0} [street={1}, zip={2}]", typeof(Address).Name, Street, Zip);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Employee.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Employee.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Employee.cs
new file mode 100644
index 0000000..7f4388d
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Employee.cs
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Employee.
+    /// </summary>
+    [Serializable]
+    public class Employee
+    {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <param name="name">Name.</param>
+        /// <param name="salary">Salary.</param>
+        /// <param name="address">Address.</param>
+        /// <param name="departments">Departments.</param>
+        public Employee(string name, long salary, Address address, ICollection<string> departments)
+        {
+            Name = name;
+            Salary = salary;
+            Address = address;
+            Departments = departments;
+        }
+
+        /// <summary>
+        /// Name.
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// Salary.
+        /// </summary>
+        public long Salary { get; set; }
+
+        /// <summary>
+        /// Address.
+        /// </summary>
+        public Address Address { get; set; }
+
+        /// <summary>
+        /// Departments.
+        /// </summary>
+        public ICollection<string> Departments { get; set; }
+
+        /// <summary>
+        /// Returns a string that represents the current object.
+        /// </summary>
+        /// <returns>
+        /// A string that represents the current object.
+        /// </returns>
+        override public string ToString()
+        {
+            return string.Format("{0} [name={1}, salary={2}, address={3}, departments={4}]", typeof(Employee).Name, 
+                Name, Salary, Address, CollectionToString(Departments));
+        }
+
+        /// <summary>
+        /// Get string representation of collection.
+        /// </summary>
+        /// <returns></returns>
+        private static string CollectionToString<T>(ICollection<T> col)
+        {
+            if (col == null)
+                return "null";
+
+            var elements = col.Any() 
+                ? col.Select(x => x.ToString()).Aggregate((x, y) => x + ", " + y) 
+                : string.Empty;
+
+            return string.Format("[{0}]", elements);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/EmployeeKey.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/EmployeeKey.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/EmployeeKey.cs
new file mode 100644
index 0000000..2267154
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/EmployeeKey.cs
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Employee key. Used in query example to co-locate employees with their organizations.
+    /// </summary>
+    [Serializable]
+    public class EmployeeKey
+    {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <param name="id">ID.</param>
+        /// <param name="orgId">Organization ID.</param>
+        public EmployeeKey(int id, int orgId)
+        {
+            Id = id;
+            OrganizationId = orgId;
+        }
+
+        /// <summary>
+        /// ID.
+        /// </summary>
+        public int Id { get; private set; }
+
+        /// <summary>
+        /// Organization ID.
+        /// </summary>
+        public int OrganizationId { get; private set; }
+        
+        /// <summary>
+        /// Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
+        /// </summary>
+        /// <returns>
+        /// true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
+        /// </returns>
+        /// <param name="obj">The object to compare with the current object. </param><filterpriority>2</filterpriority>
+        public override bool Equals(object obj)
+        {
+            EmployeeKey other = obj as EmployeeKey;
+
+            return other != null && Id == other.Id && OrganizationId == other.OrganizationId;
+        }
+
+        /// <summary>
+        /// Serves as a hash function for a particular type. 
+        /// </summary>
+        /// <returns>
+        /// A hash code for the current <see cref="T:System.Object"/>.
+        /// </returns>
+        /// <filterpriority>2</filterpriority>
+        public override int GetHashCode()
+        {
+            return 31 * Id + OrganizationId;
+        }
+
+        /// <summary>
+        /// Returns a string that represents the current object.
+        /// </summary>
+        /// <returns>
+        /// A string that represents the current object.
+        /// </returns>
+        public override string ToString()
+        {
+            return string.Format("{0} [id={1}, organizationId={2}]", typeof (EmployeeKey).Name, Id, OrganizationId);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Organization.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Organization.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Organization.cs
new file mode 100644
index 0000000..e23c3c1
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/Organization.cs
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Organization.
+    /// </summary>
+    [Serializable]
+    public class Organization
+    {
+        /// <summary>
+        /// Default constructor.
+        /// </summary>
+        public Organization()
+        {
+            // No-op.
+        }
+
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <param name="name">Name.</param>
+        /// <param name="address">Address.</param>
+        /// <param name="type">Type.</param>
+        /// <param name="lastUpdated">Last update time.</param>
+        public Organization(string name, Address address, OrganizationType type, DateTime lastUpdated)
+        {
+            Name = name;
+            Address = address;
+            Type = type;
+            LastUpdated = lastUpdated;
+        }
+
+        /// <summary>
+        /// Name.
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// Address.
+        /// </summary>
+        public Address Address { get; set; }
+
+        /// <summary>
+        /// Type.
+        /// </summary>
+        public OrganizationType Type { get; set; }
+
+        /// <summary>
+        /// Last update time.
+        /// </summary>
+        public DateTime LastUpdated { get; set; }
+
+        /// <summary>
+        /// Returns a string that represents the current object.
+        /// </summary>
+        /// <returns>
+        /// A string that represents the current object.
+        /// </returns>
+        /// <filterpriority>2</filterpriority>
+        public override string ToString()
+        {
+            return string.Format("{0} [name={1}, address={2}, type={3}, lastUpdated={4}]", typeof (Organization).Name,
+                Name, Address, Type, LastUpdated);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/OrganizationType.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/OrganizationType.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/OrganizationType.cs
new file mode 100644
index 0000000..198edb1
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Portable/OrganizationType.cs
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.Ignite.ExamplesDll.Portable
+{
+    /// <summary>
+    /// Organization type.
+    /// </summary>
+    [Serializable]
+    public enum OrganizationType
+    {
+        /// <summary>
+        /// Non-profit organization.
+        /// </summary>
+        NonProfit,
+
+        /// <summary>
+        /// Private organization.
+        /// </summary>
+        Private,
+
+        /// <summary>
+        /// Government organization.
+        /// </summary>
+        Government
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Properties/AssemblyInfo.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f149d64
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Apache Ignite Examples Dll")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Software Foundation")]
+[assembly: AssemblyProduct("Apache Ignite")]
+[assembly: AssemblyCopyright("Copyright ©  2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("ce65ec7c-d3cf-41ad-8f45-f90d5af68d77")]
+
+[assembly: AssemblyVersion("1.5.0")]
+[assembly: AssemblyFileVersion("1.5.0")]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Services/MapService.cs
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Services/MapService.cs b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Services/MapService.cs
new file mode 100644
index 0000000..d577ff7
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Apache.Ignite.ExamplesDll/Services/MapService.cs
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using Apache.Ignite.Core;
+using Apache.Ignite.Core.Cache;
+using Apache.Ignite.Core.Resource;
+using Apache.Ignite.Core.Services;
+
+namespace Apache.Ignite.ExamplesDll.Services
+{
+    /// <summary>
+    /// Service implementation.
+    /// </summary>
+    [Serializable]
+    public class MapService<TK, TV> : IService
+    {
+        /** Injected Ignite instance. */
+#pragma warning disable 649
+        [InstanceResource] private readonly IIgnite _ignite;
+#pragma warning restore 649
+
+        /** Cache. */
+        private ICache<TK, TV> _cache;
+
+        /// <summary>
+        /// Initializes this instance before execution.
+        /// </summary>
+        /// <param name="context">Service execution context.</param>
+        public void Init(IServiceContext context)
+        {
+            // Create a new cache for every service deployment.
+            // Note that we use service name as cache name, which allows
+            // for each service deployment to use its own isolated cache.
+            _cache = _ignite.GetOrCreateCache<TK, TV>("MapService_" + context.Name);
+
+            Console.WriteLine("Service initialized: " + context.Name);
+        }
+
+        /// <summary>
+        /// Starts execution of this service. This method is automatically invoked whenever an instance of the service
+        /// is deployed on an Ignite node. Note that service is considered deployed even after it exits the Execute
+        /// method and can be cancelled (or undeployed) only by calling any of the Cancel methods on 
+        /// <see cref="IServices"/> API. Also note that service is not required to exit from Execute method until
+        /// Cancel method was called.
+        /// </summary>
+        /// <param name="context">Service execution context.</param>
+        public void Execute(IServiceContext context)
+        {
+            Console.WriteLine("Service started: " + context.Name);
+        }
+
+        /// <summary>
+        /// Cancels this instance.
+        /// <para/>
+        /// Note that Ignite cannot guarantee that the service exits from <see cref="IService.Execute"/>
+        /// method whenever <see cref="IService.Cancel"/> is called. It is up to the user to
+        /// make sure that the service code properly reacts to cancellations.
+        /// </summary>
+        /// <param name="context">Service execution context.</param>
+        public void Cancel(IServiceContext context)
+        {
+            Console.WriteLine("Service cancelled: " + context.Name);
+        }
+
+        /// <summary>
+        /// Puts an entry to the map.
+        /// </summary>
+        /// <param name="key">The key.</param>
+        /// <param name="value">The value.</param>
+        public void Put(TK key, TV value)
+        {
+            _cache.Put(key, value);
+        }
+
+        /// <summary>
+        /// Gets an entry from the map.
+        /// </summary>
+        /// <param name="key">The key.</param>
+        /// <returns>Entry value.</returns>
+        public TV Get(TK key)
+        {
+            return _cache.Get(key);
+        }
+
+        /// <summary>
+        /// Clears the map.
+        /// </summary>
+        public void Clear()
+        {
+            _cache.Clear();
+        }
+
+        /// <summary>
+        /// Gets the size of the map.
+        /// </summary>
+        /// <value>
+        /// The size.
+        /// </value>
+        public int Size
+        {
+            get { return _cache.GetSize(); }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Config/example-cache-query.xml
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Config/example-cache-query.xml b/modules/platform/dotnet/Examples/Config/example-cache-query.xml
new file mode 100644
index 0000000..c9ea7e1
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Config/example-cache-query.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd">
+    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
+        
+        <property name="platformConfiguration">
+            <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration">
+                <property name="portableConfiguration">
+                    <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetPortableConfiguration">
+                        <property name="types">
+                            <list>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Account</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Address</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Employee</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.EmployeeKey</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Organization</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.OrganizationType</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+
+        <!-- Cache configurations (all properties are optional). -->
+        <property name="cacheConfiguration">
+            <list>
+                <bean class="org.apache.ignite.configuration.CacheConfiguration">
+                    <property name="atomicityMode" value="ATOMIC"/>
+                    <property name="backups" value="1"/>
+
+                    <!-- Configure type metadata to enable queries. -->
+                    <property name="typeMetadata">
+                        <list>
+                            <bean class="org.apache.ignite.cache.CacheTypeMetadata">
+                                <property name="keyType" value="java.lang.Integer"/>
+                                <property name="valueType" value="Organization"/>
+                                <property name="ascendingFields">
+                                    <map>
+                                        <entry key="name" value="java.lang.String"/>
+                                    </map>
+                                </property>
+                            </bean>
+                            <bean class="org.apache.ignite.cache.CacheTypeMetadata">
+                                <property name="keyType" value="EmployeeKey"/>
+                                <property name="valueType" value="Employee"/>
+                                <property name="ascendingFields">
+                                    <map>
+                                        <entry key="organizationId" value="java.lang.Integer"/>
+                                        <entry key="address.zip" value="java.lang.Integer"/>
+                                    </map>
+                                </property>
+                                <property name="queryFields">
+                                    <map>
+                                        <entry key="name" value="java.lang.String"/>
+                                        <entry key="salary" value="java.lang.Long"/>
+                                    </map>
+                                </property>
+                                <property name="textFields">
+                                    <list>
+                                        <value>address.street</value>
+                                    </list>
+                                </property>
+                            </bean>
+                        </list>
+                    </property>
+                </bean>
+            </list>
+        </property>
+
+        <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
+        <property name="discoverySpi">
+            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
+                <property name="ipFinder">
+                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
+                        <property name="addresses">
+                            <list>
+                                <!-- In distributed environment, replace with actual host IP address. -->
+                                <value>127.0.0.1:47500..47501</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+    </bean>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Config/example-cache-store.xml
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Config/example-cache-store.xml b/modules/platform/dotnet/Examples/Config/example-cache-store.xml
new file mode 100644
index 0000000..adc5f45
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Config/example-cache-store.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd">
+    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
+        <property name="cacheConfiguration">
+            <list>
+                <bean class="org.apache.ignite.configuration.CacheConfiguration">
+                    <property name="writeThrough" value="true"/>
+                    <property name="readThrough" value="true"/>
+                    <property name="cacheStoreFactory">
+                        <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
+                            <property name="assemblyName" value="Apache.Ignite.ExamplesDll"/>
+                            <property name="className" value="Apache.Ignite.ExamplesDll.Datagrid.EmployeeStore"/>
+                        </bean>
+                    </property>
+                </bean>
+            </list>
+        </property>
+
+        <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
+        <property name="discoverySpi">
+            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
+                <property name="ipFinder">
+                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
+                        <property name="addresses">
+                            <list>
+                                <!-- In distributed environment, replace with actual host IP address. -->
+                                <value>127.0.0.1:47500..47501</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+    </bean>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Config/example-cache.xml
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Config/example-cache.xml b/modules/platform/dotnet/Examples/Config/example-cache.xml
new file mode 100644
index 0000000..a262ce1
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Config/example-cache.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd">
+    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
+        <!-- Set to true to enable distributed class loading for examples, default is false. -->
+        <property name="peerClassLoadingEnabled" value="true"/>
+
+        <property name="platformConfiguration">
+            <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration">
+                <property name="portableConfiguration">
+                    <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetPortableConfiguration">
+                        <property name="types">
+                            <list>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Account</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Address</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Employee</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.EmployeeKey</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.Organization</value>
+                                <value>Apache.Ignite.Examples.Dll.Portable.OrganizationType</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+
+        <property name="cacheConfiguration">
+            <list>
+                <bean class="org.apache.ignite.configuration.CacheConfiguration">
+                    <property name="name" value="cache*"/>
+                    <property name="atomicityMode" value="ATOMIC"/>
+                    <property name="backups" value="1"/>
+                </bean>
+
+                <bean class="org.apache.ignite.configuration.CacheConfiguration">
+                    <property name="name" value="tx"/>
+                    <property name="atomicityMode" value="TRANSACTIONAL"/>
+                    <property name="backups" value="1"/>
+                </bean>
+            </list>
+        </property>
+
+        <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
+        <property name="discoverySpi">
+            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
+                <property name="ipFinder">
+                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
+                        <property name="addresses">
+                            <list>
+                                <!-- In distributed environment, replace with actual host IP address. -->
+                                <value>127.0.0.1:47500..47501</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+    </bean>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/Config/example-compute.xml
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/Config/example-compute.xml b/modules/platform/dotnet/Examples/Config/example-compute.xml
new file mode 100644
index 0000000..bbc6550
--- /dev/null
+++ b/modules/platform/dotnet/Examples/Config/example-compute.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd">
+    <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
+        <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
+        <property name="discoverySpi">
+            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
+                <property name="ipFinder">
+                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
+                        <property name="addresses">
+                            <list>
+                                <!-- In distributed environment, replace with actual host IP address. -->
+                                <value>127.0.0.1:47500..47501</value>
+                            </list>
+                        </property>
+                    </bean>
+                </property>
+            </bean>
+        </property>
+		
+        <!-- Enable task execution events for examples. -->
+        <property name="includeEventTypes">
+            <list>
+                <!-- Task execution events -->
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_STARTED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_FINISHED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_FAILED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_TIMEDOUT"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_SESSION_ATTR_SET"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_TASK_REDUCED"/>
+                
+                <!-- Job execution events -->
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_MAPPED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_RESULTED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_FAILED_OVER"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_STARTED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_FINISHED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_TIMEDOUT"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_REJECTED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_FAILED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_QUEUED"/>
+                <util:constant static-field="org.apache.ignite.events.EventType.EVT_JOB_CANCELLED"/>
+            </list>
+        </property>		
+    </bean>
+</beans>

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/Examples/README.txt
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/Examples/README.txt b/modules/platform/dotnet/Examples/README.txt
new file mode 100644
index 0000000..c49dc5a
--- /dev/null
+++ b/modules/platform/dotnet/Examples/README.txt
@@ -0,0 +1,14 @@
+Apache Ignite .Net Examples
+==================================
+
+Common requirements
+----------------------------------
+ * Apache Ignite .Net library must be built using instructions from %IGNITE_HOME%\platforms\dotnet\README.txt.
+
+
+Running examples
+----------------------------------
+
+ * Open Visual Studio solution %IGNITE_HOME%\platforms\dotnet\examples\Apache.Ignite.Examples.sln
+ * Build Apache.Ignite.ExamplesDll project.
+ * Set desired example as startup object in Apache.Ignite.Examples project and run it.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/dotnet/README.txt
----------------------------------------------------------------------
diff --git a/modules/platform/dotnet/README.txt b/modules/platform/dotnet/README.txt
new file mode 100644
index 0000000..18a9317
--- /dev/null
+++ b/modules/platform/dotnet/README.txt
@@ -0,0 +1,24 @@
+Apache Ignite .Net
+==================================
+
+Apache Ignite .Net provides a full featured .NET data grid and .NET compute grid functionality.
+Using Apache Ignite .NET APIs you can execute any computation closure on the grid,
+perform concurrent operations on the data stored in cache, start ACID transactions,
+create distributed locks, subscribe for event listeners, etc.
+
+Full source code is provided. Users should build the library for intended platform.
+
+Common Requirements:
+
+ * Microsoft Visual Studio (tm) 2010 or later
+ * Microsoft Visual C++ 2010 Redistributable Package: http://www.microsoft.com/en-us/download/details.aspx?id=14632
+ * Java Development Kit (JDK): https://java.com/en/download/index.jsp
+ * JAVA_HOME environment variable must be set pointing to Java installation directory.
+
+Building the library:
+ * Open and build %IGNITE_HOME%\platforms\dotnet\Apache.Ignite.sln (or Apache.Ignite_x86.sln if you are running
+   32-bit platform).
+
+Development:
+ * Add the library Apache.Ignite.Core.dll to your project references.
+ * To start Apache Ignite as a standalone node or Windows service use Apache.Ignite.exe.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
deleted file mode 100644
index 3f20324..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ /dev/null
@@ -1,373 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{4CD2F726-7E2B-46C4-A5BA-057BB82EECB6}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Apache.Ignite.Core</RootNamespace>
-    <AssemblyName>Apache.Ignite.Core</AssemblyName>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DefineConstants>DEBUG</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <PlatformTarget>x64</PlatformTarget>
-    <OutputPath>bin\x64\Release\</OutputPath>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DefineConstants>DEBUG</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <PlatformTarget>x86</PlatformTarget>
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>false</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <PropertyGroup>
-    <DelaySign>false</DelaySign>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Cache\CacheAtomicUpdateTimeoutException.cs" />
-    <Compile Include="Cache\CacheEntryProcessorException.cs" />
-    <Compile Include="Cache\CacheException.cs" />
-    <Compile Include="Cache\CachePartialUpdateException.cs" />
-    <Compile Include="Cache\CachePeekMode.cs" />
-    <Compile Include="Cache\Event\CacheEntryEventType.cs" />
-    <Compile Include="Cache\Event\ICacheEntryEvent.cs" />
-    <Compile Include="Cache\Event\ICacheEntryEventFilter.cs" />
-    <Compile Include="Cache\Event\ICacheEntryEventListener.cs" />
-    <Compile Include="Cache\Expiry\ExpiryPolicy.cs" />
-    <Compile Include="Cache\Expiry\IExpiryPolicy.cs" />
-    <Compile Include="Cache\ICache.cs" />
-    <Compile Include="Cache\ICacheAffinity.cs" />
-    <Compile Include="Cache\ICacheEntry.cs" />
-    <Compile Include="Cache\ICacheEntryFilter.cs" />
-    <Compile Include="Cache\ICacheEntryProcessor.cs" />
-    <Compile Include="Cache\ICacheEntryProcessorResult.cs" />
-    <Compile Include="Cache\ICacheLock.cs" />
-    <Compile Include="Cache\ICacheMetrics.cs" />
-    <Compile Include="Cache\IMutableCacheEntry.cs" />
-    <Compile Include="Cache\Query\Continuous\ContinuousQuery.cs" />
-    <Compile Include="Cache\Query\Continuous\IContinuousQueryHandle.cs" />
-    <Compile Include="Cache\Query\IQueryCursor.cs" />
-    <Compile Include="Cache\Query\QueryBase.cs" />
-    <Compile Include="Cache\Query\ScanQuery.cs" />
-    <Compile Include="Cache\Query\SqlFieldsQuery.cs" />
-    <Compile Include="Cache\Query\SqlQuery.cs" />
-    <Compile Include="Cache\Query\TextQuery.cs" />
-    <Compile Include="Cache\Store\CacheParallelLoadStoreAdapter.cs" />
-    <Compile Include="Cache\Store\CacheStoreAdapter.cs" />
-    <Compile Include="Cache\Store\CacheStoreException.cs" />
-    <Compile Include="Cache\Store\ICacheStore.cs" />
-    <Compile Include="Cache\Store\ICacheStoreSession.cs" />
-    <Compile Include="Cluster\ClusterGroupEmptyException.cs" />
-    <Compile Include="Cluster\ClusterTopologyException.cs" />
-    <Compile Include="Cluster\ICluster.cs" />
-    <Compile Include="Cluster\IClusterGroup.cs" />
-    <Compile Include="Cluster\IClusterMetrics.cs" />
-    <Compile Include="Cluster\IClusterNode.cs" />
-    <Compile Include="Cluster\IClusterNodeFilter.cs" />
-    <Compile Include="Common\IgniteException.cs" />
-    <Compile Include="Common\IAsyncSupport.cs" />
-    <Compile Include="Common\IFuture.cs" />
-    <Compile Include="Common\IgniteGuid.cs" />
-    <Compile Include="Compute\ComputeExecutionRejectedException.cs" />
-    <Compile Include="Compute\ComputeJobAdapter.cs" />
-    <Compile Include="Compute\ComputeJobFailoverException.cs" />
-    <Compile Include="Compute\ComputeJobResultPolicy.cs" />
-    <Compile Include="Compute\ComputeTaskAdapter.cs" />
-    <Compile Include="Compute\ComputeTaskCancelledException.cs" />
-    <Compile Include="Compute\ComputeTaskNoResultCacheAttribute.cs" />
-    <Compile Include="Compute\ComputeTaskSplitAdapter.cs" />
-    <Compile Include="Compute\ComputeTaskTimeoutException.cs" />
-    <Compile Include="Compute\ComputeUserUndeclaredException.cs" />
-    <Compile Include="Compute\ICompute.cs" />
-    <Compile Include="Compute\IComputeFunc.cs" />
-    <Compile Include="Compute\IComputeJob.cs" />
-    <Compile Include="Compute\IComputeJobResult.cs" />
-    <Compile Include="Compute\IComputeReducer.cs" />
-    <Compile Include="Compute\IComputeTask.cs" />
-    <Compile Include="Datastream\IDataStreamer.cs" />
-    <Compile Include="Datastream\IStreamReceiver.cs" />
-    <Compile Include="Datastream\StreamTransformer.cs" />
-    <Compile Include="Datastream\StreamVisitor.cs" />
-    <Compile Include="Events\CacheEvent.cs" />
-    <Compile Include="Events\CacheQueryExecutedEvent.cs" />
-    <Compile Include="Events\CacheQueryReadEvent.cs" />
-    <Compile Include="Events\CacheRebalancingEvent.cs" />
-    <Compile Include="Events\CheckpointEvent.cs" />
-    <Compile Include="Events\DiscoveryEvent.cs" />
-    <Compile Include="Events\EventBase.cs" />
-    <Compile Include="Events\EventReader.cs" />
-    <Compile Include="Events\EventType.cs" />
-    <Compile Include="Events\IEvent.cs" />
-    <Compile Include="Events\IEventFilter.cs" />
-    <Compile Include="Events\IEvents.cs" />
-    <Compile Include="Events\JobEvent.cs" />
-    <Compile Include="Events\SwapSpaceEvent.cs" />
-    <Compile Include="Events\TaskEvent.cs" />
-    <Compile Include="IgniteConfiguration.cs" />
-    <Compile Include="Ignition.cs" />
-    <Compile Include="Common\AsyncSupportedAttribute.cs" />
-    <Compile Include="IIgnite.cs" />
-    <Compile Include="Impl\Cache\CacheAffinityImpl.cs" />
-    <Compile Include="Impl\Cache\CacheEntry.cs" />
-    <Compile Include="Impl\Cache\CacheEntryFilterHolder.cs" />
-    <Compile Include="Impl\Cache\CacheEntryProcessorHolder.cs" />
-    <Compile Include="Impl\Cache\CacheEntryProcessorResult.cs" />
-    <Compile Include="Impl\Cache\CacheEntryProcessorResultHolder.cs" />
-    <Compile Include="Impl\Cache\CacheEnumerable.cs" />
-    <Compile Include="Impl\Cache\CacheEnumerator.cs" />
-    <Compile Include="Impl\Cache\CacheEnumeratorProxy.cs" />
-    <Compile Include="Impl\Cache\CacheImpl.cs" />
-    <Compile Include="Impl\Cache\CacheLock.cs" />
-    <Compile Include="Impl\Cache\CacheMetricsImpl.cs" />
-    <Compile Include="Impl\Cache\CacheOp.cs" />
-    <Compile Include="Impl\Cache\CacheProxyImpl.cs" />
-    <Compile Include="Impl\Cache\Event\CacheEntryCreateEvent.cs" />
-    <Compile Include="Impl\Cache\Event\CacheEntryRemoveEvent.cs" />
-    <Compile Include="Impl\Cache\Event\CacheEntryUpdateEvent.cs" />
-    <Compile Include="Impl\Cache\MutableCacheEntry.cs" />
-    <Compile Include="Impl\Cache\Query\AbstractQueryCursor.cs" />
-    <Compile Include="Impl\Cache\Query\Continuous\ContinuousQueryFilter.cs" />
-    <Compile Include="Impl\Cache\Query\Continuous\ContinuousQueryFilterHolder.cs" />
-    <Compile Include="Impl\Cache\Query\Continuous\ContinuousQueryHandleImpl.cs" />
-    <Compile Include="Impl\Cache\Query\Continuous\ContinuousQueryUtils.cs" />
-    <Compile Include="Impl\Cache\Query\FieldsQueryCursor.cs" />
-    <Compile Include="Impl\Cache\Query\QueryCursor.cs" />
-    <Compile Include="Impl\Cache\Store\CacheStore.cs" />
-    <Compile Include="Impl\Cache\Store\CacheStoreSession.cs" />
-    <Compile Include="Impl\Cache\Store\CacheStoreSessionProxy.cs" />
-    <Compile Include="Impl\Cluster\ClusterGroupImpl.cs" />
-    <Compile Include="Impl\Cluster\ClusterMetricsImpl.cs" />
-    <Compile Include="Impl\Cluster\ClusterNodeImpl.cs" />
-    <Compile Include="Impl\Cluster\IClusterGroupEx.cs" />
-    <Compile Include="Impl\Collections\CollectionExtensions.cs" />
-    <Compile Include="Impl\Collections\MultiValueDictionary.cs" />
-    <Compile Include="Impl\Collections\ReadOnlyCollection.cs" />
-    <Compile Include="Impl\Collections\ReadOnlyDictionary.cs" />
-    <Compile Include="Impl\Common\AsyncResult.cs" />
-    <Compile Include="Impl\Common\CompletedAsyncResult.cs" />
-    <Compile Include="Impl\Common\CopyOnWriteConcurrentDictionary.cs" />
-    <Compile Include="Impl\Common\DelegateConverter.cs" />
-    <Compile Include="Impl\Common\DelegateTypeDescriptor.cs" />
-    <Compile Include="Impl\Common\Future.cs" />
-    <Compile Include="Impl\Common\FutureConverter.cs" />
-    <Compile Include="Impl\Common\FutureType.cs" />
-    <Compile Include="Impl\Common\IgniteArgumentCheck.cs" />
-    <Compile Include="Impl\Common\IFutureConverter.cs" />
-    <Compile Include="Impl\Common\IFutureInternal.cs" />
-    <Compile Include="Impl\Common\LoadedAssembliesResolver.cs" />
-    <Compile Include="Impl\Common\PortableResultWrapper.cs" />
-    <Compile Include="Impl\Common\TypeCaster.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeAbstractClosureTask.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeActionJob.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeFuncJob.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeMultiClosureTask.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeOutFuncJob.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeReducingClosureTask.cs" />
-    <Compile Include="Impl\Compute\Closure\ComputeSingleClosureTask.cs" />
-    <Compile Include="Impl\Compute\Closure\IComputeResourceInjector.cs" />
-    <Compile Include="Impl\Compute\Compute.cs" />
-    <Compile Include="Impl\Compute\ComputeAsync.cs" />
-    <Compile Include="Impl\Compute\ComputeFunc.cs" />
-    <Compile Include="Impl\Compute\ComputeImpl.cs" />
-    <Compile Include="Impl\Compute\ComputeJob.cs" />
-    <Compile Include="Impl\Compute\ComputeJobHolder.cs" />
-    <Compile Include="Impl\Compute\ComputeJobResultGenericWrapper.cs" />
-    <Compile Include="Impl\Compute\ComputeJobResultImpl.cs" />
-    <Compile Include="Impl\Compute\ComputeOutFunc.cs" />
-    <Compile Include="Impl\Compute\ComputeTaskHolder.cs" />
-    <Compile Include="Impl\Datastream\DataStreamerBatch.cs" />
-    <Compile Include="Impl\Datastream\DataStreamerEntry.cs" />
-    <Compile Include="Impl\Datastream\DataStreamerImpl.cs" />
-    <Compile Include="Impl\Datastream\DataStreamerRemoveEntry.cs" />
-    <Compile Include="Impl\Datastream\StreamReceiverHolder.cs" />
-    <Compile Include="Impl\Events\Events.cs" />
-    <Compile Include="Impl\Events\EventsAsync.cs" />
-    <Compile Include="Impl\Events\RemoteListenEventFilter.cs" />
-    <Compile Include="Impl\ExceptionUtils.cs" />
-    <Compile Include="Impl\IgniteConfigurationEx.cs" />
-    <Compile Include="Impl\Ignite.cs" />
-    <Compile Include="Impl\IgniteManager.cs" />
-    <Compile Include="Impl\IgniteProxy.cs" />
-    <Compile Include="Impl\PlatformTarget.cs" />
-    <Compile Include="Impl\IgniteUtils.cs" />
-    <Compile Include="Impl\Handle\Handle.cs" />
-    <Compile Include="Impl\Handle\HandleRegistry.cs" />
-    <Compile Include="Impl\Handle\IHandle.cs" />
-    <Compile Include="Impl\IInteropCallback.cs" />
-    <Compile Include="Impl\InteropExceptionHolder.cs" />
-    <Compile Include="Impl\LifecycleBeanHolder.cs" />
-    <Compile Include="Impl\Memory\InteropExternalMemory.cs" />
-    <Compile Include="Impl\Memory\InteropMemoryUtils.cs" />
-    <Compile Include="Impl\Memory\IPlatformMemory.cs" />
-    <Compile Include="Impl\Memory\PlatformBigEndianMemoryStream.cs" />
-    <Compile Include="Impl\Memory\PlatformMemory.cs" />
-    <Compile Include="Impl\Memory\PlatformMemoryManager.cs" />
-    <Compile Include="Impl\Memory\PlatformMemoryPool.cs" />
-    <Compile Include="Impl\Memory\PlatformMemoryStream.cs" />
-    <Compile Include="Impl\Memory\PlatformMemoryUtils.cs" />
-    <Compile Include="Impl\Memory\PlatformPooledMemory.cs" />
-    <Compile Include="Impl\Memory\PlatformRawMemory.cs" />
-    <Compile Include="Impl\Memory\PlatformUnpooledMemory.cs" />
-    <Compile Include="Impl\Messaging\MessageFilterHolder.cs" />
-    <Compile Include="Impl\Messaging\Messaging.cs" />
-    <Compile Include="Impl\Messaging\MessagingAsync.cs" />
-    <Compile Include="Impl\NativeMethods.cs" />
-    <Compile Include="Impl\Portable\IO\IPortableStream.cs" />
-    <Compile Include="Impl\Portable\IO\PortableAbstractStream.cs" />
-    <Compile Include="Impl\Portable\IO\PortableHeapStream.cs" />
-    <Compile Include="Impl\Portable\IO\PortableStreamAdapter.cs" />
-    <Compile Include="Impl\Portable\IPortableSystemTypeSerializer.cs" />
-    <Compile Include="Impl\Portable\IPortableTypeDescriptor.cs" />
-    <Compile Include="Impl\Portable\IPortableWriteAware.cs" />
-    <Compile Include="Impl\Portable\Metadata\IPortableMetadataHandler.cs" />
-    <Compile Include="Impl\Portable\Metadata\PortableHashsetMetadataHandler.cs" />
-    <Compile Include="Impl\Portable\Metadata\PortableMetadataHolder.cs" />
-    <Compile Include="Impl\Portable\Metadata\PortableMetadataImpl.cs" />
-    <Compile Include="Impl\Portable\PortableBuilderField.cs" />
-    <Compile Include="Impl\Portable\PortableBuilderImpl.cs" />
-    <Compile Include="Impl\Portable\PortableCollectionInfo.cs" />
-    <Compile Include="Impl\Portable\PortableFullTypeDescriptor.cs" />
-    <Compile Include="Impl\Portable\PortableHandleDictionary.cs" />
-    <Compile Include="Impl\Portable\PortableMarshalAwareSerializer.cs" />
-    <Compile Include="Impl\Portable\PortableMarshaller.cs" />
-    <Compile Include="Impl\Portable\PortableMode.cs" />
-    <Compile Include="Impl\Portable\PortableObjectHandle.cs" />
-    <Compile Include="Impl\Portable\PortableOrSerializableObjectHolder.cs" />
-    <Compile Include="Impl\Portable\PortableReaderHandleDictionary.cs" />
-    <Compile Include="Impl\Portable\PortableReaderImpl.cs" />
-    <Compile Include="Impl\Portable\PortableReflectiveRoutines.cs" />
-    <Compile Include="Impl\Portable\PortableReflectiveSerializer.cs" />
-    <Compile Include="Impl\Portable\PortablesImpl.cs" />
-    <Compile Include="Impl\Portable\PortableSurrogateTypeDescriptor.cs" />
-    <Compile Include="Impl\Portable\PortableSystemHandlers.cs" />
-    <Compile Include="Impl\Portable\PortableSystemTypeSerializer.cs" />
-    <Compile Include="Impl\Portable\PortableUserObject.cs" />
-    <Compile Include="Impl\Portable\PortableUtils.cs" />
-    <Compile Include="Impl\Portable\PortableWriterImpl.cs" />
-    <Compile Include="Impl\Portable\SerializableObjectHolder.cs" />
-    <Compile Include="Impl\Portable\TypeResolver.cs" />
-    <Compile Include="Impl\Resource\IResourceInjector.cs" />
-    <Compile Include="Impl\Resource\ResourceFieldInjector.cs" />
-    <Compile Include="Impl\Resource\ResourceMethodInjector.cs" />
-    <Compile Include="Impl\Resource\ResourceProcessor.cs" />
-    <Compile Include="Impl\Resource\ResourcePropertyInjector.cs" />
-    <Compile Include="Impl\Resource\ResourceTypeDescriptor.cs" />
-    <Compile Include="Impl\Services\ServiceContext.cs" />
-    <Compile Include="Impl\Services\ServiceDescriptor.cs" />
-    <Compile Include="Impl\Services\ServiceProxy.cs" />
-    <Compile Include="Impl\Services\ServiceProxyInvoker.cs" />
-    <Compile Include="Impl\Services\ServiceProxySerializer.cs" />
-    <Compile Include="Impl\Services\Services.cs" />
-    <Compile Include="Impl\Services\ServicesAsync.cs" />
-    <Compile Include="Impl\Transactions\AsyncTransaction.cs" />
-    <Compile Include="Impl\Transactions\Transaction.cs" />
-    <Compile Include="Impl\Transactions\TransactionImpl.cs" />
-    <Compile Include="Impl\Transactions\TransactionMetricsImpl.cs" />
-    <Compile Include="Impl\Transactions\TransactionsImpl.cs" />
-    <Compile Include="Impl\Unmanaged\IUnmanagedTarget.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedCallbackHandlers.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedCallbacks.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedContext.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedNonReleaseableTarget.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedTarget.cs" />
-    <Compile Include="Impl\Unmanaged\UnmanagedUtils.cs" />
-    <Compile Include="Lifecycle\ILifecycleBean.cs" />
-    <Compile Include="Lifecycle\LifecycleEventType.cs" />
-    <Compile Include="Messaging\IMessageFilter.cs" />
-    <Compile Include="Messaging\IMessaging.cs" />
-    <Compile Include="Portable\IPortableBuilder.cs" />
-    <Compile Include="Portable\IPortableIdMapper.cs" />
-    <Compile Include="Portable\IPortableMarshalAware.cs" />
-    <Compile Include="Portable\IPortableMetadata.cs" />
-    <Compile Include="Portable\IPortableNameMapper.cs" />
-    <Compile Include="Portable\IPortableObject.cs" />
-    <Compile Include="Portable\IPortableRawReader.cs" />
-    <Compile Include="Portable\IPortableRawWriter.cs" />
-    <Compile Include="Portable\IPortableReader.cs" />
-    <Compile Include="Portable\IPortables.cs" />
-    <Compile Include="Portable\IPortableSerializer.cs" />
-    <Compile Include="Portable\IPortableWriter.cs" />
-    <Compile Include="Portable\PortableConfiguration.cs" />
-    <Compile Include="Portable\PortableException.cs" />
-    <Compile Include="Portable\PortableTypeConfiguration.cs" />
-    <Compile Include="Portable\PortableTypeNames.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Resource\InstanceResourceAttribute.cs" />
-    <Compile Include="Resource\StoreSessionResourceAttribute.cs" />
-    <Compile Include="Services\IService.cs" />
-    <Compile Include="Services\IServiceContext.cs" />
-    <Compile Include="Services\IServiceDescriptor.cs" />
-    <Compile Include="Services\IServices.cs" />
-    <Compile Include="Services\ServiceConfiguration.cs" />
-    <Compile Include="Services\ServiceInvocationException.cs" />
-    <Compile Include="Transactions\ITransaction.cs" />
-    <Compile Include="Transactions\ITransactionMetrics.cs" />
-    <Compile Include="Transactions\ITransactions.cs" />
-    <Compile Include="Transactions\TransactionConcurrency.cs" />
-    <Compile Include="Transactions\TransactionHeuristicException.cs" />
-    <Compile Include="Transactions\TransactionIsolation.cs" />
-    <Compile Include="Transactions\TransactionOptimisticException.cs" />
-    <Compile Include="Transactions\TransactionRollbackException.cs" />
-    <Compile Include="Transactions\TransactionState.cs" />
-    <Compile Include="Transactions\TransactionTimeoutException.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\cpp\common\project\vs\common.vcxproj">
-      <Project>{4f7e4917-4612-4b96-9838-025711ade391}</Project>
-      <Name>common</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <EmbeddedResource Include="$(SolutionDir)\x64\Debug\ignite.common.dll">
-      <Link>resources\debug\x64\ignite.common.dll</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <EmbeddedResource Include="$(SolutionDir)\x64\Release\ignite.common.dll">
-      <Link>resources\release\x64\ignite.common.dll</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <EmbeddedResource Include="$(SolutionDir)\Win32\Debug\ignite.common.dll">
-      <Link>resources\debug\x86\ignite.common.dll</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <EmbeddedResource Include="$(SolutionDir)\Win32\Release\ignite.common.dll">
-      <Link>resources\release\x86\ignite.common.dll</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheAtomicUpdateTimeoutException.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheAtomicUpdateTimeoutException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheAtomicUpdateTimeoutException.cs
deleted file mode 100644
index f0b5987..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheAtomicUpdateTimeoutException.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache
-{
-    using System;
-    using System.Runtime.Serialization;
-
-    /// <summary>
-    /// Indicates atomic operation timeout.
-    /// </summary>
-    [Serializable]
-    public class CacheAtomicUpdateTimeoutException : CacheException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheAtomicUpdateTimeoutException"/> class.
-        /// </summary>
-        public CacheAtomicUpdateTimeoutException()
-        {
-            // No-op.
-        }
-
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheAtomicUpdateTimeoutException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public CacheAtomicUpdateTimeoutException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheAtomicUpdateTimeoutException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public CacheAtomicUpdateTimeoutException(string message, Exception cause) : base(message, cause)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheAtomicUpdateTimeoutException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected CacheAtomicUpdateTimeoutException(SerializationInfo info, StreamingContext ctx) : base(info, ctx)
-        {
-            // No-op.
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheEntryProcessorException.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheEntryProcessorException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheEntryProcessorException.cs
deleted file mode 100644
index 341c713..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheEntryProcessorException.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// An exception to indicate a problem occurred attempting to execute an 
-    /// <see cref="ICacheEntryProcessor{K, V, A, R}"/> against an entry.
-    /// </summary>
-    [Serializable]
-    public class CacheEntryProcessorException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheEntryProcessorException"/> class.
-        /// </summary>
-        public CacheEntryProcessorException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheEntryProcessorException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public CacheEntryProcessorException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheEntryProcessorException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public CacheEntryProcessorException(string message, Exception cause)
-            : base(message, cause)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheEntryProcessorException"/> class.
-        /// </summary>
-        /// <param name="innerException">The inner exception.</param>
-        public CacheEntryProcessorException(Exception innerException)
-            : base("Error occurred in CacheEntryProcessor, see InnerException for details.", innerException)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheEntryProcessorException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected CacheEntryProcessorException(SerializationInfo info, StreamingContext ctx) : base(info, ctx)
-        {
-            // No-op.
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheException.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheException.cs
deleted file mode 100644
index c00f115..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CacheException.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache
-{
-    using System;
-    using System.Runtime.Serialization;
-    using Apache.Ignite.Core.Common;
-
-    /// <summary>
-    /// Indicates an error during Cache operation.
-    /// </summary>
-    [Serializable]
-    public class CacheException : IgniteException
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheException"/> class.
-        /// </summary>
-        public CacheException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public CacheException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheException"/> class.
-        /// </summary>
-        /// <param name="message">The message.</param>
-        /// <param name="cause">The cause.</param>
-        public CacheException(string message, Exception cause) : base(message, cause)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CacheException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected CacheException(SerializationInfo info, StreamingContext ctx)
-            : base(info, ctx)
-        {
-            // No-op.
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePartialUpdateException.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePartialUpdateException.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePartialUpdateException.cs
deleted file mode 100644
index b3ed537..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePartialUpdateException.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache
-{
-    using System;
-    using System.Collections.Generic;
-    using System.Linq;
-    using System.Runtime.Serialization;
-
-    /// <summary>
-    /// Exception thrown from non-transactional cache in case when update succeeded only partially.
-    /// </summary>
-    [Serializable]
-    public class CachePartialUpdateException : CacheException
-    {
-        /** Serializer key. */
-        private const string KeyFailedKeys = "FailedKeys";
-
-        /** Failed keys. */
-        private readonly IList<object> _failedKeys;
-
-        /** Failed keys exception. */
-        private readonly Exception _failedKeysException;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CachePartialUpdateException"/> class.
-        /// </summary>
-        public CachePartialUpdateException()
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CachePartialUpdateException"/> class.
-        /// </summary>
-        /// <param name="message">The message that describes the error.</param>
-        public CachePartialUpdateException(string message) : base(message)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CachePartialUpdateException"/> class.
-        /// </summary>
-        /// <param name="info">Serialization information.</param>
-        /// <param name="ctx">Streaming context.</param>
-        protected CachePartialUpdateException(SerializationInfo info, StreamingContext ctx)
-            : base(info, ctx)
-        {
-            _failedKeys = (IList<object>) info.GetValue(KeyFailedKeys, typeof (IList<object>));
-        }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="msg">Exception message.</param>
-        /// <param name="failedKeysException">Exception occurred during failed keys read/write.</param>
-        public CachePartialUpdateException(string msg, Exception failedKeysException) : this(msg, null, failedKeysException)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="msg">Exception message.</param>
-        /// <param name="failedKeys">Failed keys.</param>
-        public CachePartialUpdateException(string msg, IList<object> failedKeys) : this(msg, failedKeys, null)
-        {
-            // No-op.
-        }
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <param name="msg">Exception message.</param>
-        /// <param name="failedKeys">Failed keys.</param>
-        /// <param name="failedKeysException">Exception occurred during failed keys read/write.</param>
-        private CachePartialUpdateException(string msg, IList<object> failedKeys, Exception failedKeysException) : base(msg)
-        {
-            _failedKeys = failedKeys;
-            _failedKeysException = failedKeysException;
-        }
-
-        /// <summary>
-        /// Gets the failed keys.
-        /// </summary>
-        public IEnumerable<T> GetFailedKeys<T>()
-        {
-            if (_failedKeysException != null)
-                throw _failedKeysException;
-            
-            return _failedKeys == null ? null : _failedKeys.Cast<T>();
-        }
-
-        /** <inheritdoc /> */
-        public override void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            info.AddValue(KeyFailedKeys, _failedKeys);
-
-            base.GetObjectData(info, context);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
deleted file mode 100644
index 0a089ad..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/CachePeekMode.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache
-{
-    using System;
-    using System.Diagnostics.CodeAnalysis;
-
-    /// <summary>
-    /// Enumeration of all supported cache peek modes.
-    /// </summary>
-    [Flags]
-    [SuppressMessage("Microsoft.Naming", "CA1714:FlagsEnumsShouldHavePluralNames")]
-    public enum CachePeekMode
-    {
-        /// <summary>
-        /// Peeks into all available cache storages.
-        /// </summary>
-        All = 0x01,
-
-        /// <summary>
-        /// Peek into near cache only (don't peek into partitioned cache).
-        /// In case of LOCAL cache, behaves as <see cref="All"/> mode.
-        /// </summary>
-        Near = 0x02,
-
-        /// <summary>
-        /// Peek value from primary copy of partitioned cache only (skip near cache).
-        /// In case of LOCAL cache, behaves as <see cref="All"/> mode.
-        /// </summary>
-        Primary = 0x04,
-
-        /// <summary>
-        /// Peek value from backup copies of partitioned cache only (skip near cache).
-        /// In case of LOCAL cache, behaves as <see cref="All"/> mode.
-        /// </summary>
-        Backup = 0x08,
-
-        /// <summary>
-        /// Peeks value from the on-heap storage only.
-        /// </summary>
-        Onheap = 0x10,
-
-        /// <summary>
-        /// Peeks value from the off-heap storage only, without loading off-heap value into cache.
-        /// </summary>
-        Offheap = 0x20,
-
-        /// <summary>
-        /// Peeks value from the swap storage only, without loading swapped value into cache.
-        /// </summary>
-        Swap = 0x40
-    }
-}

http://git-wip-us.apache.org/repos/asf/ignite/blob/f2eb16cd/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/Event/CacheEntryEventType.cs
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/Event/CacheEntryEventType.cs b/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/Event/CacheEntryEventType.cs
deleted file mode 100644
index 8339257..0000000
--- a/modules/platform/src/main/dotnet/Apache.Ignite.Core/Cache/Event/CacheEntryEventType.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace Apache.Ignite.Core.Cache.Event
-{
-    /// <summary>
-    /// Cache event type.
-    /// </summary>
-    public enum CacheEntryEventType
-    {
-        /// <summary>
-        /// An event type indicating that the cache entry was created.
-        /// </summary>
-        Created,
-
-        /// <summary>
-        /// An event type indicating that the cache entry was updated. i.e. a previous
-        /// mapping existed.
-        /// </summary>
-        Updated,
-
-        /// <summary>
-        /// An event type indicating that the cache entry was removed.
-        /// </summary>
-        Removed
-    }
-}
\ No newline at end of file