This is an automated email from the ASF dual-hosted git repository. jbarrett pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode-examples.git
The following commit(s) were added to refs/heads/develop by this push: new 6ae1e61 Adds initial example for Geode Native .NET client. 6ae1e61 is described below commit 6ae1e617b5ee11fb949e61ccf38f710809a035da Author: Jacob Barrett <jbarr...@pivotal.io> AuthorDate: Thu Oct 19 04:32:47 2017 +0000 Adds initial example for Geode Native .NET client. --- .gitignore | 5 ++ README.md | 4 ++ .../Apache.Geode.Examples.Cache.csproj | 77 ++++++++++++++++++++++ .../dotnet/Apache.Geode.Examples.Cache/Program.cs | 48 ++++++++++++++ .../dotnet/Apache.Geode.Examples.Cache/README.md | 14 ++++ native/dotnet/Apache.Geode.Examples.sln | 21 ++++++ native/dotnet/README.md | 13 ++++ 7 files changed, 182 insertions(+) diff --git a/.gitignore b/.gitignore index fa3d887..af1018c 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,8 @@ server2 *.dat *.rej *.orig + +/native/dotnet/*/bin +/native/dotnet/*/obj +/native/dotnet/.vs + diff --git a/README.md b/README.md index 46bf24e..15b4a56 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,10 @@ tutorial. * Resource manager * PDX Advanced +### Native +* C++ +* [.NET](native/dotnet/README.md) + ### Use cases, integrations and external examples This section has self-contained little projects that illustrate a use case or diff --git a/native/dotnet/Apache.Geode.Examples.Cache/Apache.Geode.Examples.Cache.csproj b/native/dotnet/Apache.Geode.Examples.Cache/Apache.Geode.Examples.Cache.csproj new file mode 100644 index 0000000..b108c40 --- /dev/null +++ b/native/dotnet/Apache.Geode.Examples.Cache/Apache.Geode.Examples.Cache.csproj @@ -0,0 +1,77 @@ +<?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. +--> +<Project ToolsVersion="14.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>{15ACFB5B-0D2C-4C38-9236-7AF01874A84F}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>Apache.Geode.Examples.Cache</RootNamespace> + <AssemblyName>Apache.Geode.Examples.Cache</AssemblyName> + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> + <DebugSymbols>true</DebugSymbols> + <OutputPath>bin\x64\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DebugType>full</DebugType> + <PlatformTarget>x64</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <OutputPath>bin\x64\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <Optimize>true</Optimize> + <DebugType>pdbonly</DebugType> + <PlatformTarget>x64</PlatformTarget> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + <Prefer32Bit>true</Prefer32Bit> + </PropertyGroup> + <ItemGroup> + <Reference Include="Apache.Geode"> + <HintPath>Y:\build64\clicache\src\Debug\Apache.Geode.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="Microsoft.CSharp" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Program.cs" /> + </ItemGroup> + <ItemGroup> + <Folder Include="Properties\" /> + </ItemGroup> + <ItemGroup> + <None Include="README.md" /> + </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 diff --git a/native/dotnet/Apache.Geode.Examples.Cache/Program.cs b/native/dotnet/Apache.Geode.Examples.Cache/Program.cs new file mode 100644 index 0000000..52aa3a8 --- /dev/null +++ b/native/dotnet/Apache.Geode.Examples.Cache/Program.cs @@ -0,0 +1,48 @@ +/* + * 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.Geode.Client; + +namespace Apache.Geode.Examples.Cache +{ + class Program + { + static void Main(string[] args) + { + var cacheFactory = CacheFactory.CreateCacheFactory(); + var cache = cacheFactory.Create(); + + var poolFactory = cache.GetPoolFactory() + .AddLocator("localhost", 10334); + poolFactory.Create("pool", cache); + + var regionFactory = cache.CreateRegionFactory(RegionShortcut.PROXY) + .SetPoolName("pool"); + var region = regionFactory.Create<string, string>("region"); + + region["a"] = "1"; + region["b"] = "2"; + + var a = region["a"]; + var b = region["b"]; + + Console.Out.WriteLine("a = " + a); + Console.Out.WriteLine("b = " + b); + } + } +} diff --git a/native/dotnet/Apache.Geode.Examples.Cache/README.md b/native/dotnet/Apache.Geode.Examples.Cache/README.md new file mode 100644 index 0000000..167eaa4 --- /dev/null +++ b/native/dotnet/Apache.Geode.Examples.Cache/README.md @@ -0,0 +1,14 @@ +# Cache Example + +## Prerequisits +* Install [Apache Geode](https://geode.apache.org) +* Build and install [Apache Geode Native](https://github.com/apache/geode-native) + +## Running +* Start Geode Server and create region. + ``` + gfsh>start locator --name=locator + gfsh>start server --name=server + gfsh>create region --name=region --type=PARTITION + ``` +* Execute `Apache.Geode.Examples.Cache.exe`. diff --git a/native/dotnet/Apache.Geode.Examples.sln b/native/dotnet/Apache.Geode.Examples.sln new file mode 100644 index 0000000..88dc3e8 --- /dev/null +++ b/native/dotnet/Apache.Geode.Examples.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Geode.Examples.Cache", "Apache.Geode.Examples.Cache\Apache.Geode.Examples.Cache.csproj", "{15ACFB5B-0D2C-4C38-9236-7AF01874A84F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {15ACFB5B-0D2C-4C38-9236-7AF01874A84F}.Debug|x64.ActiveCfg = Debug|x64 + {15ACFB5B-0D2C-4C38-9236-7AF01874A84F}.Debug|x64.Build.0 = Debug|x64 + {15ACFB5B-0D2C-4C38-9236-7AF01874A84F}.Release|x64.ActiveCfg = Release|x64 + {15ACFB5B-0D2C-4C38-9236-7AF01874A84F}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/native/dotnet/README.md b/native/dotnet/README.md new file mode 100644 index 0000000..ef6c1dd --- /dev/null +++ b/native/dotnet/README.md @@ -0,0 +1,13 @@ +# Geode Native .NET Examples + +## Prerequisits +* Install [Apache Geode](https://geode.apache.org) +* Build and install [Apache Geode Native](https://github.com/apache/geode-native) + +## Solution Includes +* [Apache.Geode.Examples.Cache](Apache.Geode.Examples.Cache/README.md) + +## Using +1) Open `Apache.Geode.Examples.sln` in [Visual Studio 2015](https://www.visualstudio.com/) +or newer. +2) Update `Apache.Geode` reference in each project to the `Apache.Geode.dll` assembly. \ No newline at end of file -- To stop receiving notification emails like this one, please contact ['"commits@geode.apache.org" <commits@geode.apache.org>'].