Permalink
Browse files

Add 1st cut of Redis React

  • Loading branch information...
mythz committed Sep 6, 2015
1 parent 53109e7 commit 7e1abcf5fb87068258871bc4c03f0219e021a931
Showing with 73,827 additions and 0 deletions.
  1. +69 −0 license.txt
  2. +87 −0 src/RedisReact.sln
  3. +6 −0 src/RedisReact/RedisReact.AppConsole/App.config
  4. +104 −0 src/RedisReact/RedisReact.AppConsole/AppHost.cs
  5. +30 −0 src/RedisReact/RedisReact.AppConsole/Program.cs
  6. +36 −0 src/RedisReact/RedisReact.AppConsole/Properties/AssemblyInfo.cs
  7. +153 −0 src/RedisReact/RedisReact.AppConsole/RedisReact.AppConsole.csproj
  8. +5 −0 src/RedisReact/RedisReact.AppConsole/console.css
  9. +24 −0 src/RedisReact/RedisReact.AppConsole/console.js
  10. BIN src/RedisReact/RedisReact.AppConsole/logo.ico
  11. +13 −0 src/RedisReact/RedisReact.AppConsole/packages.config
  12. +24 −0 src/RedisReact/RedisReact.AppMac/AppDelegate.cs
  13. +10 −0 src/RedisReact/RedisReact.AppMac/AppDelegate.designer.cs
  14. +109 −0 src/RedisReact/RedisReact.AppMac/AppHost.cs
  15. +20 −0 src/RedisReact/RedisReact.AppMac/Info.plist
  16. +25 −0 src/RedisReact/RedisReact.AppMac/Main.cs
  17. +3,169 −0 src/RedisReact/RedisReact.AppMac/MainMenu.xib
  18. +46 −0 src/RedisReact/RedisReact.AppMac/MainWindow.cs
  19. +35 −0 src/RedisReact/RedisReact.AppMac/MainWindow.designer.cs
  20. +225 −0 src/RedisReact/RedisReact.AppMac/MainWindow.xib
  21. +48 −0 src/RedisReact/RedisReact.AppMac/MainWindowController.cs
  22. +123 −0 src/RedisReact/RedisReact.AppMac/RedisReact.AppMac.csproj
  23. +2 −0 src/RedisReact/RedisReact.AppMac/mac.css
  24. +21 −0 src/RedisReact/RedisReact.AppMac/mac.js
  25. +12 −0 src/RedisReact/RedisReact.AppMac/packages.config
  26. +10 −0 src/RedisReact/RedisReact.AppWinForms/App.config
  27. +49 −0 src/RedisReact/RedisReact.AppWinForms/AppHost.cs
  28. +48 −0 src/RedisReact/RedisReact.AppWinForms/FormMain.Designer.cs
  29. +40 −0 src/RedisReact/RedisReact.AppWinForms/FormMain.cs
  30. +120 −0 src/RedisReact/RedisReact.AppWinForms/FormMain.resx
  31. +70 −0 src/RedisReact/RedisReact.AppWinForms/NativeHost.cs
  32. +36 −0 src/RedisReact/RedisReact.AppWinForms/Program.cs
  33. +36 −0 src/RedisReact/RedisReact.AppWinForms/Properties/AssemblyInfo.cs
  34. +71 −0 src/RedisReact/RedisReact.AppWinForms/Properties/Resources.Designer.cs
  35. +117 −0 src/RedisReact/RedisReact.AppWinForms/Properties/Resources.resx
  36. +30 −0 src/RedisReact/RedisReact.AppWinForms/Properties/Settings.Designer.cs
  37. +7 −0 src/RedisReact/RedisReact.AppWinForms/Properties/Settings.settings
  38. +174 −0 src/RedisReact/RedisReact.AppWinForms/RedisReact.AppWinForms.csproj
  39. +14 −0 src/RedisReact/RedisReact.AppWinForms/packages.config
  40. +9 −0 src/RedisReact/RedisReact.AppWinForms/winforms.css
  41. +3 −0 src/RedisReact/RedisReact.AppWinForms/winforms.js
  42. +12 −0 src/RedisReact/RedisReact.Resources/CefResources.cs
  43. +36 −0 src/RedisReact/RedisReact.Resources/Properties/AssemblyInfo.cs
  44. +132 −0 src/RedisReact/RedisReact.Resources/RedisReact.Resources.csproj
  45. +33 −0 src/RedisReact/RedisReact.Resources/Web.config
  46. +1 −0 src/RedisReact/RedisReact.Resources/css/app.min.css
  47. +52 −0 src/RedisReact/RedisReact.Resources/default.cshtml
  48. +1 −0 src/RedisReact/RedisReact.Resources/js/app.jsx.js
  49. +5 −0 src/RedisReact/RedisReact.Resources/lib/css/bootstrap.min.css
  50. BIN src/RedisReact/RedisReact.Resources/lib/fonts/glyphicons-halflings-regular.eot
  51. +288 −0 src/RedisReact/RedisReact.Resources/lib/fonts/glyphicons-halflings-regular.svg
  52. BIN src/RedisReact/RedisReact.Resources/lib/fonts/glyphicons-halflings-regular.ttf
  53. BIN src/RedisReact/RedisReact.Resources/lib/fonts/glyphicons-halflings-regular.woff
  54. BIN src/RedisReact/RedisReact.Resources/lib/fonts/glyphicons-halflings-regular.woff2
  55. +2,363 −0 src/RedisReact/RedisReact.Resources/lib/js/bootstrap.min.js
  56. +9,210 −0 src/RedisReact/RedisReact.Resources/lib/js/jquery.min.js
  57. +1,406 −0 src/RedisReact/RedisReact.Resources/lib/js/modernizr.min.js
  58. +19,602 −0 src/RedisReact/RedisReact.Resources/lib/js/react.min.js
  59. +10 −0 src/RedisReact/RedisReact.Resources/packages.config
  60. +36 −0 src/RedisReact/RedisReact.ServiceInterface/Properties/AssemblyInfo.cs
  61. +97 −0 src/RedisReact/RedisReact.ServiceInterface/RedisReact.ServiceInterface.csproj
  62. +109 −0 src/RedisReact/RedisReact.ServiceInterface/RedisServices.cs
  63. +11 −0 src/RedisReact/RedisReact.ServiceInterface/packages.config
  64. +46 −0 src/RedisReact/RedisReact.ServiceModel/CallRedis.cs
  65. +36 −0 src/RedisReact/RedisReact.ServiceModel/Properties/AssemblyInfo.cs
  66. +67 −0 src/RedisReact/RedisReact.ServiceModel/RedisReact.ServiceModel.csproj
  67. +4 −0 src/RedisReact/RedisReact.ServiceModel/packages.config
  68. +36 −0 src/RedisReact/RedisReact.Tests/Properties/AssemblyInfo.cs
  69. +90 −0 src/RedisReact/RedisReact.Tests/RedisReact.Tests.csproj
  70. +31 −0 src/RedisReact/RedisReact.Tests/UnitTests.cs
  71. +9 −0 src/RedisReact/RedisReact.Tests/packages.config
  72. +60 −0 src/RedisReact/RedisReact/AppHost.cs
  73. +1 −0 src/RedisReact/RedisReact/Global.asax
  74. +17 −0 src/RedisReact/RedisReact/Global.asax.cs
  75. +35 −0 src/RedisReact/RedisReact/Properties/AssemblyInfo.cs
  76. +205 −0 src/RedisReact/RedisReact/RedisReact.csproj
  77. +9 −0 src/RedisReact/RedisReact/Scripts/_references.js
  78. +30 −0 src/RedisReact/RedisReact/Web.Debug.config
  79. +31 −0 src/RedisReact/RedisReact/Web.Release.config
  80. +59 −0 src/RedisReact/RedisReact/Web.config
  81. +24 −0 src/RedisReact/RedisReact/bower.json
  82. +180 −0 src/RedisReact/RedisReact/css/app.css
  83. +62 −0 src/RedisReact/RedisReact/default.cshtml
  84. +275 −0 src/RedisReact/RedisReact/gruntfile.js
  85. BIN src/RedisReact/RedisReact/img/logo-32.png
  86. BIN src/RedisReact/RedisReact/img/redis-logo.png
  87. +102 −0 src/RedisReact/RedisReact/js/api-redis.js
  88. +121 −0 src/RedisReact/RedisReact/js/app.jsx
  89. +40 −0 src/RedisReact/RedisReact/js/components/Dashboard.jsx
  90. +99 −0 src/RedisReact/RedisReact/js/components/KeyViewer.jsx
  91. +55 −0 src/RedisReact/RedisReact/js/components/Search.jsx
  92. +96 −0 src/RedisReact/RedisReact/js/components/stores.js
  93. +108 −0 src/RedisReact/RedisReact/js/jsonviewer.js
  94. +21 −0 src/RedisReact/RedisReact/js/web.js
  95. +40 −0 src/RedisReact/RedisReact/package.json
  96. +12 −0 src/RedisReact/RedisReact/packages.config
  97. +11 −0 src/RedisReact/RedisReact/tests/README.txt
  98. +7 −0 src/RedisReact/RedisReact/tests/preprocessor.js
  99. +21 −0 src/RedisReact/RedisReact/tests/unit/hello-test.js
  100. +1 −0 src/RedisReact/RedisReact/wwwroot/Global.asax
  101. +3 −0 src/RedisReact/RedisReact/wwwroot/appsettings.txt
  102. +1 −0 src/RedisReact/RedisReact/wwwroot/css/app.min.css
  103. +52 −0 src/RedisReact/RedisReact/wwwroot/default.cshtml
  104. +1 −0 src/RedisReact/RedisReact/wwwroot/js/app.jsx.js
  105. +21 −0 src/RedisReact/RedisReact/wwwroot/js/web.js
  106. +5 −0 src/RedisReact/RedisReact/wwwroot/lib/css/bootstrap.min.css
  107. BIN src/RedisReact/RedisReact/wwwroot/lib/fonts/glyphicons-halflings-regular.eot
  108. +288 −0 src/RedisReact/RedisReact/wwwroot/lib/fonts/glyphicons-halflings-regular.svg
  109. BIN src/RedisReact/RedisReact/wwwroot/lib/fonts/glyphicons-halflings-regular.ttf
  110. BIN src/RedisReact/RedisReact/wwwroot/lib/fonts/glyphicons-halflings-regular.woff
  111. BIN src/RedisReact/RedisReact/wwwroot/lib/fonts/glyphicons-halflings-regular.woff2
  112. +2,363 −0 src/RedisReact/RedisReact/wwwroot/lib/js/bootstrap.min.js
  113. +9,210 −0 src/RedisReact/RedisReact/wwwroot/lib/js/jquery.min.js
  114. +1,406 −0 src/RedisReact/RedisReact/wwwroot/lib/js/modernizr.min.js
  115. +19,602 −0 src/RedisReact/RedisReact/wwwroot/lib/js/react.min.js
  116. +59 −0 src/RedisReact/RedisReact/wwwroot/web.config
  117. +5 −0 src/RedisReact/RedisReact/wwwroot_build/00-install-dependencies.bat
  118. +4 −0 src/RedisReact/RedisReact/wwwroot_build/config-winforms.txt
  119. +3 −0 src/RedisReact/RedisReact/wwwroot_build/deploy/appsettings.txt
  120. +35 −0 src/RedisReact/RedisReact/wwwroot_build/package-deploy-console.bat
  121. +36 −0 src/RedisReact/RedisReact/wwwroot_build/package-deploy-winforms.bat
  122. BIN src/RedisReact/RedisReact/wwwroot_build/tools/7za.exe
  123. BIN src/RedisReact/RedisReact/wwwroot_build/tools/7zsd_All.sfx
  124. BIN src/RedisReact/RedisReact/wwwroot_build/tools/ILMerge.exe
  125. +29 −0 src/RedisReact/RedisReact/wwwroot_build/tools/Licenses.txt
  126. +29 −0 src/RedisReactMac.sln
  127. BIN src/lib/RedisReact.Resources.dll
@@ -0,0 +1,69 @@
ServiceStack
Copyright (c) 2013 Service Stack
===============================================================================

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Affero General Public License as published by the
Free Software Foundation, either version 3 of the License, see
http://www.gnu.org/licenses/agpl-3.0.html.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.


FOSS License Exception
===============================================================================

This Exception applies to open source applications built with ServiceStack and
ServiceStack extensions ("The Software"), and to open source Derivative Works of
the Software, that use the Software under the terms of GNU Affero General
Public License, version 3 ("AGPLv3"). The Exception extends AGPLv3 by providing
additional grants that allows developers of FOSS applications to include ServiceStack
with their FOSS applications in combination with other software licensed under
the licenses from the "Open Source License List" below, provided that:

You obey the AGPLv3 terms for the Software and the Derivative Work, except for
the separate parts of the Derivative Work ("Additions") which constitute independent
work and are not dervied from the Software.

- All Additions are distributed subject to one of the licenses listed below.
- Your software distribution provides complete source code for the Additions.
- The Derivative Work and its Additions are intended for use in end-user applications
and do not constitute software intended for use by software developers, such as
software libraries, components, and development kits.
- If you violate any of the terms in this Exception, you lose all rights granted
to you by the Exception and revert to the terms of AGPLv3.

Service Stack reserves all rights not expressly granted in these terms and conditions.

Open Source License List

Name Version
Academic Free License 2.0
Apache Software License 2.0
Apple Public Source License 2.0
Artistic license From Perl 5.8.0
BSD license July 22 1999
Common Development and Distribution License (CDDL) 1.0
Common Public License 1.0
Eclipse Public License 1.0
Educational Community License 2.0
European Union Public License (EUPL) 1.1
GNU General Public License (GPL) 2.0
GNU Library or "Lesser" General Public License (LGPL) 3.0
Jabber Open Source License 1.0
MIT License (As listed in file MIT-License.txt) -
Mozilla Public License (MPL) 1.0/1.1
Open Software License 2.0
OpenSSL license (with original SSLeay license) 2003 (1998)
University of Illinois/NCSA Open Source License -
W3C License 2001
X11 License 2001
Zlib/libpng License -


Commercial License
===========================================================================
In addition to this license, ServiceStack is offered under a commerical license.
see https://servicestack.net/pricing for details.
@@ -0,0 +1,87 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact", "RedisReact\RedisReact\RedisReact.csproj", "{E78E217F-6804-460E-BFD1-BB3C588FD03B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.AppWinForms", "RedisReact\RedisReact.AppWinForms\RedisReact.AppWinForms.csproj", "{2377C261-2089-490D-86F3-7030929A55BD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.AppConsole", "RedisReact\RedisReact.AppConsole\RedisReact.AppConsole.csproj", "{D9149950-4020-40D5-A69B-F096AAAFE7B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.Resources", "RedisReact\RedisReact.Resources\RedisReact.Resources.csproj", "{3414E9EC-19B8-410C-AC33-F2E6D081B930}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.ServiceModel", "RedisReact\RedisReact.ServiceModel\RedisReact.ServiceModel.csproj", "{08BEF328-AB7D-48D3-800D-48ACC75C7914}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.ServiceInterface", "RedisReact\RedisReact.ServiceInterface\RedisReact.ServiceInterface.csproj", "{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisReact.Tests", "RedisReact\RedisReact.Tests\RedisReact.Tests.csproj", "{B1665387-EF91-4CA0-82BB-66E5781ED800}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Debug|x86.ActiveCfg = Debug|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Debug|x86.Build.0 = Debug|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Release|Any CPU.Build.0 = Release|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Release|x86.ActiveCfg = Release|Any CPU
{E78E217F-6804-460E-BFD1-BB3C588FD03B}.Release|x86.Build.0 = Release|Any CPU
{2377C261-2089-490D-86F3-7030929A55BD}.Debug|Any CPU.ActiveCfg = Debug|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Debug|Any CPU.Build.0 = Debug|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Debug|x86.ActiveCfg = Debug|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Debug|x86.Build.0 = Debug|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Release|Any CPU.ActiveCfg = Release|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Release|x86.ActiveCfg = Release|x86
{2377C261-2089-490D-86F3-7030929A55BD}.Release|x86.Build.0 = Release|x86
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Debug|x86.ActiveCfg = Debug|x86
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Debug|x86.Build.0 = Debug|x86
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Release|Any CPU.Build.0 = Release|Any CPU
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Release|x86.ActiveCfg = Release|x86
{D9149950-4020-40D5-A69B-F096AAAFE7B6}.Release|x86.Build.0 = Release|x86
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Debug|x86.ActiveCfg = Debug|x86
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Debug|x86.Build.0 = Debug|x86
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Release|Any CPU.Build.0 = Release|Any CPU
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Release|x86.ActiveCfg = Release|x86
{3414E9EC-19B8-410C-AC33-F2E6D081B930}.Release|x86.Build.0 = Release|x86
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Debug|x86.ActiveCfg = Debug|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Debug|x86.Build.0 = Debug|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Release|Any CPU.Build.0 = Release|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Release|x86.ActiveCfg = Release|Any CPU
{08BEF328-AB7D-48D3-800D-48ACC75C7914}.Release|x86.Build.0 = Release|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Debug|x86.ActiveCfg = Debug|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Debug|x86.Build.0 = Debug|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Release|Any CPU.Build.0 = Release|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Release|x86.ActiveCfg = Release|Any CPU
{582DFB0F-F84D-4E43-9BCA-2A5A86600B7A}.Release|x86.Build.0 = Release|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Debug|x86.ActiveCfg = Debug|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Debug|x86.Build.0 = Debug|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Release|Any CPU.Build.0 = Release|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Release|x86.ActiveCfg = Release|Any CPU
{B1665387-EF91-4CA0-82BB-66E5781ED800}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
@@ -0,0 +1,104 @@
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using Funq;
using RedisReact.Resources;
using RedisReact.ServiceInterface;
using ServiceStack;
using ServiceStack.Auth;
using ServiceStack.Configuration;
using ServiceStack.Razor;
using ServiceStack.Redis;
using ServiceStack.Text;


namespace RedisReact.AppConsole
{
public class AppHost : AppSelfHostBase
{
/// <summary>
/// Default constructor.
/// Base constructor requires a name and assembly to locate web service classes.
/// </summary>
public AppHost()
: base("RedisReact.AppConsole", typeof(RedisServices).Assembly)
{

}

/// <summary>
/// Application specific configuration
/// This method should initialize any IoC resources utilized by your web service classes.
/// </summary>
/// <param name="container"></param>
public override void Configure(Container container)
{
//Config examples
//this.Plugins.Add(new PostmanFeature());
//Plugins.Add(new CorsFeature());

Plugins.Add(new RazorFormat
{
LoadFromAssemblies = { typeof(CefResources).Assembly },
});

SetConfig(new HostConfig
{
DebugMode = true,
EmbeddedResourceBaseTypes = { typeof(AppHost), typeof(CefResources) },
});

var allKeys = AppSettings.GetAllKeys();

if (!allKeys.Contains("platformsClassName"))
AppSettings.Set("platformsClassName", "console");
if (!allKeys.Contains("PlatformCss"))
AppSettings.Set("PlatformCss", "console.css");
if (!allKeys.Contains("PlatformJs"))
AppSettings.Set("PlatformJs", "console.js");

// This route is added using Routes.Add and ServiceController.RegisterService due to
// using ILMerge limiting our AppHost : base() call to one assembly.
// If two assemblies are used, the base() call searchs the same assembly twice due to the ILMerged result.
Routes.Add<NativeHostAction>("/nativehost/{Action}");
ServiceController.RegisterService(typeof(NativeHostService));
}
}

public class NativeHostService : Service
{
public object Get(NativeHostAction request)
{
if (string.IsNullOrEmpty(request.Action))
{
throw HttpError.NotFound("Function Not Found");
}
Type nativeHostType = typeof(NativeHost);
object nativeHost = nativeHostType.CreateInstance<NativeHost>();
//Upper case first character.
string methodName = request.Action.First().ToString().ToUpper() + String.Join("", request.Action.Skip(1));
MethodInfo methodInfo = nativeHostType.GetMethod(methodName);
if (methodInfo == null)
{
throw new HttpError(HttpStatusCode.NotFound, "Function Not Found");
}
methodInfo.Invoke(nativeHost, null);
return null;
}
}

public class NativeHostAction : IReturnVoid
{
public string Action { get; set; }
}

public class NativeHost
{
public void Quit()
{
Environment.Exit(0);
}
}
}
@@ -0,0 +1,30 @@
using ServiceStack;
using ServiceStack.Text;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace RedisReact.AppConsole
{
static class Program
{
public static string HostUrl = "http://localhost:2337/";

/// <summary>
/// The main entry point for the application
/// </summary>
[STAThread]
static void Main(string[] args)
{
new AppHost().Init().Start("http://*:2337/");
"ServiceStack SelfHost listening at {0}".Fmt(HostUrl).Print();
Process.Start(HostUrl);

Thread.Sleep(Timeout.Infinite);
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RedisReact")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ServiceStack")]
[assembly: AssemblyProduct("RedisReact")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d9149950-4020-40d5-a69b-f096aaafe7b6")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Oops, something went wrong.

0 comments on commit 7e1abcf

Please sign in to comment.