lith 4 년 전
부모
커밋
d222359a01
35개의 변경된 파일24개의 추가작업 그리고 1690개의 파일을 삭제
  1. 5 10
      dotnet/Doc/Publish/pack sers_lib.bat
  2. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ApiLoader.cs
  3. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ControllerHelp.cs
  4. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ExceptionFilter/ExceptionFilter.cs
  5. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/LocalApiServiceExtensions.cs
  6. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/SerslotServer_ProcessRequest_Extensions.cs
  7. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/WebHostBuilderSerslotExtensions.cs
  8. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/LocalApiNode.cs
  9. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Properties/PublishProfiles/FolderProfile.pubxml
  10. 3 6
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Sers.Serslot.csproj
  11. 0 0
      dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/SerslotServer.cs
  12. 14 50
      dotnet/Sers.sln
  13. 0 105
      dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/ApiLoader.cs
  14. 0 32
      dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/Extensions/LocalApiServiceExtensions.cs
  15. 0 178
      dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/LocalApiNode.cs
  16. 0 31
      dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/Sers.NetcoreLoader.csproj
  17. 0 13
      dotnet/ServiceStation/ApiLoader/Sers.Serslot/Properties/PublishProfiles/FolderProfile.pubxml
  18. 0 441
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Controllers/ValuesController.cs
  19. 0 35
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Did.NetcoreLoader.Demo.csproj
  20. 0 45
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Program.cs
  21. 0 22
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Properties/PublishProfiles/FolderProfile.pubxml
  22. 0 30
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Properties/launchSettings.json
  23. 0 40
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Startup.cs
  24. 0 9
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/appsettings.Development.json
  25. 0 90
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/appsettings.json
  26. 0 279
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Controllers/ValuesController.cs
  27. 0 35
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Did.NetcoreLoader.HelloWorld.csproj
  28. 0 45
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Program.cs
  29. 0 22
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Properties/PublishProfiles/FolderProfile.pubxml
  30. 0 30
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Properties/launchSettings.json
  31. 0 40
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Startup.cs
  32. 0 9
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/appsettings.Development.json
  33. 0 89
      dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/appsettings.json
  34. 1 2
      dotnet/ServiceStation/Demo/Serslot/Did.Serslot.Demo/Did.Serslot.Demo.csproj
  35. 1 2
      dotnet/ServiceStation/Demo/Serslot/Did.Serslot.HelloWorld/Did.Serslot.HelloWorld.csproj

+ 5 - 10
dotnet/Doc/Publish/pack sers_lib.bat

@@ -160,23 +160,18 @@ cd /d ../../../
 
 
 
-::------------------ServiceStation
+::------------------Sers.Serslot
 
 
 echo 'pack Sers.Serslot'
-cd /d ServiceStation\ApiLoader\Sers.Serslot
+cd /d Library\Sers\Sers.Serslot\Sers.Serslot
 dotnet build --configuration Release
-dotnet pack --configuration Release --output ..\..\..\Doc\Publish\nuget
+dotnet pack --configuration Release --output ..\..\..\..\Doc\Publish\nuget
 @if errorlevel 1 (echo . & echo .  & echo 出错,请排查!& pause) 
-cd /d ../../../  
+cd /d ../../../../  
 
 
-echo 'pack Sers.NetcoreLoader'
-cd /d ServiceStation\ApiLoader\Sers.NetcoreLoader
-dotnet build --configuration Release
-dotnet pack --configuration Release --output ..\..\..\Doc\Publish\nuget
-@if errorlevel 1 (echo . & echo .  & echo 出错,请排查!& pause) 
-cd /d ../../../  
+ 
  
 
 cd /d Doc\Publish

+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/ApiLoader.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ApiLoader.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/ControllerHelp.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ControllerHelp.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/ExceptionFilter/ExceptionFilter.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/ExceptionFilter/ExceptionFilter.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/Extensions/LocalApiServiceExtensions.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/LocalApiServiceExtensions.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/Extensions/SerslotServer_ProcessRequest_Extensions.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/SerslotServer_ProcessRequest_Extensions.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/Extensions/WebHostBuilderSerslotExtensions.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Extensions/WebHostBuilderSerslotExtensions.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/LocalApiNode.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/LocalApiNode.cs


+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/Properties/PublishProfiles/FolderProfile.pubxml → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Properties/PublishProfiles/FolderProfile.pubxml


+ 3 - 6
dotnet/ServiceStation/ApiLoader/Sers.Serslot/Sers.Serslot.csproj → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/Sers.Serslot.csproj

@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
@@ -23,11 +23,8 @@
 
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\Library\Sers\Sers.ServiceStation\Sers.ServiceStation\Sers.ServiceStation.csproj" />
-  </ItemGroup>
-
-
- 
+    <ProjectReference Include="..\..\Sers.ServiceStation\Sers.ServiceStation\Sers.ServiceStation.csproj" />
+  </ItemGroup> 
 
 
 </Project>

+ 0 - 0
dotnet/ServiceStation/ApiLoader/Sers.Serslot/SerslotServer.cs → dotnet/Library/Sers/Sers.Serslot/Sers.Serslot/SerslotServer.cs


+ 14 - 50
dotnet/Sers.sln

@@ -39,8 +39,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Zmq", "Zmq", "{60A2862F-A00
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ThreadWait", "ThreadWait", "{99B93100-C63E-4B2C-AC80-092A02EDE10C}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NetcoreLoader", "NetcoreLoader", "{DA14C04D-FEEF-4A3C-A9F2-BBA25897B9A4}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Vit", "Vit", "{C845E999-2AF8-4593-8504-AA76BDDAFBD6}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vit.Core", "Library\Vit\Vit.Core\Vit.Core\Vit.Core.csproj", "{3D93159D-0B56-44A3-8C3E-B8610FD05045}"
@@ -93,26 +91,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vit.Net.Http.FormFile", "Li
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ServiceStation", "ServiceStation", "{130F5CAA-BF3F-444D-B590-57F9050588D4}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ApiLoader", "ApiLoader", "{BBFFA808-BD39-461C-A89C-5E9F8C78345C}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SersLoader", "SersLoader", "{7AA53B3C-6798-45EB-B1A9-C4226E93B5E7}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.SersLoader.Demo", "ServiceStation\Demo\SersLoader\Did.SersLoader.Demo\Did.SersLoader.Demo.csproj", "{2DEC5641-014D-4B24-B0D9-EAF65C343D3C}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.SersLoader.HelloWorld", "ServiceStation\Demo\SersLoader\Did.SersLoader.HelloWorld\Did.SersLoader.HelloWorld.csproj", "{F160F45B-E9C8-43DC-A069-FBCDD1A8CECC}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.NetcoreLoader", "ServiceStation\ApiLoader\Sers.NetcoreLoader\Sers.NetcoreLoader.csproj", "{E2185621-0592-47ED-8E66-5F0AC01AD5CC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.Serslot", "ServiceStation\ApiLoader\Sers.Serslot\Sers.Serslot.csproj", "{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.NetcoreLoader.Demo", "ServiceStation\Demo\NetcoreLoader\Did.NetcoreLoader.Demo\Did.NetcoreLoader.Demo.csproj", "{4B2D7996-FD91-4775-8BA0-987C45547084}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.Serslot.Demo", "ServiceStation\Demo\Serslot\Did.Serslot.Demo\Did.Serslot.Demo.csproj", "{F2FAF3AF-59E1-4B71-86A0-78B980C55474}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.Serslot.HelloWorld", "ServiceStation\Demo\Serslot\Did.Serslot.HelloWorld\Did.Serslot.HelloWorld.csproj", "{6611EC51-AEE4-4EF7-A9D2-2302F2F61845}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Did.NetcoreLoader.HelloWorld", "ServiceStation\Demo\NetcoreLoader\Did.NetcoreLoader.HelloWorld\Did.NetcoreLoader.HelloWorld.csproj", "{141C89FB-54A7-4283-8649-D6EF51B22FA9}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apm", "Apm", "{AF17FAEF-DBCC-4E5C-954D-BD4F60A016C1}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.Gover.Apm.Zipkin", "ServiceCenter\Sers.ServiceCenter\Apm\Sers.Gover.Apm.Zipkin\Sers.Gover.Apm.Zipkin.csproj", "{DD0CB14B-D8E6-46EC-AE42-2B1215C1BBDD}"
@@ -159,6 +147,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.Core.Temp", "Library\S
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.Core.Module.Serialization.Qps", "Library\Sers\Sers.Core\Test\Sers.Core.Module.Serialization.Qps\Sers.Core.Module.Serialization.Qps.csproj", "{DCB42B65-E24A-43AC-9102-E7CDF9B32590}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sers.Serslot", "Sers.Serslot", "{A0686CA6-5BAA-4A0A-BB38-43B5C9E865A7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sers.Serslot", "Library\Sers\Sers.Serslot\Sers.Serslot\Sers.Serslot.csproj", "{093170D0-D4B4-4274-BE02-A28CB1154B22}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -327,30 +319,6 @@ Global
 		{F160F45B-E9C8-43DC-A069-FBCDD1A8CECC}.Release|Any CPU.Build.0 = Release|Any CPU
 		{F160F45B-E9C8-43DC-A069-FBCDD1A8CECC}.Release|x86.ActiveCfg = Release|Any CPU
 		{F160F45B-E9C8-43DC-A069-FBCDD1A8CECC}.Release|x86.Build.0 = Release|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Debug|x86.Build.0 = Debug|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Release|x86.ActiveCfg = Release|Any CPU
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC}.Release|x86.Build.0 = Release|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Debug|x86.Build.0 = Debug|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Release|x86.ActiveCfg = Release|Any CPU
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B}.Release|x86.Build.0 = Release|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Debug|x86.Build.0 = Debug|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Release|x86.ActiveCfg = Release|Any CPU
-		{4B2D7996-FD91-4775-8BA0-987C45547084}.Release|x86.Build.0 = Release|Any CPU
 		{F2FAF3AF-59E1-4B71-86A0-78B980C55474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{F2FAF3AF-59E1-4B71-86A0-78B980C55474}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{F2FAF3AF-59E1-4B71-86A0-78B980C55474}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -367,14 +335,6 @@ Global
 		{6611EC51-AEE4-4EF7-A9D2-2302F2F61845}.Release|Any CPU.Build.0 = Release|Any CPU
 		{6611EC51-AEE4-4EF7-A9D2-2302F2F61845}.Release|x86.ActiveCfg = Release|Any CPU
 		{6611EC51-AEE4-4EF7-A9D2-2302F2F61845}.Release|x86.Build.0 = Release|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Debug|x86.Build.0 = Debug|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Release|x86.ActiveCfg = Release|Any CPU
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9}.Release|x86.Build.0 = Release|Any CPU
 		{DD0CB14B-D8E6-46EC-AE42-2B1215C1BBDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{DD0CB14B-D8E6-46EC-AE42-2B1215C1BBDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{DD0CB14B-D8E6-46EC-AE42-2B1215C1BBDD}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -527,6 +487,14 @@ Global
 		{DCB42B65-E24A-43AC-9102-E7CDF9B32590}.Release|Any CPU.Build.0 = Release|Any CPU
 		{DCB42B65-E24A-43AC-9102-E7CDF9B32590}.Release|x86.ActiveCfg = Release|Any CPU
 		{DCB42B65-E24A-43AC-9102-E7CDF9B32590}.Release|x86.Build.0 = Release|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Debug|x86.Build.0 = Debug|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Release|Any CPU.Build.0 = Release|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Release|x86.ActiveCfg = Release|Any CPU
+		{093170D0-D4B4-4274-BE02-A28CB1154B22}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -548,7 +516,6 @@ Global
 		{A23FC09E-008D-42F7-9073-AAA23FFF78C7} = {97C34C06-AE79-4E1A-8D04-EB0107643302}
 		{60A2862F-A007-46EE-B6FA-801F2F673A07} = {43888F55-C8DF-43CA-94D5-8CED6AE66D67}
 		{99B93100-C63E-4B2C-AC80-092A02EDE10C} = {60A2862F-A007-46EE-B6FA-801F2F673A07}
-		{DA14C04D-FEEF-4A3C-A9F2-BBA25897B9A4} = {AE80CB27-0860-44E8-A59D-41D8D2F815CA}
 		{C845E999-2AF8-4593-8504-AA76BDDAFBD6} = {C7E2D08F-7028-445E-B689-0B4E0A1B1257}
 		{3D93159D-0B56-44A3-8C3E-B8610FD05045} = {9D48C58A-06FB-4471-BEE6-5795027F8378}
 		{9D48C58A-06FB-4471-BEE6-5795027F8378} = {C845E999-2AF8-4593-8504-AA76BDDAFBD6}
@@ -574,16 +541,11 @@ Global
 		{E1DB58F9-17F4-43AD-A1E2-A0465A1B4716} = {DA1CCBE3-A503-4177-B262-AD4A1E077E71}
 		{B1CB847A-A78D-4229-BB8D-FABD37445DE8} = {C845E999-2AF8-4593-8504-AA76BDDAFBD6}
 		{02CF94E4-59E8-413E-B709-7A75A2258E31} = {C845E999-2AF8-4593-8504-AA76BDDAFBD6}
-		{BBFFA808-BD39-461C-A89C-5E9F8C78345C} = {130F5CAA-BF3F-444D-B590-57F9050588D4}
 		{7AA53B3C-6798-45EB-B1A9-C4226E93B5E7} = {AE80CB27-0860-44E8-A59D-41D8D2F815CA}
 		{2DEC5641-014D-4B24-B0D9-EAF65C343D3C} = {7AA53B3C-6798-45EB-B1A9-C4226E93B5E7}
 		{F160F45B-E9C8-43DC-A069-FBCDD1A8CECC} = {7AA53B3C-6798-45EB-B1A9-C4226E93B5E7}
-		{E2185621-0592-47ED-8E66-5F0AC01AD5CC} = {BBFFA808-BD39-461C-A89C-5E9F8C78345C}
-		{DB63FAD0-E04B-4961-90FD-FB815AFFDB4B} = {BBFFA808-BD39-461C-A89C-5E9F8C78345C}
-		{4B2D7996-FD91-4775-8BA0-987C45547084} = {DA14C04D-FEEF-4A3C-A9F2-BBA25897B9A4}
 		{F2FAF3AF-59E1-4B71-86A0-78B980C55474} = {015B5793-0478-4884-A58B-8889639FD65A}
 		{6611EC51-AEE4-4EF7-A9D2-2302F2F61845} = {015B5793-0478-4884-A58B-8889639FD65A}
-		{141C89FB-54A7-4283-8649-D6EF51B22FA9} = {DA14C04D-FEEF-4A3C-A9F2-BBA25897B9A4}
 		{AF17FAEF-DBCC-4E5C-954D-BD4F60A016C1} = {97C34C06-AE79-4E1A-8D04-EB0107643302}
 		{DD0CB14B-D8E6-46EC-AE42-2B1215C1BBDD} = {AF17FAEF-DBCC-4E5C-954D-BD4F60A016C1}
 		{545F1A7C-68B6-4F1F-B165-1A0F8F3DC51D} = {ECEEABBB-DEA2-4CD4-99EA-3E048DB23219}
@@ -606,6 +568,8 @@ Global
 		{A2E07766-8290-446D-AD4E-D8277687D4C0} = {37633A5F-54B5-4179-8BCD-B7B422B4857C}
 		{F0FB825C-DB85-4268-8396-51CEF5AEAB50} = {C3954FC1-88A0-4915-AF47-E0B75AAAA63A}
 		{DCB42B65-E24A-43AC-9102-E7CDF9B32590} = {37633A5F-54B5-4179-8BCD-B7B422B4857C}
+		{A0686CA6-5BAA-4A0A-BB38-43B5C9E865A7} = {5522AB94-C73C-4BB6-A2DB-8E84061D0D14}
+		{093170D0-D4B4-4274-BE02-A28CB1154B22} = {A0686CA6-5BAA-4A0A-BB38-43B5C9E865A7}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {C7DA16E3-9949-49FA-B0B4-F830636DE60F}

+ 0 - 105
dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/ApiLoader.cs

@@ -1,105 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using Sers.SersLoader;
-using Sers.Core.Module.Api.ApiDesc;
-using Sers.Core.Module.Api.LocalApi;
-using Sers.Serslot;
-using Vit.Extensions;
-using Vit.Ioc;
-using Sers.Core.Module.Api.LocalApi.Event;
-
-namespace Sers.NetcoreLoader
-{
-    public class ApiLoader : SersLoader.ApiLoader
-    {
-        static ApiLoader()
-        {
-            #region use ioc            
-            LocalApiEventMng.Instance.UseIoc();            
-            #endregion
-        }
-
-
- 
-
-        public ApiLoader() :base()
-        {             
-        }
-
-        protected override IEnumerable<Type> LoadControllers(ApiLoaderConfig config)
-        {
-            var types = ControllerHelp.Assembly_GetControllers(config.assembly);
-
-            foreach (var t in types)
-            {
-                IocHelp.AddScoped(t);
-            }
-            IocHelp.Update();
-
-            return types;
-        }
-
-        #region GetRoutePrefix MethodInfoGetReturnType
-        /// <summary>
-        /// demo:   ["/Auth/fold1/fold2","/api","/"]
-        /// </summary>
-        /// <param name="config"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        protected override List<string> GetRoutePrefixs(ApiLoaderConfig config, Type type)
-        {
-            return ControllerHelp.Controller_GetRoutePrefixs(type);
-        }
-
-
-
-
-        protected override Type MethodInfoGetReturnType(MethodInfo method)
-        {
-            return ControllerHelp.Action_GetReturnType(method);
-        }
-
-        #endregion
-
-        #region LoadApiNodes
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="routePrefixs">demo:   ["/Auth/fold1/fold2","/api"]</param>   
-        /// <param name="method"></param>
-        /// <param name="CreateApiDesc"></param>
-        protected override List<IApiNode> LoadApiNodes(List<String> routePrefixs, MethodInfo method, Func<SsApiDesc> CreateApiDesc)
-        {
-            var routes = ControllerHelp.Action_GetRoutes(routePrefixs, method);
-
-
-            // routes -> apiNode
-            return routes.Select(routeInfo => {
-
-                (string route, string httpMethod, string oriRoute) = routeInfo;
-
-
-                var apiDesc = CreateApiDesc();
-                apiDesc.route = route;
-                apiDesc.HttpMethodSet(httpMethod);
-
-                apiDesc.OriRouteSet(oriRoute);
-                apiDesc.SysDescAppend("oriRoute: " + oriRoute);
-
-                IApiNode apiNode = new LocalApiNode(apiDesc, method);
-                return apiNode;
-            }).ToList();             
-        }
-
-        #endregion
-
-
-
-
-
-
-
-    }
-}

+ 0 - 32
dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/Extensions/LocalApiServiceExtensions.cs

@@ -1,32 +0,0 @@
-
-using Sers.Core.Module.Api.LocalApi;
-using System.Reflection;
-using Sers.SersLoader;
-using ApiLoader = Sers.NetcoreLoader.ApiLoader;
-
-namespace Vit.Extensions
-{
-    public static partial class LocalApiServiceExtensions
-    {
-        /// <summary>
-        /// 调用netcore加载器加载api
-        /// </summary>
-        /// <param name="localApiService"></param>
-        /// <param name="assembly"></param>
-
-        public static void LoadNetcoreApi(this LocalApiService localApiService, Assembly assembly)
-        {
-            if (null == localApiService)
-            {
-                return;
-            }
-
-            var config = new ApiLoaderConfig { assembly= assembly };
-            localApiService.apiNodeMng.AddApiNode(new ApiLoader().LoadApi(config));
- 
-        }
-
-
-
-    }
-}

+ 0 - 178
dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/LocalApiNode.cs

@@ -1,178 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
-using Sers.Core.Module.Api.ApiDesc;
-using Sers.Core.Module.Api.LocalApi;
-using Sers.Core.Module.Rpc;
-using Vit.Core.Util.Dynamic;
-using Vit.Extensions;
-using Vit.Ioc;
-
-namespace Sers.NetcoreLoader
-{
-    [JsonObject(MemberSerialization.OptIn)]
-    public class LocalApiNode: IApiNode
-    {
-        [JsonProperty]
-        public SsApiDesc apiDesc { get; set; }
-
-
-        DynamicMethodExecutor executor;
-
-        MethodInfo apiController_Method;
-
-        Func<ArraySegment<byte>, object[]> Arg_Deserialize;
-
-        Func<object, byte[]> ReturnValue_SerializeToBytes = ObjectSerializeExtensions.SerializeToBytes;
-
-        public LocalApiNode(SsApiDesc apiDesc,  MethodInfo apiController_Method)
-        {
-            this.apiDesc = apiDesc;
-            this.apiController_Method = apiController_Method;
-            executor = new DynamicMethodExecutor(apiController_Method);
-
-            var OnDeserialize=Arg_Deserialize = apiDesc.argType.OnDeserialize;
-
-            #region returnType is ActionResult 、Task
-            {
-                var returnType = apiController_Method.ReturnType;
-
-                //(x.x.1)ActionResult
-                if (returnType.IsGenericType && typeof(ActionResult<>).IsAssignableFrom(returnType.GetGenericTypeDefinition()))
-                {
-                    var propertyInfo = returnType.GetProperty("Value");
-                    ReturnValue_SerializeToBytes = (obj) => {
-
-                        return propertyInfo.GetValue(obj).SerializeToBytes();
-                    };
-                }
-
-                //(x.x.2)Task
-                if (returnType.IsGenericType && typeof(Task<>).IsAssignableFrom(returnType.GetGenericTypeDefinition()))
-                {
-                    var propertyInfo = returnType.GetProperty("Result");
-
-                    //是否为 ActionResult
-                    var taskResultType = returnType.GetGenericArguments()[0];
-                   
-                    if (taskResultType.IsGenericType && typeof(ActionResult<>).IsAssignableFrom(taskResultType.GetGenericTypeDefinition()))
-                    {
-                        var propertyInfo_ActionResult = taskResultType.GetProperty("Value");
-                        ReturnValue_SerializeToBytes = (obj) =>
-                        {
-                            (obj as Task)?.Wait();
-
-                            var taskResult = propertyInfo.GetValue(obj);
-                            var actionResult = propertyInfo_ActionResult.GetValue(taskResult);
-                            return actionResult?.SerializeToBytes();
-                        };
-                    }
-                    else
-                    {
-                      
-                        ReturnValue_SerializeToBytes = (obj) => {
-                            (obj as Task)?.Wait();
-
-                            var taskResult = propertyInfo.GetValue(obj);
-                            return taskResult?.SerializeToBytes();
-                        };
-                    }
-                }
-            }
-            #endregion
-
-
-            #region 转换 特殊 route  "/a/b/{id}/{name}"  为 "/a/b/*"
-            ArgFromUrl();
-
-            void ArgFromUrl()
-            {
-                var oriRoute = apiDesc.OriRouteGet();
-                int index = oriRoute.IndexOf("/{");
-                if (index < 0) return; 
-
-                #region url 
-                var routeArgNames = oriRoute.Substring(index+1).Replace("{", "").Replace("}", "");
-                var urlArgNames = routeArgNames.Split('/');
-                if (urlArgNames == null || urlArgNames.Length == 0) return;
-                #endregion
-
-
-                //arg
-                ParameterInfo[] infos = apiController_Method.GetParameters();
-                if (infos == null || infos.Length == 0) return;
-
-
-                #region build  arg map                
-                //(int urlIndex, int argIndex, Type argType)
-                var maps = new List<(int, int, Type)>();
-
-                for (int i = 0; i < infos.Length; i++)
-                {
-                    var info = infos[i];
-                    for (int j = 0; j < urlArgNames.Length; j++)
-                    {
-                        if (info.Name == urlArgNames[j])
-                        {
-                            maps.Add((j, i, info.ParameterType));
-                            break;
-                        }
-                    }
-                }
-                if (maps.Count == 0) return;
-                #endregion
-
-
-
-                #region Arg_Deserialize
-                Arg_Deserialize = (arg_OriData) =>
-                {
-                    var args = OnDeserialize(arg_OriData);
-
-                    var argsFromUrl = GetArgsFromUrl();
-
-                    foreach ((int urlIndex, int argIndex, Type argType) in maps)
-                    {
-                        if (argsFromUrl.Length > urlIndex)
-                        {
-                            args[argIndex] = argsFromUrl[urlIndex].Deserialize(argType);
-                        }
-                    }
-
-                    return args;
-                };
-                #endregion
-            }
-
-            string[] GetArgsFromUrl()
-            {
-                return RpcContext.RpcData.http_url_RelativeUrl_Get()?.Split('/');
-            }
-            #endregion
-        }
-
-
-
-
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public byte[] Invoke(ArraySegment<byte> arg_OriData)
-        {
-            //(x.1)反序列化 请求参数
-            //var args = apiDesc.argType?.Deserialize(arg_OriData);
-            var args = Arg_Deserialize(arg_OriData);
-
-            //(x.2) Invoke
-            //var returnValue = apiController_Method.Invoke(IocHelp.Create(apiController_Method.DeclaringType), args);           
-            var returnValue = executor.Execute(IocHelp.Create(apiController_Method.DeclaringType), args);
-
-            //(x.3) 序列化 返回数据
-            return ReturnValue_SerializeToBytes(returnValue);
-        }       
-
-
-    }
-}

+ 0 - 31
dotnet/ServiceStation/ApiLoader/Sers.NetcoreLoader/Sers.NetcoreLoader.csproj

@@ -1,31 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-	<PropertyGroup>
-		<TargetFramework>netstandard2.0</TargetFramework>
-		<Version>2.1.1.611</Version>
-	</PropertyGroup>
-
-	<PropertyGroup>
-		<Authors>Lith</Authors>
-		<PackageProjectUrl>https://github.com/serset/Sers/tree/2.1.1/release</PackageProjectUrl>
-		<Description>Send email to serset@yeah.net if you have any questions.</Description>
-	</PropertyGroup>
-
-	<PropertyGroup>
-		<DocumentationFile>bin\Debug\netstandard2.0\Sers.NetcoreLoader.xml</DocumentationFile>
-	</PropertyGroup>
-
-
-	<ItemGroup>
-		<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.1.0" />
-	</ItemGroup>
-
-	<ItemGroup>
-		<PackageReference Include="Sers.Ioc" Version="2.1.3.499" />
-	</ItemGroup>
-
-	<ItemGroup>
-		<ProjectReference Include="..\Sers.Serslot\Sers.Serslot.csproj" />
-	</ItemGroup>
-
-</Project>

+ 0 - 13
dotnet/ServiceStation/ApiLoader/Sers.Serslot/Properties/PublishProfiles/FolderProfile.pubxml

@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-https://go.microsoft.com/fwlink/?LinkID=208121. 
--->
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <PublishProtocol>FileSystem</PublishProtocol>
-    <Configuration>Release</Configuration>
-    <Platform>Any CPU</Platform>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <PublishDir>bin\nuget</PublishDir>
-  </PropertyGroup>
-</Project>

+ 0 - 441
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Controllers/ValuesController.cs

@@ -1,441 +0,0 @@
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http.Features;
-using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
-using Vit.Core.Util.ComponentModel.Data;
-using Vit.Core.Util.ComponentModel.Model;
-
-namespace Did.NetcoreLoader.Demo.Controllers
-{
-    [Route("apidemo/[controller]")]
-    [Route("apidemo/v1")]
-    [ApiController]
-    public class ValuesController : ControllerBase
-    {
-
-        #region (x.1)route
-
-        /// <summary>
-        /// GET did_serslot/Values
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public object Route0([FromQuery]string a)
-        {
-            //var requestFeature = Request.HttpContext.Features.Get<IHttpRequestFeature>();             
-            return "GET did_serslot/Values?a=" + a;
-        }
-
-
-        /// <summary>
-        /// GET did_serslot/Values/route_x
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("101/route")]
-        [HttpGet("102/route")]
-        [HttpGet("/did_serslot/Values/103/route")]
-        public object Route1()
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method
-            };
-        }
-
-
-        /// <summary>
-        /// GET did_serslot/Values/route104
-        /// </summary>
-        /// <returns></returns>     
-        [HttpGet("[action]")]
-        public object route104()
-        {
-            return new
-            {
-                name = "GET did_serslot/Values/route104",
-                Request.Path,
-                Request.Method
-            };
-        }
-        #endregion
-
-
-        #region (x.2)Name和Desc
-
-        /// <summary>
-        /// 演示 如何使用Name 和 Description。
-        /// 函数注释和使用SsDescription是一样的效果。
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("201/NameDesc")]
-        [SsName("NameDesc1")]
-        public ApiReturn NameDesc()
-        {
-            return new ApiReturn();
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("202/NameDesc")]
-        [SsDescription("演示 如何使用Name 和 Description。\n函数注释和使用SsDescription是一样的效果。")]
-        public ApiReturn NameDesc2()
-        {
-            return new ApiReturn();
-        }
-        #endregion
-
-
-
-        #region (x.3) 参数
-
-        #region (x.x.1) 从route获取参数
-        /// <summary>
-        /// 从route获取参数
-        /// GET did_serslot/Values/301/arg/{id}/{id2}       
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("301/arg/{name}/{age}")]
-        public object Arg301(
-             [SsExample("lith"), SsDefaultValue("NoName"), SsDescription("姓名")]string name,
-             [SsExample("30"), SsDefaultValue("0"), SsDescription("年龄,请指定在16-50中间的整数")]int age)
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method,
-                request = new { name, age }
-            };
-        }
-        #endregion
-
-        #region (x.x.2)从Query String获取参数
-        /// <summary>
-        /// 从Query String获取参数
-        /// GET did_serslot/Values/302/arg?name=lith&amp;age=30
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("302/arg")]
-        public object Arg302(
-             [FromQuery, SsExample("lith"), SsDescription("姓名")]string name,
-             [FromQuery, SsExample("30"), SsDescription("年龄,请指定在16-50中间的整数")]int age)
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method,
-                request = new { name, age }
-            };
-        }
-        #endregion
-
-
-        #region (x.x.3)从Body获取参数
-
-        /// <summary>
-        /// 从Body获取参数
-        /// POST did_serslot/Values/303/arg
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("303/arg")]
-        public object Arg3([FromBody, SsExample("\"lith\""), SsDescription("姓名,请以双引号开始和结束")]string name)
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method,
-                request = new { name }
-            };
-        }
-        #endregion
-
-        #region (x.x.4)从Body获取参数
-
-        /// <summary>
-        /// 从Body获取参数
-        /// POST did_serslot/Values/304/arg
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("304/arg")]
-        public object Arg4([FromBody] ArgModel arg)
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method,
-                request = arg
-            };
-        }
-
-        public class ArgModel
-        {
-            /// <summary>
-            /// 姓名
-            /// </summary>
-            [SsExample("lith"), SsDefaultValue("NoName")]
-            [JsonProperty("arg")]
-            public string name { get; set; }
-            /// <summary>
-            /// 
-            /// </summary>
-            [SsExample("20"), SsDefaultValue("0"), SsDescription("年龄,请指定在16-50中间的整数")]
-            public int age;
-        }
-
-
-        #endregion
-
-
-        #region (x.x.5)从Form获取参数
-
-        /// <summary>
-        /// 从Form获取参数
-        /// POST did_serslot/Values/304/arg
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("305/arg")]
-        public object Arg5([FromForm]ArgModel arg)
-        {
-            return new
-            {
-                Request.Path,
-                Request.Method,
-                request = arg
-            };
-        }
-        #endregion
-
-
-
-        #endregion
-
-
-        #region (x.4) 返回值
-
-
-        #region (x.x.1)返回值注释
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("401/ret")]
-        [return: SsExample("test1"), SsDescription("返回test1")]
-        public string Return4()
-        {
-            return "test1";
-        }
-
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("402/ret")]
-        [return: SsExample("5"), SsDescription("返回5")]
-        public int Return5()
-        {
-            return 5;
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("403/ret")]
-        [return: /*SsExample("{\"name\":\"张三\"}"),*/ SsDescription("返回模型数据")]
-        public ReturnData Return6()
-        {
-            return new ReturnData { name = "张三" };
-        }
-
-
-        /// <summary>
-        /// Return注释-FromType
-        /// </summary>
-        public class ReturnData
-        {
-
-            /// <summary>
-            /// 姓名
-            /// </summary>
-            [SsExample("lith"), SsDefaultValue("NoName")]
-            public string name { get; set; }
-        }
-
-
-        #endregion
-
-
-        #region (x.x.2)异步返回
-
-
-
-        /// <summary>
-        /// GET did_serslot/Values/201/result
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("420/result")]
-        public object Result1()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// GET did_serslot/Values/202/result
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("421/result")]
-        public ActionResult<string> Result2()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-
-        /// <summary>
-        /// GET did_serslot/Values/203/result
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("422/result")]
-        public ActionResult<IEnumerable<string>> Result3()
-        {
-            return new string[] { Request.Method + " " + Request.Path, "" };
-        }
-
-
-        /// <summary>
-        /// GET did_serslot/Values/204/result
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("423/result")]
-        public async Task<string> Result4()
-        {
-            await Task.Run(() => { Thread.Sleep(2000); });
-
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// GET did_serslot/Values/205/result
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("424/result")]
-        public async Task<ActionResult<string>> Result5()
-        {
-            await Task.Run(() => { Thread.Sleep(2000); });
-
-            return Request.Method + " " + Request.Path;
-        }
-
-        #endregion
-
-
-        #endregion
-
-
-        #region (x.5)指定参数或返回值类型
-        /// <summary>
-        /// 指定参数或返回值类型
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("500/type")]
-        [return: SsType(typeof(List<string>)), SsExample("[5,6]"), SsDescription("返回原值")]
-        public string Type(
-            [SsType(typeof(List<string>)), SsExample("[5,6]"), SsDescription("id数组")]string ids
-            )
-        {
-            return ids;
-        }
-        #endregion
-
-
-        #region (x.6) HttpMethod
-
-        /// <summary>
-        /// GET did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("600/method")]
-        public string Method_Get()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// POST did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("600/method")]
-        public string Method_Post()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// Put did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPut("600/method")]
-        public string Method_Put()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// Delete did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpDelete("600/method")]
-        public string Method_Delete()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        ///// <summary>
-        ///// Head did_serslot/Values/600/method
-        ///// </summary>
-        ///// <returns></returns>
-        //[HttpHead("600/method")]
-        //public string Method_Head()
-        //{
-        //    return Request.Method + " " + Request.Path;
-        //}
-
-        /// <summary>
-        /// Options did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpOptions("600/method")]
-        public string Method_Options()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-        /// <summary>
-        /// Patch did_serslot/Values/600/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPatch("600/method")]
-        public string Method_Patch()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-
-
-        /// <summary>
-        /// get|post did_serslot/Values/601/method
-        /// </summary>
-        /// <returns></returns>
-        [Route("601/method")]
-        [HttpGet, HttpPost]
-        public string Method2()
-        {
-            return Request.Method + " " + Request.Path;
-        }
-        #endregion
-
-    }
-}

+ 0 - 35
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Did.NetcoreLoader.Demo.csproj

@@ -1,35 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp2.1</TargetFramework>
-    <ApplicationIcon />
-    <OutputType>Exe</OutputType>
-    <StartupObject />
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <DocumentationFile>bin\Debug\netcoreapp2.1\Did.NetcoreLoader.Demo.xml</DocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Folder Include="wwwroot\" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.App" />
-    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />    
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\ApiLoader\Sers.NetcoreLoader\Sers.NetcoreLoader.csproj" />
-  </ItemGroup> 
-
-  <ItemGroup>
-    <Content Update="appsettings.json">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-
- 
-
-</Project>

+ 0 - 45
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Program.cs

@@ -1,45 +0,0 @@
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-using Newtonsoft.Json.Linq;
-using Sers.Core.Module.Api.LocalApi.Event;
-using Sers.ServiceStation;
-using Vit.Extensions;
-
-namespace Did.NetcoreLoader.Demo
-{
-    public class Program
-    {
-        public static void Main(string[] args)
-        {
-            if (null != Vit.Core.Util.ConfigurationManager.ConfigurationManager.Instance.Get<JToken>("Sers"))
-            {
-                //start by sers
-
-                ServiceStation.Init();
-
-                LocalApiEventMng.Instance.UseIoc();
-
-                #region (x.x)加载api             
-                ServiceStation.Instance.localApiService.LoadNetcoreApi(typeof(Program).Assembly);
-                ServiceStation.Instance.LoadApi(); 
-                #endregion
-
-
-                ServiceStation.Start();
-
-                ServiceStation.RunAwait();
-
-            }
-            else
-            {
-                //start by AspNetCore Original
-                CreateWebHostBuilder(args).Build().Run();
-            }
-        }
-
-        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
-            WebHost.CreateDefaultBuilder(args)
-               .UseUrls(Vit.Core.Util.ConfigurationManager.ConfigurationManager.Instance.GetByPath<string[]>("server.urls"))
-               .UseStartup<Startup>();
-    }
-}

+ 0 - 22
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Properties/PublishProfiles/FolderProfile.pubxml

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
-自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。 
--->
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <WebPublishMethod>FileSystem</WebPublishMethod>
-    <PublishProvider>FileSystem</PublishProvider>
-    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
-    <LastUsedPlatform>Any CPU</LastUsedPlatform>
-    <SiteUrlToLaunchAfterPublish />
-    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
-    <ExcludeApp_Data>False</ExcludeApp_Data>
-    <TargetFramework>netcoreapp2.1</TargetFramework>
-    <ProjectGuid>70d6f463-ab83-421c-89ba-d8c3fefbd0fe</ProjectGuid>
-    <SelfContained>false</SelfContained>
-    <_IsPortable>true</_IsPortable>
-    <publishUrl>bin\station</publishUrl>
-    <DeleteExistingFiles>True</DeleteExistingFiles>
-  </PropertyGroup>
-</Project>

+ 0 - 30
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Properties/launchSettings.json

@@ -1,30 +0,0 @@
-{
-  "$schema": "http://json.schemastore.org/launchsettings.json",
-  "iisSettings": {
-    "windowsAuthentication": false, 
-    "anonymousAuthentication": true, 
-    "iisExpress": {
-      "applicationUrl": "http://localhost:50665",
-      "sslPort": 44308
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "launchUrl": "api/values",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "App.WebApp2._1.Station": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "launchUrl": "api/values",
-      "applicationUrl": "https://localhost:5001;http://localhost:5000",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    }
-  }
-}

+ 0 - 40
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/Startup.cs

@@ -1,40 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Did.NetcoreLoader.Demo
-{
-    public class Startup
-    {
-        public Startup(IConfiguration configuration)
-        {
-            Configuration = configuration;
-        }
-
-        public IConfiguration Configuration { get; }
-
-        // This method gets called by the runtime. Use this method to add services to the container.
-        public void ConfigureServices(IServiceCollection services)
-        {
-            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
-        }
-
-        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
-        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
-        {
-            if (env.IsDevelopment())
-            {
-                app.UseDeveloperExceptionPage();
-            }
-            else
-            {
-                app.UseHsts();
-            }
-
-            app.UseHttpsRedirection();
-            app.UseMvc();
-        }
-    }
-}

+ 0 - 9
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/appsettings.Development.json

@@ -1,9 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Debug",
-      "System": "Information",
-      "Microsoft": "Information"
-    }
-  }
-}

+ 0 - 90
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.Demo/appsettings.json

@@ -1,90 +0,0 @@
-{
-
-  /* asp.net core 原始web服务配置 */
-  "server": {
-    //"urls": [ "http://localhost:5001", "http://127.0.0.1:5002", "http://*:5003" ]
-    "urls": [ "http://localhost:7777" ]
-  },
-
-  "Logging": {
-    "LogLevel": {
-      "Default": "Warning"
-    }
-  },
-
-
-  "Sers": {
-    /* 通讯层配置 */
-    "CL": {
-      /* one conn is one channel.can be multiable */
-      "Client": [
-        {
-          // Socket.Iocp
-          /* (x.1) type - Iocp */
-          /* the class of builder in assemblyFile  */
-          "className": "Sers.CL.Socket.Iocp.OrganizeClientBuilder",
-
-          /* 通信模式。可为 "Simple"   "Timer"   "SpinWait"(默认)  */
-          //"mode": "Timer",
-
-          /* (x.2) conn config */
-          /* 服务端 host地址。例如: "127.0.0.1"、"sers.cloud" */
-          "host": "127.0.0.1",
-          /* 服务端 监听端口号。例如: 4501 */
-          "port": 4501,
-
-
-          /* 连接秘钥,用以验证连接安全性。服务端和客户端必须一致 */
-          "secretKey": "SersCL"
-        }
-      ]
-    },
-
-
-    /* LocalApiService 配置,可不指定 */
-    "LocalApiService": {
-
-      /* 后台服务的线程个数(单位个,默认0,代表不开启服务) */
-      "workThreadCount": 4,
-
-      /* Api加载器配置 */
-      "ApiLoaders": [
-        {
-          /* 加载器的类名,可为 Sers.ApiLoader.Ss.ApiLoader 、 Sers.ApiLoader.WebApi21.ApiLoader 等。若不指定则默认为"Sers.ApiLoader.Ss.ApiLoader" */
-          "loader_className": "Sers.ApiLoader.WebApi21.ApiLoader",
-          /* 在此Assembly中查找服务(如 Sers.Core.Station.dll 、Sers.ApiLoader.WebApi21.dll) */
-          "loader_assemblyFile": "Sers.ApiLoader.WebApi21.dll",
-
-          /* 在此Assembly中查找服务(如 App.StationDemo.Station)(assembly、assemblyFile、assemblyName 指定任一即可) */
-          "assemblyName": "App.WebApi21.Station"
-        }
-      ]
-
-
-    },
-
-
-    /* ServiceStation配置,可不指定 */
-    "ServiceStation": {
-
-      /* serviceStation站点信息 */
-      "serviceStationInfo": {
-        "serviceStationName": "WebApi21"
-      }
-    }
-  },
-
-  /* Vit工具配置,可不指定 */
-  "Vit": {
-
-    /* 日志配置,可不指定 */
-    "Logger": {
-      /* print the log to Log/*.txt default:true  */
-      "PrintToTxt": true,
-      /* print the log to console. default:false  */
-      "PrintToConsole": true
-    }
-  }
-
-
-}

+ 0 - 279
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Controllers/ValuesController.cs

@@ -1,279 +0,0 @@
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-
-namespace Did.NetcoreLoader.HelloWorld.Controllers
-{
-    [Route("apidemo/[controller]")]
-    [Route("apidemo/v1")]
-    [ApiController]
-    public class ValuesController : ControllerBase
-    {
-
-        #region (x.1)route
-
-        /// <summary>
-        /// GET apidemo/Values
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        public object  Route0()
-        {
-            //var requestFeature = Request.HttpContext.Features.Get<IHttpRequestFeature>();             
-            return "GET apidemo/Values";
-        }
-
-
-        /// <summary>
-        /// GET apidemo/Values/route_x
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("route1")]
-        [HttpGet("route2")]
-        [HttpGet("/apidemo/Values/route3")]
-        public object Route1()
-        {            
-            return new{
-                Request.Path,
-                Method = Request.Method
-            };
-        }
-
-
-        /// <summary>
-        /// GET apidemo/Values/route4
-        /// </summary>
-        /// <returns></returns>     
-        [HttpGet("[action]")]
-        public object route4()
-        {
-            return new
-            {
-                name= "GET apidemo/Values/route4",
-                Request.Path,
-                Method = Request.Method
-            };
-        }
-        #endregion
-
-
-        #region (x.2) result
-
-        /// <summary>
-        /// GET apidemo/Values/result1
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("result1")]
-        public object Result1()
-        {
-            return "GET apidemo/Values/result1";
-        }
-
-        /// <summary>
-        /// GET apidemo/Values/result2
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("result2")]
-        public ActionResult<string> Result2()
-        {
-            return "GET apidemo/Values/result2";
-        }
-
-
-        /// <summary>
-        /// GET apidemo/Values/result3
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("result3")]
-        public ActionResult<IEnumerable<string>> Result3()
-        {
-            return new string[] { "GET apidemo/Values/result3", "" };
-        }
-
-
-        /// <summary>
-        /// GET apidemo/Values/result4
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("result4")]
-        public async Task<string> Result4()
-        {
-            await Task.Run(() => { Thread.Sleep(2000); });
-
-            return "GET apidemo/Values/result4";
-        }
-
-        /// <summary>
-        /// GET apidemo/Values/result5
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("result5")]
-        public async Task<ActionResult<string>> Result5()
-        {
-            await Task.Run(() => { Thread.Sleep(2000); });
-
-            return "GET apidemo/Values/result5";
-        }
-        #endregion
-
-
-        #region (x.3) HttpMethod
-
-        /// <summary>
-        /// GET apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("method")]
-        public string Method_Get()
-        {
-            return "GET apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// POST apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("method")]
-        public string Method_Post()
-        {
-            return "POST apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// Put apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPut("method")]
-        public string Method_Put()
-        {
-            return "Put apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// Delete apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpDelete("method")]
-        public string Method_Delete()
-        {
-            return "Delete apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// Head apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpHead("method")]
-        public string Method_Head()
-        {
-            return "Head apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// Options apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpOptions("method")]
-        public string Method_Options()
-        {
-            return "Options apidemo/Values/method";
-        }
-
-        /// <summary>
-        /// Patch apidemo/Values/method
-        /// </summary>
-        /// <returns></returns>
-        [HttpPatch("method")]
-        public string Method_Patch()
-        {
-            return "Patch apidemo/Values/method";
-        }
-
-
-        /// <summary>
-        /// get|post apidemo/Values/method2
-        /// </summary>
-        /// <returns></returns>
-        [Route("method2")]
-        [HttpGet,HttpPost]
-        public object Method2()
-        {
-            return new
-            {
-                Request.Path,
-                Method = Request.Method
-            };
-        }
-        #endregion
-
-
-        #region (x.4) Arg
-
-
-        /// <summary>
-        /// GET apidemo/Values/arg1/{id}/{id2}
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet("arg1/{id}/{id2}")]
-        public object Arg1(string id,string id2)
-        {
-            return new {
-                route= "GET apidemo/Values/arg1/{id}/{id2}",
-                arg = new { id,id2 }
-            }; 
-        }
-
-        ///// <summary>
-        ///// GET apidemo/Values/arg2/arg2?id={id}
-        ///// </summary>
-        ///// <returns></returns>
-        //[HttpGet("arg2?id={id}")]
-        //public object Arg2(string id)
-        //{
-        //    return new
-        //    {
-        //        route = "GET apidemo/Values/arg2/arg2?id={id}",
-        //        arg = new { id }
-        //    };
-        //}
-
-
-        /// <summary>
-        /// POST apidemo/Values/arg3
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("arg3")]
-        public object Arg3([FromBody] string arg1)
-        {
-            return new
-            {
-                route = "POST apidemo/Values/arg3",
-                arg = new { arg1 }
-            };
-        }
-
-
-
-        /// <summary>
-        /// POST apidemo/Values/arg4
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost("arg4")]
-        public object Arg4([FromBody] Arg4Model arg)
-        {
-            return new
-            {
-                route = "POST apidemo/Values/arg4",
-                arg = arg
-            };
-        }
-        public class Arg4Model {
-            public string arg1 { get; set; }
-            public string arg2 { get; set; }
-        };
-        #endregion
-
-
-    }
-}

+ 0 - 35
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Did.NetcoreLoader.HelloWorld.csproj

@@ -1,35 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp2.1</TargetFramework>
-    <ApplicationIcon />
-    <OutputType>Exe</OutputType>
-    <StartupObject />
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <DocumentationFile>bin\Debug\netcoreapp2.1\Did.NetcoreLoader.HelloWorld.xml</DocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Folder Include="wwwroot\" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.App" />
-    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />    
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\ApiLoader\Sers.NetcoreLoader\Sers.NetcoreLoader.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <Content Update="appsettings.json">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-
- 
-
-</Project>

+ 0 - 45
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Program.cs

@@ -1,45 +0,0 @@
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-using Newtonsoft.Json.Linq;
-using Sers.Core.Module.Api.LocalApi.Event;
-using Sers.ServiceStation;
-using Vit.Extensions;
-
-namespace Did.NetcoreLoader.HelloWorld
-{
-    public class Program
-    {
-        public static void Main(string[] args)
-        {
-            if (null != Vit.Core.Util.ConfigurationManager.ConfigurationManager.Instance.Get<JToken>("Sers"))
-            {
-                //start by sers
-
-                ServiceStation.Init();
-
-                LocalApiEventMng.Instance.UseIoc();
-
-                #region (x.x)加载api             
-                ServiceStation.Instance.localApiService.LoadNetcoreApi(typeof(Program).Assembly);
-                ServiceStation.Instance.LoadApi(); 
-                #endregion
-
-
-                ServiceStation.Start();
-
-                ServiceStation.RunAwait();
-
-            }
-            else
-            {
-                //start by AspNetCore Original
-                CreateWebHostBuilder(args).Build().Run();
-            }
-        }
-
-        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
-            WebHost.CreateDefaultBuilder(args)
-               .UseUrls(Vit.Core.Util.ConfigurationManager.ConfigurationManager.Instance.GetByPath<string[]>("server.urls"))
-               .UseStartup<Startup>();
-    }
-}

+ 0 - 22
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Properties/PublishProfiles/FolderProfile.pubxml

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
-自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。 
--->
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <WebPublishMethod>FileSystem</WebPublishMethod>
-    <PublishProvider>FileSystem</PublishProvider>
-    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
-    <LastUsedPlatform>Any CPU</LastUsedPlatform>
-    <SiteUrlToLaunchAfterPublish />
-    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
-    <ExcludeApp_Data>False</ExcludeApp_Data>
-    <TargetFramework>netcoreapp2.1</TargetFramework>
-    <ProjectGuid>70d6f463-ab83-421c-89ba-d8c3fefbd0fe</ProjectGuid>
-    <SelfContained>false</SelfContained>
-    <_IsPortable>true</_IsPortable>
-    <publishUrl>bin\station</publishUrl>
-    <DeleteExistingFiles>True</DeleteExistingFiles>
-  </PropertyGroup>
-</Project>

+ 0 - 30
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Properties/launchSettings.json

@@ -1,30 +0,0 @@
-{
-  "$schema": "http://json.schemastore.org/launchsettings.json",
-  "iisSettings": {
-    "windowsAuthentication": false, 
-    "anonymousAuthentication": true, 
-    "iisExpress": {
-      "applicationUrl": "http://localhost:50665",
-      "sslPort": 44308
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "launchUrl": "api/values",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "App.WebApp2._1.Station": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "launchUrl": "api/values",
-      "applicationUrl": "https://localhost:5001;http://localhost:5000",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    }
-  }
-}

+ 0 - 40
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/Startup.cs

@@ -1,40 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Did.NetcoreLoader.HelloWorld
-{
-    public class Startup
-    {
-        public Startup(IConfiguration configuration)
-        {
-            Configuration = configuration;
-        }
-
-        public IConfiguration Configuration { get; }
-
-        // This method gets called by the runtime. Use this method to add services to the container.
-        public void ConfigureServices(IServiceCollection services)
-        {
-            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
-        }
-
-        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
-        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
-        {
-            if (env.IsDevelopment())
-            {
-                app.UseDeveloperExceptionPage();
-            }
-            else
-            {
-                app.UseHsts();
-            }
-
-            app.UseHttpsRedirection();
-            app.UseMvc();
-        }
-    }
-}

+ 0 - 9
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/appsettings.Development.json

@@ -1,9 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Debug",
-      "System": "Information",
-      "Microsoft": "Information"
-    }
-  }
-}

+ 0 - 89
dotnet/ServiceStation/Demo/NetcoreLoader/Did.NetcoreLoader.HelloWorld/appsettings.json

@@ -1,89 +0,0 @@
-{
-  "Logging": {
-    "LogLevel": {
-      "Default": "Warning"
-    }
-  },
-
-
-  "Sers": {
-    /* 通讯层配置 */
-    "CL": {
-      /* one conn is one channel.can be multiable */
-      "Client": [
-        {
-          // Socket.Iocp
-          /* (x.1) type - Iocp */
-          /* the class of builder in assemblyFile  */
-          "className": "Sers.CL.Socket.Iocp.OrganizeClientBuilder",
-
-          /* 通信模式。可为 "Simple"   "Timer"   "SpinWait"(默认)  */
-          //"mode": "Timer",
-
-          /* (x.2) conn config */
-          /* 服务端 host地址。例如: "127.0.0.1"、"sers.cloud" */
-          "host": "127.0.0.1",
-          /* 服务端 监听端口号。例如: 4501 */
-          "port": 4501,
-
-
-          /* 连接秘钥,用以验证连接安全性。服务端和客户端必须一致 */
-          "secretKey": "SersCL"
-        }
-      ]
-    },
-
-
-    /* LocalApiService 配置,可不指定 */
-    "LocalApiService": {
-
-      /* 后台服务的线程个数(单位个,默认0,代表不开启服务) */
-      "workThreadCount": 4,
-
-      /* Api加载器配置 */
-      "ApiLoaders": [
-        {
-          /* 加载器的类名,可为 Sers.ApiLoader.Ss.ApiLoader 、 Sers.ApiLoader.WebApi21.ApiLoader 等。若不指定则默认为"Sers.ApiLoader.Ss.ApiLoader" */
-          "loader_className": "Sers.ApiLoader.WebApi21.ApiLoader",
-          /* 在此Assembly中查找服务(如 Sers.Core.Station.dll 、Sers.ApiLoader.WebApi21.dll) */
-          "loader_assemblyFile": "Sers.ApiLoader.WebApi21.dll",
-
-          /* 在此Assembly中查找服务(如 App.StationDemo.Station)(assembly、assemblyFile、assemblyName 指定任一即可) */
-          "assemblyName": "App.WebApi21.Station"
-        }
-      ]
-
-
-    },
-
-
-    /* ServiceStation配置,可不指定 */
-    "ServiceStation": {
-
-      /* serviceStation站点信息 */
-      "serviceStationInfo": {
-        "serviceStationName": "WebApi21"
-      }
-    }
-  },
-
-  /* Vit工具配置,可不指定 */
-  "Vit": {
-
-    /* 日志配置,可不指定 */
-    "Logger": {
-      /* print the log to Log/*.txt default:true  */
-      "PrintToTxt": true,
-      /* print the log to console. default:false  */
-      "PrintToConsole": true
-    }
-  },
-
-
-
-  /* asp.net core 原始web服务配置 */
-  "server": {
-    "urls": [ "http://localhost:5001", "http://127.0.0.1:5002", "http://*:5003" ]
-  }
-
-}

+ 1 - 2
dotnet/ServiceStation/Demo/Serslot/Did.Serslot.Demo/Did.Serslot.Demo.csproj

@@ -15,11 +15,10 @@
 
   <ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.App" />
-    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\ApiLoader\Sers.Serslot\Sers.Serslot.csproj" />
+    <ProjectReference Include="..\..\..\..\Library\Sers\Sers.Serslot\Sers.Serslot\Sers.Serslot.csproj" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 2
dotnet/ServiceStation/Demo/Serslot/Did.Serslot.HelloWorld/Did.Serslot.HelloWorld.csproj

@@ -15,11 +15,10 @@
 
   <ItemGroup>
     <PackageReference Include="Microsoft.AspNetCore.App" />
-    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\ApiLoader\Sers.Serslot\Sers.Serslot.csproj" />
+    <ProjectReference Include="..\..\..\..\Library\Sers\Sers.Serslot\Sers.Serslot\Sers.Serslot.csproj" />
   </ItemGroup>
 
   <ItemGroup>