From 9ca96199d92168fe221dda9aba56f55520a561d8 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期二, 29 十月 2024 17:30:59 +0800 Subject: [PATCH] 1 --- WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/ByteHelper.cs | 24 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config | 1910 +++++++++++------------ WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 | 0 WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/MelsecCustomModel.cs | 219 ++ WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/MD5Helper.cs | 101 + WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 | 0 WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/SiemensCustomModel.cs | 230 ++ WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs | 14 WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/HtmlHelper.cs | 69 WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_LogService.cs | 19 WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/ModbusCustomModel.cs | 219 ++ WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj | 2 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/87d5782c-f2d2-4f5a-bfa4-a23fd505a64b.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs | 14 WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/SwaggerMiddleware.cs | 14 WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/ModelValidateAttribute.cs | 25 WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/css/swaggerdoc.css | 109 + WIDESEAWCS_Client/src/views/Index.vue | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs | 19 WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/SqlSugarAop.cs | 22 WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/DataLengthAttribute.cs | 20 WIDESEAWCS_Server/WIDESEAWCS_Core/Const/HtmlElementType.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs | 4 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 816 +++------ WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_LogRepository.cs | 18 WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/CacheAttribute.cs | 20 WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/CacheAOP.cs | 150 + WIDESEAWCS_Client/src/views/system/Sys_Log.vue | 271 ++ WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 10 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6891d88c-cbf2-4091-a24a-42f59c325d01.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/launchSettings.json | 2 WIDESEAWCS_Server/WIDESEAWCS_Server/index.html | 4 WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs | 8 WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/ModelValidate.cs | 77 WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/js/swaggerdoc.js | 139 + WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_LogController.cs | 17 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/562911c4-b81e-424e-9269-65d538986921.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_LogRepository.cs | 14 WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs | 22 WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs | 21 WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/MemoryCacheService.cs | 45 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/23fc01ce-aa5c-4077-9a3b-3a5290a8ba88.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs | 9 /dev/null | 59 WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/UtilConvert.cs | 9 WIDESEAWCS_Client/src/views/Login.vue | 2 WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json | 2 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0a2b14b5-bcfa-4464-9cf2-3935b2833bc9.vsidx | 0 53 files changed, 3,074 insertions(+), 1,685 deletions(-) diff --git a/WIDESEAWCS_Client/src/views/Index.vue b/WIDESEAWCS_Client/src/views/Index.vue index e59ef4f..6a20d4e 100644 --- a/WIDESEAWCS_Client/src/views/Index.vue +++ b/WIDESEAWCS_Client/src/views/Index.vue @@ -120,7 +120,7 @@ import VolMenu from "@/components/basic/VolElementMenu.vue"; import Message from "./index/Message.vue"; import MessageConfig from "./index/MessageConfig.js"; -var imgUrl = require("@/assets/imgs/wms_x.png"); +var imgUrl = require("@/assets/imgs/wcs_logo.png"); var $this; var $interval; var $indexDate; diff --git a/WIDESEAWCS_Client/src/views/Login.vue b/WIDESEAWCS_Client/src/views/Login.vue index c61c0e8..3420df5 100644 --- a/WIDESEAWCS_Client/src/views/Login.vue +++ b/WIDESEAWCS_Client/src/views/Login.vue @@ -1,6 +1,6 @@ <template> <div class="login-container"> - <div class="project-name">WIDESEA_WMS</div> + <div class="project-name">WIDESEA_WCS</div> <div class="login-form"> <div class="form-user" @keypress="loginPress"> <div class="login-text"> diff --git a/WIDESEAWCS_Client/src/views/system/Sys_Log.vue b/WIDESEAWCS_Client/src/views/system/Sys_Log.vue index 9742628..a3d962c 100644 --- a/WIDESEAWCS_Client/src/views/system/Sys_Log.vue +++ b/WIDESEAWCS_Client/src/views/system/Sys_Log.vue @@ -5,66 +5,219 @@ *涓氬姟璇峰湪@/extension/system/Sys_Log.js姝ゅ缂栧啓 --> <template> - <view-grid ref="grid" - :columns="columns" - :detail="detail" - :editFormFields="editFormFields" - :editFormOptions="editFormOptions" - :searchFormFields="searchFormFields" - :searchFormOptions="searchFormOptions" - :table="table" - :extend="extend"> - </view-grid> + <view-grid + ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend" + > + </view-grid> </template> <script> - import extend from "@/extension/system/Sys_Log.js"; - import { ref, defineComponent } from "vue"; - export default defineComponent({ - setup() { - const table = ref({ - key: 'Id', - footer: "Foots", - cnName: '绯荤粺鏃ュ織', - name: 'Sys_Log', - url: "/Sys_Log/", - sortName: "Id" - }); - const editFormFields = ref({}); - const editFormOptions = ref([]); - const searchFormFields = ref({"BeginDate":"","Url":"","LogType":[],"Success":[],"UserIP":"","ServiceIP":"","Role_Id":""}); - const searchFormOptions = ref([[{"title":"璇锋眰鍦板潃","field":"Url","type":"text"},{"title":"鐢ㄦ埛IP","field":"UserIP","type":"text"},{"title":"鏈嶅姟鍣↖P","field":"ServiceIP","type":"text"}],[{"title":"寮�濮嬫椂闂�","field":"BeginDate","type":"datetime"},{"dataKey":"restatus","data":[],"title":"鍝嶅簲鐘舵��","field":"Success","type":"selectList"},{"dataKey":"roles","data":[],"title":"瑙掕壊ID","field":"Role_Id","type":"select"}],[{"dataKey":"log","data":[],"title":"鏃ュ織绫诲瀷","field":"LogType","colSize":12,"type":"checkbox"}]]); - const columns = ref([{field:'Id',title:'Id',type:'int',width:90,hidden:true,readonly:true,require:true,align:'left'}, - {field:'BeginDate',title:'寮�濮嬫椂闂�',type:'datetime',width:140,align:'left',sortable:true}, - {field:'UserName',title:'鐢ㄦ埛鍚嶇О',type:'string',width:90,align:'left'}, - {field:'Url',title:'璇锋眰鍦板潃',type:'string',width:110,align:'left'}, - {field:'LogType',title:'鏃ュ織绫诲瀷',type:'string',bind:{ key:'log',data:[]},width:80,align:'left'}, - {field:'Success',title:'鍝嶅簲鐘舵��',type:'int',bind:{ key:'restatus',data:[]},width:80,align:'left'}, - {field:'ElapsedTime',title:'鏃堕暱',type:'int',width:60,align:'left'}, - {field:'RequestParameter',title:'璇锋眰鍙傛暟',type:'string',width:70,align:'left'}, - {field:'ResponseParameter',title:'鍝嶅簲鍙傛暟',type:'string',width:70,align:'left'}, - {field:'ExceptionInfo',title:'寮傚父淇℃伅',type:'string',width:70,align:'left'}, - {field:'UserIP',title:'鐢ㄦ埛IP',type:'string',width:90,align:'left'}, - {field:'ServiceIP',title:'鏈嶅姟鍣↖P',type:'string',width:90,hidden:true,align:'left'}, - {field:'BrowserType',title:'娴忚鍣ㄧ被鍨�',type:'string',width:90,align:'left'}, - {field:'User_Id',title:'鐢ㄦ埛ID',type:'int',width:90,hidden:true,align:'left'}, - {field:'Role_Id',title:'瑙掕壊ID',type:'int',bind:{ key:'roles',data:[]},width:90,hidden:true,align:'left'}, - {field:'EndDate',title:'缁撴潫鏃堕棿',type:'datetime',width:150,hidden:true,align:'left',sortable:true}]); - const detail = ref({ - cnName: "#detailCnName", - columns: [], - sortName: "", - key: "" - }); - return { - table, - extend, - editFormFields, - editFormOptions, - searchFormFields, - searchFormOptions, - columns, - detail, - }; - }, +import extend from "@/extension/system/Sys_Log.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "Id", + footer: "Foots", + cnName: "绯荤粺鏃ュ織", + name: "Sys_Log", + url: "/Sys_Log/", + sortName: "Id", }); + const editFormFields = ref({}); + const editFormOptions = ref([]); + const searchFormFields = ref({ + BeginDate: "", + Url: "", + LogType: [], + Success: [], + UserIP: "", + ServiceIP: "", + Role_Id: "", + }); + const searchFormOptions = ref([ + [ + { title: "璇锋眰鍦板潃", field: "url", type: "text" }, + { title: "鐢ㄦ埛IP", field: "userIP", type: "text" }, + { title: "鏈嶅姟鍣↖P", field: "serviceIP", type: "text" }, + ], + [ + { title: "寮�濮嬫椂闂�", field: "beginDate", type: "datetime" }, + { + dataKey: "restatus", + data: [], + title: "鍝嶅簲鐘舵��", + field: "success", + type: "selectList", + }, + { + dataKey: "roles", + data: [], + title: "瑙掕壊ID", + field: "role_Id", + type: "select", + }, + ], + [ + { + dataKey: "log", + data: [], + title: "鏃ュ織绫诲瀷", + field: "logType", + colSize: 12, + type: "checkbox", + }, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "beginDate", + title: "寮�濮嬫椂闂�", + type: "datetime", + width: 140, + align: "left", + sortable: true, + }, + { + field: "userName", + title: "鐢ㄦ埛鍚嶇О", + type: "string", + width: 90, + align: "left", + }, + { + field: "url", + title: "璇锋眰鍦板潃", + type: "string", + width: 110, + align: "left", + }, + { + field: "logType", + title: "鏃ュ織绫诲瀷", + type: "string", + bind: { key: "log", data: [] }, + width: 80, + align: "left", + }, + { + field: "success", + title: "鍝嶅簲鐘舵��", + type: "int", + bind: { key: "restatus", data: [] }, + width: 80, + align: "left", + }, + { + field: "elapsedTime", + title: "鏃堕暱", + type: "int", + width: 60, + align: "left", + }, + { + field: "requestParameter", + title: "璇锋眰鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "responseParameter", + title: "鍝嶅簲鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "exceptionInfo", + title: "寮傚父淇℃伅", + type: "string", + width: 70, + align: "left", + }, + { + field: "userIP", + title: "鐢ㄦ埛IP", + type: "string", + width: 90, + align: "left", + }, + { + field: "serviceIP", + title: "鏈嶅姟鍣↖P", + type: "string", + width: 90, + hidden: true, + align: "left", + }, + { + field: "browserType", + title: "娴忚鍣ㄧ被鍨�", + type: "string", + width: 90, + align: "left", + }, + { + field: "userId", + title: "鐢ㄦ埛ID", + type: "int", + width: 90, + hidden: true, + align: "left", + }, + { + field: "roleId", + title: "瑙掕壊ID", + type: "int", + bind: { key: "roles", data: [] }, + width: 90, + hidden: true, + align: "left", + }, + { + field: "endDate", + title: "缁撴潫鏃堕棿", + type: "datetime", + width: 150, + hidden: true, + align: "left", + sortable: true, + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + columns: [], + sortName: "", + key: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); </script> diff --git a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin index 20e659b..eb76bc4 100644 --- a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin +++ b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin Binary files differ diff --git a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin index 3216ccf..b9df306 100644 --- a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin +++ b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 index 6eb0412..2e0b4a4 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0a2b14b5-bcfa-4464-9cf2-3935b2833bc9.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0a2b14b5-bcfa-4464-9cf2-3935b2833bc9.vsidx new file mode 100644 index 0000000..4c9714b --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0a2b14b5-bcfa-4464-9cf2-3935b2833bc9.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/23fc01ce-aa5c-4077-9a3b-3a5290a8ba88.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/23fc01ce-aa5c-4077-9a3b-3a5290a8ba88.vsidx new file mode 100644 index 0000000..c496ec4 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/23fc01ce-aa5c-4077-9a3b-3a5290a8ba88.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/562911c4-b81e-424e-9269-65d538986921.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/562911c4-b81e-424e-9269-65d538986921.vsidx new file mode 100644 index 0000000..aaf6178 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/562911c4-b81e-424e-9269-65d538986921.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6891d88c-cbf2-4091-a24a-42f59c325d01.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6891d88c-cbf2-4091-a24a-42f59c325d01.vsidx new file mode 100644 index 0000000..1591c1e --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6891d88c-cbf2-4091-a24a-42f59c325d01.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/87d5782c-f2d2-4f5a-bfa4-a23fd505a64b.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/87d5782c-f2d2-4f5a-bfa4-a23fd505a64b.vsidx new file mode 100644 index 0000000..6a62868 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/87d5782c-f2d2-4f5a-bfa4-a23fd505a64b.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/912a677d-8330-4776-ab36-6a6c09f9a69d.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/912a677d-8330-4776-ab36-6a6c09f9a69d.vsidx deleted file mode 100644 index 384d1cf..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/912a677d-8330-4776-ab36-6a6c09f9a69d.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bafe491b-98e3-4da6-8d36-483608a110d1.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bafe491b-98e3-4da6-8d36-483608a110d1.vsidx deleted file mode 100644 index edf8a88..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bafe491b-98e3-4da6-8d36-483608a110d1.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c47c3150-8299-4d98-9831-255b0ec64b5a.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c47c3150-8299-4d98-9831-255b0ec64b5a.vsidx deleted file mode 100644 index 25d6365..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c47c3150-8299-4d98-9831-255b0ec64b5a.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4e15ca1-e266-4787-b26c-c8bd32f0aac0.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4e15ca1-e266-4787-b26c-c8bd32f0aac0.vsidx deleted file mode 100644 index 26dad66..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c4e15ca1-e266-4787-b26c-c8bd32f0aac0.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c7d62803-d9cb-4c7d-9753-fa2c5aefc7bb.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c7d62803-d9cb-4c7d-9753-fa2c5aefc7bb.vsidx deleted file mode 100644 index 43b154a..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c7d62803-d9cb-4c7d-9753-fa2c5aefc7bb.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config index cdd2df8..fd2cb23 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +锘�<?xml version="1.0" encoding="UTF-8"?> <!-- IIS configuration sections. @@ -18,8 +18,7 @@ --> <configuration> - - <!-- + <!-- The <configSections> section controls the registration of sections. Section is the basic unit of deployment, locking, searching and @@ -46,981 +45,954 @@ </location> --> - <configSections> - <sectionGroup name="system.applicationHost"> - <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <configSections> + <sectionGroup name="system.applicationHost"> + <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + </sectionGroup> + <sectionGroup name="system.webServer"> + <section name="asp" overrideModeDefault="Deny" /> + <section name="caching" overrideModeDefault="Allow" /> + <section name="cgi" overrideModeDefault="Deny" /> + <section name="defaultDocument" overrideModeDefault="Allow" /> + <section name="directoryBrowse" overrideModeDefault="Allow" /> + <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="handlers" overrideModeDefault="Deny" /> + <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> + <section name="httpErrors" overrideModeDefault="Allow" /> + <section name="httpLogging" overrideModeDefault="Deny" /> + <section name="httpProtocol" overrideModeDefault="Allow" /> + <section name="httpRedirect" overrideModeDefault="Allow" /> + <section name="httpTracing" overrideModeDefault="Deny" /> + <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> + <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> + <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> + <section name="odbcLogging" overrideModeDefault="Deny" /> + <sectionGroup name="security"> + <section name="access" overrideModeDefault="Deny" /> + <section name="applicationDependencies" overrideModeDefault="Deny" /> + <sectionGroup name="authentication"> + <section name="anonymousAuthentication" overrideModeDefault="Deny" /> + <section name="basicAuthentication" overrideModeDefault="Deny" /> + <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> + <section name="digestAuthentication" overrideModeDefault="Deny" /> + <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> + <section name="windowsAuthentication" overrideModeDefault="Deny" /> </sectionGroup> - - <sectionGroup name="system.webServer"> - <section name="asp" overrideModeDefault="Deny" /> - <section name="caching" overrideModeDefault="Allow" /> - <section name="cgi" overrideModeDefault="Deny" /> - <section name="defaultDocument" overrideModeDefault="Allow" /> - <section name="directoryBrowse" overrideModeDefault="Allow" /> - <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="handlers" overrideModeDefault="Deny" /> - <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" /> - <section name="httpErrors" overrideModeDefault="Allow" /> - <section name="httpLogging" overrideModeDefault="Deny" /> - <section name="httpProtocol" overrideModeDefault="Allow" /> - <section name="httpRedirect" overrideModeDefault="Allow" /> - <section name="httpTracing" overrideModeDefault="Deny" /> - <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> - <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> - <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> - <section name="odbcLogging" overrideModeDefault="Deny" /> - <sectionGroup name="security"> - <section name="access" overrideModeDefault="Deny" /> - <section name="applicationDependencies" overrideModeDefault="Deny" /> - <sectionGroup name="authentication"> - <section name="anonymousAuthentication" overrideModeDefault="Deny" /> - <section name="basicAuthentication" overrideModeDefault="Deny" /> - <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> - <section name="digestAuthentication" overrideModeDefault="Deny" /> - <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> - <section name="windowsAuthentication" overrideModeDefault="Deny" /> - </sectionGroup> - <section name="authorization" overrideModeDefault="Allow" /> - <section name="ipSecurity" overrideModeDefault="Deny" /> - <section name="dynamicIpSecurity" overrideModeDefault="Deny" /> - <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> - <section name="requestFiltering" overrideModeDefault="Allow" /> - </sectionGroup> - <section name="serverRuntime" overrideModeDefault="Deny" /> - <section name="serverSideInclude" overrideModeDefault="Deny" /> - <section name="staticContent" overrideModeDefault="Allow" /> - <sectionGroup name="tracing"> - <section name="traceFailedRequests" overrideModeDefault="Allow" /> - <section name="traceProviderDefinitions" overrideModeDefault="Deny" /> - </sectionGroup> - <section name="urlCompression" overrideModeDefault="Allow" /> - <section name="validation" overrideModeDefault="Allow" /> - <sectionGroup name="webdav"> - <section name="globalSettings" overrideModeDefault="Deny" /> - <section name="authoring" overrideModeDefault="Deny" /> - <section name="authoringRules" overrideModeDefault="Deny" /> - </sectionGroup> - <sectionGroup name="rewrite"> - <section name="allowedServerVariables" overrideModeDefault="Deny" /> - <section name="rules" overrideModeDefault="Allow" /> - <section name="outboundRules" overrideModeDefault="Allow" /> - <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> - <section name="providers" overrideModeDefault="Allow" /> - <section name="rewriteMaps" overrideModeDefault="Allow" /> - </sectionGroup> - <section name="webSocket" overrideModeDefault="Deny" /> - <section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup> - </configSections> - - <configProtectedData> - <providers> - <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> - <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" /> - <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" /> - </providers> - </configProtectedData> - - <system.applicationHost> - - <applicationPools> - <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> - <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> - <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> - <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> - <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> - <applicationPoolDefaults managedRuntimeVersion="v4.0"> - <processModel loadUserProfile="true" setProfileEnvironment="false" /> - </applicationPoolDefaults> - </applicationPools> - - <!-- + <section name="authorization" overrideModeDefault="Allow" /> + <section name="ipSecurity" overrideModeDefault="Deny" /> + <section name="dynamicIpSecurity" overrideModeDefault="Deny" /> + <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="requestFiltering" overrideModeDefault="Allow" /> + </sectionGroup> + <section name="serverRuntime" overrideModeDefault="Deny" /> + <section name="serverSideInclude" overrideModeDefault="Deny" /> + <section name="staticContent" overrideModeDefault="Allow" /> + <sectionGroup name="tracing"> + <section name="traceFailedRequests" overrideModeDefault="Allow" /> + <section name="traceProviderDefinitions" overrideModeDefault="Deny" /> + </sectionGroup> + <section name="urlCompression" overrideModeDefault="Allow" /> + <section name="validation" overrideModeDefault="Allow" /> + <sectionGroup name="webdav"> + <section name="globalSettings" overrideModeDefault="Deny" /> + <section name="authoring" overrideModeDefault="Deny" /> + <section name="authoringRules" overrideModeDefault="Deny" /> + </sectionGroup> + <sectionGroup name="rewrite"> + <section name="allowedServerVariables" overrideModeDefault="Deny" /> + <section name="rules" overrideModeDefault="Allow" /> + <section name="outboundRules" overrideModeDefault="Allow" /> + <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> + <section name="providers" overrideModeDefault="Allow" /> + <section name="rewriteMaps" overrideModeDefault="Allow" /> + </sectionGroup> + <section name="webSocket" overrideModeDefault="Deny" /> + <section name="aspNetCore" overrideModeDefault="Allow" /> + </sectionGroup> + </configSections> + <configProtectedData> + <providers> + <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> + <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" /> + <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" /> + </providers> + </configProtectedData> + <system.applicationHost> + <applicationPools> + <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> + <add name="WIDESEAWCS_Server AppPool" managedRuntimeVersion="" /> + <applicationPoolDefaults managedRuntimeVersion="v4.0"> + <processModel loadUserProfile="true" setProfileEnvironment="false" /> + </applicationPoolDefaults> + </applicationPools> + <!-- The <listenerAdapters> section defines the protocols with which the Windows Process Activation Service (WAS) binds. --> - <listenerAdapters> - <add name="http" /> - </listenerAdapters> - - <sites> - <site name="WebSite1" id="1" serverAutoStart="true"> - <application path="/"> - <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> - </application> - <bindings> - <binding protocol="http" bindingInformation=":8080:localhost" /> - </bindings> - </site> - <siteDefaults> - <!-- To enable logging, please change the below attribute "enabled" to "true" --> - <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" /> - <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" /> - </siteDefaults> - <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> - <virtualDirectoryDefaults allowSubDirConfig="true" /> - </sites> - - <webLimits /> - - </system.applicationHost> - - <system.webServer> - - <serverRuntime /> - - <asp scriptErrorSentToBrowser="true"> - <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> - <limits /> - </asp> - - <caching enabled="true" enableKernelCache="true"> - </caching> - - <cgi /> - - <defaultDocument enabled="true"> - <files> - <add value="Default.htm" /> - <add value="Default.asp" /> - <add value="index.htm" /> - <add value="index.html" /> - <add value="iisstart.htm" /> - <add value="default.aspx" /> - </files> - </defaultDocument> - - <directoryBrowse enabled="false" /> - - <fastCgi /> - - <!-- + <listenerAdapters> + <add name="http" /> + </listenerAdapters> + <sites> + <site name="WebSite1" id="1" serverAutoStart="true"> + <application path="/"> + <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> + </application> + <bindings> + <binding protocol="http" bindingInformation=":8080:localhost" /> + </bindings> + </site> + <site name="WIDESEAWCS_Server" id="2"> + <application path="/" applicationPool="WIDESEAWCS_Server AppPool"> + <virtualDirectory path="/" physicalPath="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Server" /> + </application> + <bindings> + <binding protocol="http" bindingInformation="*:27002:localhost" /> + </bindings> + </site> + <siteDefaults> + <!-- To enable logging, please change the below attribute "enabled" to "true" --> + <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" /> + <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" /> + </siteDefaults> + <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> + <virtualDirectoryDefaults allowSubDirConfig="true" /> + </sites> + <webLimits /> + </system.applicationHost> + <system.webServer> + <serverRuntime /> + <asp scriptErrorSentToBrowser="true"> + <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> + <limits /> + </asp> + <caching enabled="true" enableKernelCache="true"></caching> + <cgi /> + <defaultDocument enabled="true"> + <files> + <add value="Default.htm" /> + <add value="Default.asp" /> + <add value="index.htm" /> + <add value="index.html" /> + <add value="iisstart.htm" /> + <add value="default.aspx" /> + </files> + </defaultDocument> + <directoryBrowse enabled="false" /> + <fastCgi /> + <!-- The <globalModules> section defines all native-code modules. To enable a module, specify it in the <modules> section. --> - <globalModules> - <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> - <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> - <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> - <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> - <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> - <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> - <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> - <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> - <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> - <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> - <add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> - <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> - <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> - <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> - <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> - <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> - <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> - <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> - <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> - <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> - <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> - <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> - <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> - <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> - <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> - <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> - <add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> - <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> -<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> - <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> - <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> - <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> - <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> - <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> - <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> - <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> - <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> - <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> - <add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" /> - <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" /> - </globalModules> - - <httpCompression directory="%TEMP%"> - <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> - <dynamicTypes> - <add mimeType="text/*" enabled="true" /> - <add mimeType="message/*" enabled="true" /> - <add mimeType="application/x-javascript" enabled="true" /> - <add mimeType="application/javascript" enabled="true" /> - <add mimeType="*/*" enabled="false" /> - <add mimeType="text/event-stream" enabled="false" /> - </dynamicTypes> - <staticTypes> - <add mimeType="text/*" enabled="true" /> - <add mimeType="message/*" enabled="true" /> - <add mimeType="application/javascript" enabled="true" /> - <add mimeType="application/atom+xml" enabled="true" /> - <add mimeType="application/xaml+xml" enabled="true" /> - <add mimeType="image/svg+xml" enabled="true" /> - <add mimeType="*/*" enabled="false" /> - </staticTypes> - </httpCompression> - - <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> - <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> - <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> - <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> - <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> - <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> - <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> - <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> - <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> - <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> - </httpErrors> - - <httpLogging dontLog="false" /> - - <httpProtocol> - <customHeaders> - <clear /> - <add name="X-Powered-By" value="ASP.NET" /> - </customHeaders> - <redirectHeaders> - <clear /> - </redirectHeaders> - </httpProtocol> - - <httpRedirect enabled="false" /> - - <httpTracing /> - - <isapiFilters> - <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> - <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> - <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> - <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> - <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> - </isapiFilters> - - <odbcLogging /> - - <security> - - <access sslFlags="None" /> - - <applicationDependencies> - <application name="Active Server Pages" groupId="ASP" /> - </applicationDependencies> - - <authentication> - - <anonymousAuthentication enabled="true" userName="" /> - - <basicAuthentication enabled="false" /> - - <clientCertificateMappingAuthentication enabled="false" /> - - <digestAuthentication enabled="false" /> - - <iisClientCertificateMappingAuthentication enabled="false"> - </iisClientCertificateMappingAuthentication> - - <windowsAuthentication enabled="false"> - <providers> - <add value="Negotiate" /> - <add value="NTLM" /> - </providers> - </windowsAuthentication> - - </authentication> - - <authorization> - <add accessType="Allow" users="*" /> - </authorization> - - <ipSecurity allowUnlisted="true" /> - - <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> - <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> - <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> - <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> - <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> - </isapiCgiRestriction> - - <requestFiltering> - <fileExtensions allowUnlisted="true" applyToWebDAV="true"> - <add fileExtension=".asa" allowed="false" /> - <add fileExtension=".asax" allowed="false" /> - <add fileExtension=".ascx" allowed="false" /> - <add fileExtension=".master" allowed="false" /> - <add fileExtension=".skin" allowed="false" /> - <add fileExtension=".browser" allowed="false" /> - <add fileExtension=".sitemap" allowed="false" /> - <add fileExtension=".config" allowed="false" /> - <add fileExtension=".cs" allowed="false" /> - <add fileExtension=".csproj" allowed="false" /> - <add fileExtension=".vb" allowed="false" /> - <add fileExtension=".vbproj" allowed="false" /> - <add fileExtension=".webinfo" allowed="false" /> - <add fileExtension=".licx" allowed="false" /> - <add fileExtension=".resx" allowed="false" /> - <add fileExtension=".resources" allowed="false" /> - <add fileExtension=".mdb" allowed="false" /> - <add fileExtension=".vjsproj" allowed="false" /> - <add fileExtension=".java" allowed="false" /> - <add fileExtension=".jsl" allowed="false" /> - <add fileExtension=".ldb" allowed="false" /> - <add fileExtension=".dsdgm" allowed="false" /> - <add fileExtension=".ssdgm" allowed="false" /> - <add fileExtension=".lsad" allowed="false" /> - <add fileExtension=".ssmap" allowed="false" /> - <add fileExtension=".cd" allowed="false" /> - <add fileExtension=".dsprototype" allowed="false" /> - <add fileExtension=".lsaprototype" allowed="false" /> - <add fileExtension=".sdm" allowed="false" /> - <add fileExtension=".sdmDocument" allowed="false" /> - <add fileExtension=".mdf" allowed="false" /> - <add fileExtension=".ldf" allowed="false" /> - <add fileExtension=".ad" allowed="false" /> - <add fileExtension=".dd" allowed="false" /> - <add fileExtension=".ldd" allowed="false" /> - <add fileExtension=".sd" allowed="false" /> - <add fileExtension=".adprototype" allowed="false" /> - <add fileExtension=".lddprototype" allowed="false" /> - <add fileExtension=".exclude" allowed="false" /> - <add fileExtension=".refresh" allowed="false" /> - <add fileExtension=".compiled" allowed="false" /> - <add fileExtension=".msgx" allowed="false" /> - <add fileExtension=".vsdisco" allowed="false" /> - <add fileExtension=".rules" allowed="false" /> - </fileExtensions> - <verbs allowUnlisted="true" applyToWebDAV="true" /> - <hiddenSegments applyToWebDAV="true"> - <add segment="web.config" /> - <add segment="bin" /> - <add segment="App_code" /> - <add segment="App_GlobalResources" /> - <add segment="App_LocalResources" /> - <add segment="App_WebReferences" /> - <add segment="App_Data" /> - <add segment="App_Browsers" /> - </hiddenSegments> - </requestFiltering> - - </security> - - <serverSideInclude ssiExecDisable="false" /> - - <staticContent lockAttributes="isDocFooterFileName"> - <mimeMap fileExtension=".323" mimeType="text/h323" /> - <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> - <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> - <mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> - <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> - <mimeMap fileExtension=".aac" mimeType="audio/aac" /> - <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> - <mimeMap fileExtension=".accde" mimeType="application/msaccess" /> - <mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> - <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> - <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> - <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> - <mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".ai" mimeType="application/postscript" /> - <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> - <mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> - <mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> - <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> - <mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> - <mimeMap fileExtension=".art" mimeType="image/x-jg" /> - <mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> - <mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".asm" mimeType="text/plain" /> - <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> - <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> - <mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> - <mimeMap fileExtension=".au" mimeType="audio/basic" /> - <mimeMap fileExtension=".avi" mimeType="video/avi" /> - <mimeMap fileExtension=".axs" mimeType="application/olescript" /> - <mimeMap fileExtension=".bas" mimeType="text/plain" /> - <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> - <mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".bmp" mimeType="image/bmp" /> - <mimeMap fileExtension=".c" mimeType="text/plain" /> - <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> - <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> - <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> - <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> - <mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> - <mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> - <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> - <mimeMap fileExtension=".cnf" mimeType="text/plain" /> - <mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> - <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> - <mimeMap fileExtension=".cpp" mimeType="text/plain" /> - <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> - <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> - <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> - <mimeMap fileExtension=".csh" mimeType="application/x-csh" /> - <mimeMap fileExtension=".css" mimeType="text/css" /> - <mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".dcr" mimeType="application/x-director" /> - <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> - <mimeMap fileExtension=".dib" mimeType="image/bmp" /> - <mimeMap fileExtension=".dir" mimeType="application/x-director" /> - <mimeMap fileExtension=".disco" mimeType="text/xml" /> - <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> - <mimeMap fileExtension=".dll.config" mimeType="text/xml" /> - <mimeMap fileExtension=".dlm" mimeType="text/dlm" /> - <mimeMap fileExtension=".doc" mimeType="application/msword" /> - <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> - <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> - <mimeMap fileExtension=".dot" mimeType="application/msword" /> - <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> - <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> - <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".dtd" mimeType="text/xml" /> - <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> - <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> - <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> - <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".dxr" mimeType="application/x-director" /> - <mimeMap fileExtension=".eml" mimeType="message/rfc822" /> - <mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> - <mimeMap fileExtension=".eps" mimeType="application/postscript" /> - <mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" /> - <mimeMap fileExtension=".etx" mimeType="text/x-setext" /> - <mimeMap fileExtension=".evy" mimeType="application/envoy" /> - <mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".exe.config" mimeType="text/xml" /> - <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> - <mimeMap fileExtension=".fif" mimeType="application/fractals" /> - <mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> - <mimeMap fileExtension=".flv" mimeType="video/x-flv" /> - <mimeMap fileExtension=".gif" mimeType="image/gif" /> - <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" /> - <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> - <mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> - <mimeMap fileExtension=".h" mimeType="text/plain" /> - <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> - <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> - <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> - <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> - <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> - <mimeMap fileExtension=".hta" mimeType="application/hta" /> - <mimeMap fileExtension=".htc" mimeType="text/x-component" /> - <mimeMap fileExtension=".htm" mimeType="text/html" /> - <mimeMap fileExtension=".html" mimeType="text/html" /> - <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> - <mimeMap fileExtension=".hxt" mimeType="text/html" /> - <mimeMap fileExtension=".ico" mimeType="image/x-icon" /> - <mimeMap fileExtension=".ics" mimeType="text/calendar" /> - <mimeMap fileExtension=".ief" mimeType="image/ief" /> - <mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> - <mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> - <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> - <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> - <mimeMap fileExtension=".jar" mimeType="application/java-archive" /> - <mimeMap fileExtension=".java" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> - <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> - <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> - <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> - <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> - <mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> - <mimeMap fileExtension=".js" mimeType="application/javascript" /> - <mimeMap fileExtension=".json" mimeType="application/json" /> - <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> - <mimeMap fileExtension=".jsx" mimeType="text/jscript" /> - <mimeMap fileExtension=".latex" mimeType="application/x-latex" /> - <mimeMap fileExtension=".less" mimeType="text/css" /> - <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> - <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> - <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> - <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> - <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> - <mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> - <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> - <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> - <mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> - <mimeMap fileExtension=".m4v" mimeType="video/mp4" /> - <mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> - <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> - <mimeMap fileExtension=".map" mimeType="text/plain" /> - <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> - <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> - <mimeMap fileExtension=".mht" mimeType="message/rfc822" /> - <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> - <mimeMap fileExtension=".mid" mimeType="audio/mid" /> - <mimeMap fileExtension=".midi" mimeType="audio/mid" /> - <mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> - <mimeMap fileExtension=".mno" mimeType="text/xml" /> - <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> - <mimeMap fileExtension=".mov" mimeType="video/quicktime" /> - <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> - <mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> - <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> - <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> - <mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> - <mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> - <mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> - <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> - <mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> - <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> - <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> - <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> - <mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> - <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> - <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> - <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> - <mimeMap fileExtension=".nws" mimeType="message/rfc822" /> - <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".oda" mimeType="application/oda" /> - <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> - <mimeMap fileExtension=".ods" mimeType="application/oleobject" /> - <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> - <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> - <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> - <mimeMap fileExtension=".one" mimeType="application/onenote" /> - <mimeMap fileExtension=".onea" mimeType="application/onenote" /> - <mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> - <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> - <mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> - <mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> - <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> - <mimeMap fileExtension=".otf" mimeType="font/otf" /> - <mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> - <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> - <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> - <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> - <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> - <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> - <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> - <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> - <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> - <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> - <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> - <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> - <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> - <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> - <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> - <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> - <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> - <mimeMap fileExtension=".png" mimeType="image/png" /> - <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> - <mimeMap fileExtension=".pnz" mimeType="image/png" /> - <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> - <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> - <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> - <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> - <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> - <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> - <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> - <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> - <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> - <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> - <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> - <mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> - <mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".ps" mimeType="application/postscript" /> - <mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> - <mimeMap fileExtension=".qt" mimeType="video/quicktime" /> - <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> - <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> - <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> - <mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> - <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> - <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> - <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> - <mimeMap fileExtension=".rmi" mimeType="audio/mid" /> - <mimeMap fileExtension=".roff" mimeType="application/x-troff" /> - <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> - <mimeMap fileExtension=".rtf" mimeType="application/rtf" /> - <mimeMap fileExtension=".rtx" mimeType="text/richtext" /> - <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> - <mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> - <mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> - <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> - <mimeMap fileExtension=".sgml" mimeType="text/sgml" /> - <mimeMap fileExtension=".sh" mimeType="application/x-sh" /> - <mimeMap fileExtension=".shar" mimeType="application/x-shar" /> - <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> - <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> - <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> - <mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> - <mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> - <mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> - <mimeMap fileExtension=".snd" mimeType="audio/basic" /> - <mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> - <mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> - <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> - <mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> - <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> - <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> - <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> - <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> - <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> - <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> - <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> - <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> - <mimeMap fileExtension=".t" mimeType="application/x-troff" /> - <mimeMap fileExtension=".tar" mimeType="application/x-tar" /> - <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> - <mimeMap fileExtension=".tex" mimeType="application/x-tex" /> - <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> - <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> - <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> - <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> - <mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".tif" mimeType="image/tiff" /> - <mimeMap fileExtension=".tiff" mimeType="image/tiff" /> - <mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".tr" mimeType="application/x-troff" /> - <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> - <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> - <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> - <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> - <mimeMap fileExtension=".txt" mimeType="text/plain" /> - <mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".uls" mimeType="text/iuls" /> - <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> - <mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> - <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> - <mimeMap fileExtension=".vcs" mimeType="text/plain" /> - <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> - <mimeMap fileExtension=".vml" mimeType="text/xml" /> - <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> - <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> - <mimeMap fileExtension=".wasm" mimeType="application/wasm" /> - <mimeMap fileExtension=".wav" mimeType="audio/wav" /> - <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> - <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> - <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> - <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> - <mimeMap fileExtension=".webm" mimeType="video/webm" /> - <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> - <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> - <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> - <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> - <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> - <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> - <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> - <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> - <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> - <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> - <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> - <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> - <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> - <mimeMap fileExtension=".woff" mimeType="font/x-woff" /> - <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> - <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> - <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> - <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> - <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> - <mimeMap fileExtension=".wsdl" mimeType="text/xml" /> - <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> - <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> - <mimeMap fileExtension=".x" mimeType="application/directx" /> - <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> - <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> - <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> - <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> - <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> - <mimeMap fileExtension=".xdr" mimeType="text/plain" /> - <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> - <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> - <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> - <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> - <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> - <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> - <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> - <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> - <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> - <mimeMap fileExtension=".xml" mimeType="text/xml" /> - <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> - <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> - <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> - <mimeMap fileExtension=".xsd" mimeType="text/xml" /> - <mimeMap fileExtension=".xsf" mimeType="text/xml" /> - <mimeMap fileExtension=".xsl" mimeType="text/xml" /> - <mimeMap fileExtension=".xslt" mimeType="text/xml" /> - <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> - <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> - <mimeMap fileExtension=".z" mimeType="application/x-compress" /> - <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> - </staticContent> - - <tracing> - - <traceFailedRequests> - <add path="*"> - <traceAreas> - <add provider="ASP" verbosity="Verbose" /> - <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> - <add provider="ISAPI Extension" verbosity="Verbose" /> - <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> - </traceAreas> - <failureDefinitions statusCodes="200-999" /> - </add> - </traceFailedRequests> - - <traceProviderDefinitions> - <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> - <areas> - <clear /> - <add name="Authentication" value="2" /> - <add name="Security" value="4" /> - <add name="Filter" value="8" /> - <add name="StaticFile" value="16" /> - <add name="CGI" value="32" /> - <add name="Compression" value="64" /> - <add name="Cache" value="128" /> - <add name="RequestNotifications" value="256" /> - <add name="Module" value="512" /> - <add name="Rewrite" value="1024" /> - <add name="FastCGI" value="4096" /> - <add name="WebSocket" value="16384" /> - <add name="ANCM" value="65536" /> - </areas> - </add> - <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> - <areas> - <clear /> - </areas> - </add> - <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> - <areas> - <clear /> - </areas> - </add> - <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> - <areas> - <add name="Infrastructure" value="1" /> - <add name="Module" value="2" /> - <add name="Page" value="4" /> - <add name="AppServices" value="8" /> - </areas> - </add> - </traceProviderDefinitions> - - </tracing> - - <urlCompression /> - - <validation /> - <webdav> - <globalSettings> - <propertyStores> - <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> - </propertyStores> - <lockStores> - <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> - </lockStores> - - </globalSettings> - <authoring> - <locks enabled="true" lockStore="webdav_simple_lock" /> - </authoring> - <authoringRules /> - </webdav> - <webSocket /> - <applicationInitialization /> - + <globalModules> + <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> + <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> + <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> + <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> + <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> + <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> + <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> + <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> + <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> + <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> + <add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> + <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> + <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> + <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> + <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> + <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> + <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> + <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> + <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> + <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> + <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> + <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> + <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> + <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> + <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> + <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> + <add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> + <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> + <!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> + <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> + <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> + <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> + <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> + <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> + <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> + <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> + <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> + <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> + <add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" /> + <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" /> + </globalModules> + <httpCompression directory="%TEMP%"> + <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> + <dynamicTypes> + <add mimeType="text/*" enabled="true" /> + <add mimeType="message/*" enabled="true" /> + <add mimeType="application/x-javascript" enabled="true" /> + <add mimeType="application/javascript" enabled="true" /> + <add mimeType="*/*" enabled="false" /> + <add mimeType="text/event-stream" enabled="false" /> + </dynamicTypes> + <staticTypes> + <add mimeType="text/*" enabled="true" /> + <add mimeType="message/*" enabled="true" /> + <add mimeType="application/javascript" enabled="true" /> + <add mimeType="application/atom+xml" enabled="true" /> + <add mimeType="application/xaml+xml" enabled="true" /> + <add mimeType="image/svg+xml" enabled="true" /> + <add mimeType="*/*" enabled="false" /> + </staticTypes> + </httpCompression> + <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> + <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> + <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> + <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> + <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> + <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> + <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> + <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> + <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> + <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> + </httpErrors> + <httpLogging dontLog="false" /> + <httpProtocol> + <customHeaders> + <clear /> + <add name="X-Powered-By" value="ASP.NET" /> + </customHeaders> + <redirectHeaders> + <clear /> + </redirectHeaders> + </httpProtocol> + <httpRedirect enabled="false" /> + <httpTracing /> + <isapiFilters> + <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> + <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> + <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> + <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> + <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> + </isapiFilters> + <odbcLogging /> + <security> + <access sslFlags="None" /> + <applicationDependencies> + <application name="Active Server Pages" groupId="ASP" /> + </applicationDependencies> + <authentication> + <anonymousAuthentication enabled="true" userName="" /> + <basicAuthentication enabled="false" /> + <clientCertificateMappingAuthentication enabled="false" /> + <digestAuthentication enabled="false" /> + <iisClientCertificateMappingAuthentication enabled="false"></iisClientCertificateMappingAuthentication> + <windowsAuthentication enabled="false"> + <providers> + <add value="Negotiate" /> + <add value="NTLM" /> + </providers> + </windowsAuthentication> + </authentication> + <authorization> + <add accessType="Allow" users="*" /> + </authorization> + <ipSecurity allowUnlisted="true" /> + <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> + <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> + <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> + <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> + <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> + </isapiCgiRestriction> + <requestFiltering> + <fileExtensions allowUnlisted="true" applyToWebDAV="true"> + <add fileExtension=".asa" allowed="false" /> + <add fileExtension=".asax" allowed="false" /> + <add fileExtension=".ascx" allowed="false" /> + <add fileExtension=".master" allowed="false" /> + <add fileExtension=".skin" allowed="false" /> + <add fileExtension=".browser" allowed="false" /> + <add fileExtension=".sitemap" allowed="false" /> + <add fileExtension=".config" allowed="false" /> + <add fileExtension=".cs" allowed="false" /> + <add fileExtension=".csproj" allowed="false" /> + <add fileExtension=".vb" allowed="false" /> + <add fileExtension=".vbproj" allowed="false" /> + <add fileExtension=".webinfo" allowed="false" /> + <add fileExtension=".licx" allowed="false" /> + <add fileExtension=".resx" allowed="false" /> + <add fileExtension=".resources" allowed="false" /> + <add fileExtension=".mdb" allowed="false" /> + <add fileExtension=".vjsproj" allowed="false" /> + <add fileExtension=".java" allowed="false" /> + <add fileExtension=".jsl" allowed="false" /> + <add fileExtension=".ldb" allowed="false" /> + <add fileExtension=".dsdgm" allowed="false" /> + <add fileExtension=".ssdgm" allowed="false" /> + <add fileExtension=".lsad" allowed="false" /> + <add fileExtension=".ssmap" allowed="false" /> + <add fileExtension=".cd" allowed="false" /> + <add fileExtension=".dsprototype" allowed="false" /> + <add fileExtension=".lsaprototype" allowed="false" /> + <add fileExtension=".sdm" allowed="false" /> + <add fileExtension=".sdmDocument" allowed="false" /> + <add fileExtension=".mdf" allowed="false" /> + <add fileExtension=".ldf" allowed="false" /> + <add fileExtension=".ad" allowed="false" /> + <add fileExtension=".dd" allowed="false" /> + <add fileExtension=".ldd" allowed="false" /> + <add fileExtension=".sd" allowed="false" /> + <add fileExtension=".adprototype" allowed="false" /> + <add fileExtension=".lddprototype" allowed="false" /> + <add fileExtension=".exclude" allowed="false" /> + <add fileExtension=".refresh" allowed="false" /> + <add fileExtension=".compiled" allowed="false" /> + <add fileExtension=".msgx" allowed="false" /> + <add fileExtension=".vsdisco" allowed="false" /> + <add fileExtension=".rules" allowed="false" /> + </fileExtensions> + <verbs allowUnlisted="true" applyToWebDAV="true" /> + <hiddenSegments applyToWebDAV="true"> + <add segment="web.config" /> + <add segment="bin" /> + <add segment="App_code" /> + <add segment="App_GlobalResources" /> + <add segment="App_LocalResources" /> + <add segment="App_WebReferences" /> + <add segment="App_Data" /> + <add segment="App_Browsers" /> + </hiddenSegments> + </requestFiltering> + </security> + <serverSideInclude ssiExecDisable="false" /> + <staticContent lockAttributes="isDocFooterFileName"> + <mimeMap fileExtension=".323" mimeType="text/h323" /> + <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> + <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> + <mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> + <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> + <mimeMap fileExtension=".aac" mimeType="audio/aac" /> + <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> + <mimeMap fileExtension=".accde" mimeType="application/msaccess" /> + <mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> + <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> + <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> + <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> + <mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ai" mimeType="application/postscript" /> + <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> + <mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> + <mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> + <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> + <mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> + <mimeMap fileExtension=".art" mimeType="image/x-jg" /> + <mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".asm" mimeType="text/plain" /> + <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> + <mimeMap fileExtension=".au" mimeType="audio/basic" /> + <mimeMap fileExtension=".avi" mimeType="video/avi" /> + <mimeMap fileExtension=".axs" mimeType="application/olescript" /> + <mimeMap fileExtension=".bas" mimeType="text/plain" /> + <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> + <mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".bmp" mimeType="image/bmp" /> + <mimeMap fileExtension=".c" mimeType="text/plain" /> + <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> + <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> + <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> + <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> + <mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> + <mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> + <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> + <mimeMap fileExtension=".cnf" mimeType="text/plain" /> + <mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> + <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> + <mimeMap fileExtension=".cpp" mimeType="text/plain" /> + <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> + <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> + <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> + <mimeMap fileExtension=".csh" mimeType="application/x-csh" /> + <mimeMap fileExtension=".css" mimeType="text/css" /> + <mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dcr" mimeType="application/x-director" /> + <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> + <mimeMap fileExtension=".dib" mimeType="image/bmp" /> + <mimeMap fileExtension=".dir" mimeType="application/x-director" /> + <mimeMap fileExtension=".disco" mimeType="text/xml" /> + <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> + <mimeMap fileExtension=".dll.config" mimeType="text/xml" /> + <mimeMap fileExtension=".dlm" mimeType="text/dlm" /> + <mimeMap fileExtension=".doc" mimeType="application/msword" /> + <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> + <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> + <mimeMap fileExtension=".dot" mimeType="application/msword" /> + <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> + <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> + <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dtd" mimeType="text/xml" /> + <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> + <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> + <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> + <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dxr" mimeType="application/x-director" /> + <mimeMap fileExtension=".eml" mimeType="message/rfc822" /> + <mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> + <mimeMap fileExtension=".eps" mimeType="application/postscript" /> + <mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" /> + <mimeMap fileExtension=".etx" mimeType="text/x-setext" /> + <mimeMap fileExtension=".evy" mimeType="application/envoy" /> + <mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".exe.config" mimeType="text/xml" /> + <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> + <mimeMap fileExtension=".fif" mimeType="application/fractals" /> + <mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".flv" mimeType="video/x-flv" /> + <mimeMap fileExtension=".gif" mimeType="image/gif" /> + <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" /> + <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> + <mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> + <mimeMap fileExtension=".h" mimeType="text/plain" /> + <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> + <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> + <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> + <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> + <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> + <mimeMap fileExtension=".hta" mimeType="application/hta" /> + <mimeMap fileExtension=".htc" mimeType="text/x-component" /> + <mimeMap fileExtension=".htm" mimeType="text/html" /> + <mimeMap fileExtension=".html" mimeType="text/html" /> + <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> + <mimeMap fileExtension=".hxt" mimeType="text/html" /> + <mimeMap fileExtension=".ico" mimeType="image/x-icon" /> + <mimeMap fileExtension=".ics" mimeType="text/calendar" /> + <mimeMap fileExtension=".ief" mimeType="image/ief" /> + <mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> + <mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> + <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> + <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> + <mimeMap fileExtension=".jar" mimeType="application/java-archive" /> + <mimeMap fileExtension=".java" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> + <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> + <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> + <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> + <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> + <mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> + <mimeMap fileExtension=".js" mimeType="application/javascript" /> + <mimeMap fileExtension=".json" mimeType="application/json" /> + <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> + <mimeMap fileExtension=".jsx" mimeType="text/jscript" /> + <mimeMap fileExtension=".latex" mimeType="application/x-latex" /> + <mimeMap fileExtension=".less" mimeType="text/css" /> + <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> + <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> + <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> + <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> + <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> + <mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> + <mimeMap fileExtension=".m4v" mimeType="video/mp4" /> + <mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> + <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> + <mimeMap fileExtension=".map" mimeType="text/plain" /> + <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> + <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> + <mimeMap fileExtension=".mht" mimeType="message/rfc822" /> + <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> + <mimeMap fileExtension=".mid" mimeType="audio/mid" /> + <mimeMap fileExtension=".midi" mimeType="audio/mid" /> + <mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> + <mimeMap fileExtension=".mno" mimeType="text/xml" /> + <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> + <mimeMap fileExtension=".mov" mimeType="video/quicktime" /> + <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> + <mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> + <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> + <mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> + <mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> + <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> + <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> + <mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> + <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> + <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".nws" mimeType="message/rfc822" /> + <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".oda" mimeType="application/oda" /> + <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> + <mimeMap fileExtension=".ods" mimeType="application/oleobject" /> + <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> + <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> + <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> + <mimeMap fileExtension=".one" mimeType="application/onenote" /> + <mimeMap fileExtension=".onea" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> + <mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> + <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> + <mimeMap fileExtension=".otf" mimeType="font/otf" /> + <mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> + <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> + <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> + <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> + <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> + <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> + <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> + <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> + <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> + <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> + <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> + <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> + <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".png" mimeType="image/png" /> + <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> + <mimeMap fileExtension=".pnz" mimeType="image/png" /> + <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> + <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> + <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> + <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> + <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> + <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> + <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> + <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> + <mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> + <mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ps" mimeType="application/postscript" /> + <mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> + <mimeMap fileExtension=".qt" mimeType="video/quicktime" /> + <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> + <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> + <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> + <mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> + <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> + <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> + <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> + <mimeMap fileExtension=".rmi" mimeType="audio/mid" /> + <mimeMap fileExtension=".roff" mimeType="application/x-troff" /> + <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> + <mimeMap fileExtension=".rtf" mimeType="application/rtf" /> + <mimeMap fileExtension=".rtx" mimeType="text/richtext" /> + <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> + <mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> + <mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> + <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> + <mimeMap fileExtension=".sgml" mimeType="text/sgml" /> + <mimeMap fileExtension=".sh" mimeType="application/x-sh" /> + <mimeMap fileExtension=".shar" mimeType="application/x-shar" /> + <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> + <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> + <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> + <mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".snd" mimeType="audio/basic" /> + <mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> + <mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> + <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> + <mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> + <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> + <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> + <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> + <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> + <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> + <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> + <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> + <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> + <mimeMap fileExtension=".t" mimeType="application/x-troff" /> + <mimeMap fileExtension=".tar" mimeType="application/x-tar" /> + <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> + <mimeMap fileExtension=".tex" mimeType="application/x-tex" /> + <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> + <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> + <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> + <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> + <mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tif" mimeType="image/tiff" /> + <mimeMap fileExtension=".tiff" mimeType="image/tiff" /> + <mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tr" mimeType="application/x-troff" /> + <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> + <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> + <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".txt" mimeType="text/plain" /> + <mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".uls" mimeType="text/iuls" /> + <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> + <mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> + <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> + <mimeMap fileExtension=".vcs" mimeType="text/plain" /> + <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> + <mimeMap fileExtension=".vml" mimeType="text/xml" /> + <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> + <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".wasm" mimeType="application/wasm" /> + <mimeMap fileExtension=".wav" mimeType="audio/wav" /> + <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> + <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> + <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".webm" mimeType="video/webm" /> + <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> + <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> + <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> + <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> + <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> + <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> + <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> + <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> + <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> + <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> + <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> + <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> + <mimeMap fileExtension=".woff" mimeType="font/x-woff" /> + <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> + <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> + <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".wsdl" mimeType="text/xml" /> + <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> + <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> + <mimeMap fileExtension=".x" mimeType="application/directx" /> + <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> + <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> + <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> + <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> + <mimeMap fileExtension=".xdr" mimeType="text/plain" /> + <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> + <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> + <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> + <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> + <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> + <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> + <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> + <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> + <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xml" mimeType="text/xml" /> + <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> + <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> + <mimeMap fileExtension=".xsd" mimeType="text/xml" /> + <mimeMap fileExtension=".xsf" mimeType="text/xml" /> + <mimeMap fileExtension=".xsl" mimeType="text/xml" /> + <mimeMap fileExtension=".xslt" mimeType="text/xml" /> + <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> + <mimeMap fileExtension=".z" mimeType="application/x-compress" /> + <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> + </staticContent> + <tracing> + <traceFailedRequests> + <add path="*"> + <traceAreas> + <add provider="ASP" verbosity="Verbose" /> + <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> + <add provider="ISAPI Extension" verbosity="Verbose" /> + <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> + </traceAreas> + <failureDefinitions statusCodes="200-999" /> + </add> + </traceFailedRequests> + <traceProviderDefinitions> + <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> + <areas> + <clear /> + <add name="Authentication" value="2" /> + <add name="Security" value="4" /> + <add name="Filter" value="8" /> + <add name="StaticFile" value="16" /> + <add name="CGI" value="32" /> + <add name="Compression" value="64" /> + <add name="Cache" value="128" /> + <add name="RequestNotifications" value="256" /> + <add name="Module" value="512" /> + <add name="Rewrite" value="1024" /> + <add name="FastCGI" value="4096" /> + <add name="WebSocket" value="16384" /> + <add name="ANCM" value="65536" /> + </areas> + </add> + <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> + <areas> + <clear /> + </areas> + </add> + <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> + <areas> + <clear /> + </areas> + </add> + <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> + <areas> + <add name="Infrastructure" value="1" /> + <add name="Module" value="2" /> + <add name="Page" value="4" /> + <add name="AppServices" value="8" /> + </areas> + </add> + </traceProviderDefinitions> + </tracing> + <urlCompression /> + <validation /> + <webdav> + <globalSettings> + <propertyStores> + <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> + </propertyStores> + <lockStores> + <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> + </lockStores> + </globalSettings> + <authoring> + <locks enabled="true" lockStore="webdav_simple_lock" /> + </authoring> + <authoringRules /> + </webdav> + <webSocket /> + <applicationInitialization /> + </system.webServer> + <location path="" overrideMode="Allow"> + <system.webServer> + <modules> + <add name="IsapiFilterModule" lockItem="true" /> + <add name="BasicAuthenticationModule" lockItem="true" /> + <add name="IsapiModule" lockItem="true" /> + <add name="HttpLoggingModule" lockItem="true" /> + <add name="DynamicCompressionModule" lockItem="true" /> + <add name="StaticCompressionModule" lockItem="true" /> + <add name="DefaultDocumentModule" lockItem="true" /> + <add name="DirectoryListingModule" lockItem="true" /> + <add name="ProtocolSupportModule" lockItem="true" /> + <add name="HttpRedirectionModule" lockItem="true" /> + <add name="ServerSideIncludeModule" lockItem="true" /> + <add name="StaticFileModule" lockItem="true" /> + <add name="AnonymousAuthenticationModule" lockItem="true" /> + <add name="CertificateMappingAuthenticationModule" lockItem="true" /> + <add name="UrlAuthorizationModule" lockItem="true" /> + <add name="WindowsAuthenticationModule" lockItem="true" /> + <add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> + <add name="WebMatrixSupportModule" lockItem="true" /> + <add name="IpRestrictionModule" lockItem="true" /> + <add name="DynamicIpRestrictionModule" lockItem="true" /> + <add name="RequestFilteringModule" lockItem="true" /> + <add name="CustomLoggingModule" lockItem="true" /> + <add name="CustomErrorModule" lockItem="true" /> + <add name="FailedRequestsTracingModule" lockItem="true" /> + <add name="CgiModule" lockItem="true" /> + <add name="FastCgiModule" lockItem="true" /> + <!-- <add name="WebDAVModule" /> --> + <add name="RewriteModule" /> + <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> + <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> + <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> + <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> + <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> + <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> + <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> + <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> + <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> + <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> + <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> + <add name="ApplicationInitializationModule" lockItem="true" /> + <add name="WebSocketModule" lockItem="true" /> + <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="ConfigurationValidationModule" lockItem="true" /> + <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" /> + <add name="AspNetCoreModule" lockItem="true" /> + <add name="AspNetCoreModuleV2" lockItem="true" /> + </modules> + <handlers accessPolicy="Read, Script"> + <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> + <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> + <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> + <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> + <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> + <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> + <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> + <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> + <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> + </handlers> </system.webServer> - <location path="" overrideMode="Allow"> - <system.webServer> - <modules> - <add name="IsapiFilterModule" lockItem="true" /> - <add name="BasicAuthenticationModule" lockItem="true" /> - <add name="IsapiModule" lockItem="true" /> - <add name="HttpLoggingModule" lockItem="true" /> - <add name="DynamicCompressionModule" lockItem="true" /> - <add name="StaticCompressionModule" lockItem="true" /> - <add name="DefaultDocumentModule" lockItem="true" /> - <add name="DirectoryListingModule" lockItem="true" /> - <add name="ProtocolSupportModule" lockItem="true" /> - <add name="HttpRedirectionModule" lockItem="true" /> - <add name="ServerSideIncludeModule" lockItem="true" /> - <add name="StaticFileModule" lockItem="true" /> - <add name="AnonymousAuthenticationModule" lockItem="true" /> - <add name="CertificateMappingAuthenticationModule" lockItem="true" /> - <add name="UrlAuthorizationModule" lockItem="true" /> - <add name="WindowsAuthenticationModule" lockItem="true" /> - <add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> - <add name="WebMatrixSupportModule" lockItem="true" /> - <add name="IpRestrictionModule" lockItem="true" /> - <add name="DynamicIpRestrictionModule" lockItem="true" /> - <add name="RequestFilteringModule" lockItem="true" /> - <add name="CustomLoggingModule" lockItem="true" /> - <add name="CustomErrorModule" lockItem="true" /> - <add name="FailedRequestsTracingModule" lockItem="true" /> - <add name="CgiModule" lockItem="true" /> - <add name="FastCgiModule" lockItem="true" /> -<!-- <add name="WebDAVModule" /> --> - <add name="RewriteModule" /> - <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> - <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> - <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> - <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> - <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> - <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> - <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> - <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> - <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> - <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> - <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> - <add name="ApplicationInitializationModule" lockItem="true" /> - <add name="WebSocketModule" lockItem="true" /> - <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> - <add name="ConfigurationValidationModule" lockItem="true" /> - <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> - <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> - <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" /> - <add name="AspNetCoreModule" lockItem="true" /> - <add name="AspNetCoreModuleV2" lockItem="true" /> - </modules> - <handlers accessPolicy="Read, Script"> -<!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> - <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> - <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> - <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> - <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> - <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> - <add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> - <add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> - <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> - <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> - <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> - <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> - <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> - <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> - <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> - <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> - <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> - <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> - <add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> - <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> - <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> - <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> - <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> - <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> - <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> - <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> - <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> - <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> - <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> - <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> - <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> - <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> - </handlers> - </system.webServer> - </location> -</configuration> + </location> + <location path="WIDESEAWCS_Server" inheritInChildApplications="false"> + <system.webServer> + <modules> + <remove name="WebMatrixSupportModule" /> + </modules> + <handlers> + <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> + </handlers> + <aspNetCore processPath="%LAUNCHER_PATH%" stdoutLogEnabled="false" hostingModel="InProcess" startupTimeLimit="3600" requestTimeout="23:00:00" /> + <httpCompression> + <dynamicTypes> + <add mimeType="text/event-stream" enabled="false" /> + </dynamicTypes> + </httpCompression> + </system.webServer> + </location> +</configuration> \ No newline at end of file diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 index 5caa28e..bcd519c 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json index f164c55..1f01da2 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json @@ -3,48 +3,28 @@ "WorkspaceRootPath": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baseservices\\servicefunfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicefunfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\helper\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\aop\\cacheaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\cacheaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\helper\\md5helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\md5helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\swaggersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\swaggersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\helper\\objectextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\objectextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -55,104 +35,76 @@ "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemrepository\\sys_dictionaryrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|solutionrelative:wideseawcs_systemrepository\\sys_dictionaryrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\caches\\memorycacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\memorycacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_isystemservices\\isys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\caches\\icacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\icacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\sys_dictionarylist.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\sys_dictionarylist.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\attributes\\cacheattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\attributes\\cacheattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\wideseawcs_communicator.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", - "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\wideseawcs_communicator.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\attributes\\modelvalidateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\attributes\\modelvalidateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\modbus\\modbustcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\utilities\\modelvalidate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\utilities\\modelvalidate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\apidoc\\htmlhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\apidoc\\htmlhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\apidoc\\bytehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\apidoc\\bytehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\dto\\deviceprodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\dto\\deviceprodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\custommodel\\siemenscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\siemenscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\custommodel\\melseccustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\melseccustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\custommodel\\modbuscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\modbuscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobautofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobautofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\inovance\\inovancetcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\inovance\\inovancetcpcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\common\\commonstackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\common\\commonstackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\devicebase\\datalengthattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\datalengthattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\swaggermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\swaggermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -162,7 +114,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 7, + "SelectedChildIndex": 4, "Children": [ { "$type": "Bookmark", @@ -182,480 +134,340 @@ }, { "$type": "Document", - "DocumentIndex": 3, - "Title": "ServiceFunFilter.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:54:55.42Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "RepositoryBase.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "ViewState": "AQIAAMoBAAAAAAAAAIA+wAoCAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:53:37.074Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "IRepository.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\IRepository.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\IRepository.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\IRepository.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\IRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:53:36.355Z", - "EditorCaption": "" - }, - { - "$type": "Document", "DocumentIndex": 0, - "Title": "Sys_UserService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", - "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", - "ViewState": "AQIAADwAAAAAAAAAAAAIwBsAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:04:27.837Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 11, - "Title": "Sys_DictionaryController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "ViewState": "AQIAABsAAAAAAAAAAAAvwF4AAAARAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:21:25.509Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 16, - "Title": "Sys_DictionaryList.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_DictionaryList.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_DictionaryList.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_DictionaryList.cs", - "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\Sys_DictionaryList.cs", - "ViewState": "AQIAAAYAAAAAAAAAAAAAAAwAAAARAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:15:27.12Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 17, - "Title": "Sys_UserController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", - "ViewState": "AQIAAC0AAAAAAAAAAAAIwEcAAAAhAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:10:03.91Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 12, - "Title": "Sys_DictionaryService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", - "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", - "ViewState": "AQIAAEUAAAAAAAAAAAAEwG0AAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T05:54:44.964Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 1, - "Title": "ServiceBase.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", - "ViewState": "AQIAAGUAAAAAAAAAAAAMwIUAAAARAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-22T04:27:55.148Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 13, - "Title": "Sys_DictionaryRepository.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_DictionaryRepository.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\Sys_DictionaryRepository.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_DictionaryRepository.cs", - "RelativeToolTip": "WIDESEAWCS_SystemRepository\\Sys_DictionaryRepository.cs", - "ViewState": "AQIAAAMAAAAAAAAAAAAlwBsAAABHAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T03:06:06.908Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 8, - "Title": "SqlsugarSetup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "ViewState": "AQIAABQAAAAAAAAAAAAwwDsAAAAhAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:49:25.394Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 6, "Title": "AppSettings.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\AppSettings.cs", "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\AppSettings.cs", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\AppSettings.cs", "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\AppSettings.cs", - "ViewState": "AQIAACIAAAAAAAAAAAAewE4AAAAMAAAA", + "ViewState": "AQIAADsAAAAAAAAAAAAYwAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T03:05:35.882Z", + "WhenOpened": "2024-10-29T07:35:41.197Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 2, + "Title": "MD5Helper.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\MD5Helper.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\MD5Helper.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\MD5Helper.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\MD5Helper.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAGMAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T07:32:56.232Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, "Title": "Program.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs", - "ViewState": "AQIAACcAAAAAAAAAAAAAAD0AAAACAAAA", + "ViewState": "AQIAAFoAAAAAAAAAAAAAAHYAAAAfAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-22T01:09:37.829Z", + "WhenOpened": "2024-10-29T07:30:53.392Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "ObjectExtension.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABgAAAAMAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T07:27:01.38Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "ServiceBase.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", + "ViewState": "AQIAAPEAAAAAAAAAAAAqwAQBAAAfAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T07:26:42.953Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 7, - "Title": "JobBase.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\JobBase.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\JobBase.cs", - "ViewState": "AQIAABoAAAAAAAAAAAAWwDQAAAAcAAAA", + "Title": "Sys_DictionaryService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", + "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", + "ViewState": "AQIAAB4AAAAAAAAAAAAewCoAAAAXAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T07:51:52.135Z", + "WhenOpened": "2024-10-29T07:02:40.902Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "Sys_DictionaryController.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", + "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", + "ViewState": "AQIAAC0AAAAAAAAAAADgvysAAABBAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T07:01:59.572Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 9, - "Title": "appsettings.json", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", - "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABsAAAASAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2024-10-25T07:50:40.066Z", + "Title": "Sys_UserService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "ViewState": "AQIAACoAAAAAAAAAAAArwEMAAAAXAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T07:01:10.75Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 15, - "Title": "ISys_DictionaryService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs", - "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAAfAAAA", + "DocumentIndex": 11, + "Title": "CacheAttribute.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAA5AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:21:29.957Z", + "WhenOpened": "2024-10-29T06:44:12.196Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "CacheAOP.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\CacheAOP.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\CacheAOP.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\CacheAOP.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\CacheAOP.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAJMAAAAJAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T06:42:33.623Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 10, - "Title": "SwaggerSetup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", - "ViewState": "AQIAAAkAAAAAAAAAAAAAADoAAAA3AAAA", + "Title": "ICacheService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICacheService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\ICacheService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICacheService.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\ICacheService.cs", + "ViewState": "AQIAAAcAAAAAAAAAAAAhwB8AAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-21T07:07:09.329Z", + "WhenOpened": "2024-10-29T06:34:56.04Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "MemoryCacheService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", + "ViewState": "AQIAAE0AAAAAAAAAAAAewDoAAABpAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T06:34:53.123Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "ModelValidate.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAMUAAAAJAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T05:49:56.779Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "ModelValidateAttribute.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", + "ViewState": "AQIAAAIAAAAAAAAAAAAiwBMAAAA5AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T05:49:32.594Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "HtmlHelper.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", + "ViewState": "AQIAABsAAAAAAAAAAAAywAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T05:47:49.063Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 17, + "Title": "ByteHelper.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T05:47:48.38Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "SqlSugarAop.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "ViewState": "AQIAAAkAAAAAAAAAAAAAAEkAAAARAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T05:36:07.083Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 14, - "Title": "Sys_RoleService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs", - "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs", - "ViewState": "AQIAAKQAAAAAAAAAAAAiwMIAAAAuAAAA", + "Title": "LogAOP.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T06:39:35.327Z", + "WhenOpened": "2024-10-29T05:36:05.934Z", "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 18, - "Title": "WIDESEAWCS_Communicator.csproj", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", - "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", - "RelativeToolTip": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAABOAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2024-10-25T02:07:42.031Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 20, - "Title": "WIDESEAWCS_QuartzJob.csproj", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAiAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2024-10-25T02:06:53.829Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 32, - "Title": "SpeStackerCrane.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", - "ViewState": "AQIAALQAAAAAAAAAAAAlwNYAAAANAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:38:52.718Z" }, { "$type": "Document", "DocumentIndex": 24, - "Title": "ConveyorLineTaskCommand.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAArAAAA", + "Title": "DataLengthAttribute.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAACIAAAAFAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:26:14.425Z" - }, - { - "$type": "Document", - "DocumentIndex": 21, - "Title": "CommonConveyorLineJob.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "ViewState": "AQIAACwAAAAAAAAAAADgv0MAAAAYAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:26:48.017Z" - }, - { - "$type": "Document", - "DocumentIndex": 19, - "Title": "ModbusTcpCommunicator.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs", - "RelativeToolTip": "WIDESEAWCS_Communicator\\Modbus\\ModbusTcpCommunicator.cs", - "ViewState": "AQIAAAgBAAAAAAAAAAAxwJkBAAAqAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:14:02.746Z" - }, - { - "$type": "Document", - "DocumentIndex": 29, - "Title": "CommonStackerCrane.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", - "ViewState": "AQIAAOAAAAAAAAAAAIA0wB4BAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:41:55.119Z" + "WhenOpened": "2024-10-29T03:06:58.382Z", + "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 23, - "Title": "DeviceProDTO.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", - "ViewState": "AQIAABkAAAAAAAAAAAAAAEAAAAA3AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:57:36.474Z" - }, - { - "$type": "Document", - "DocumentIndex": 22, - "Title": "CommonConveyorLine.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "ViewState": "AQIAAHQAAAAAAAAAAAAgwIkAAAAYAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:42:20.676Z" - }, - { - "$type": "Document", - "DocumentIndex": 25, - "Title": "QuartzJobHostedService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "ViewState": "AQIAADoAAAAAAAAAAAArwFsAAAA7AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:45:38.017Z" - }, - { - "$type": "Document", - "DocumentIndex": 27, - "Title": "QuartzJobAutofacModuleRegister.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:57:12.258Z" - }, - { - "$type": "Document", - "DocumentIndex": 26, - "Title": "QuartzJobDataTableHostedService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:57:12.985Z" - }, - { - "$type": "Document", - "DocumentIndex": 34, "Title": "DeviceCommand.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", - "ViewState": "AQIAABkAAAAAAAAAAAAuwPgAAAAFAAAA", + "ViewState": "AQIAAK4AAAAAAAAAAAAYwPcAAAAaAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:23:25.685Z" - }, - { - "$type": "Document", - "DocumentIndex": 28, - "Title": "InovanceTcpCommunicator.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Inovance\\InovanceTcpCommunicator.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Inovance\\InovanceTcpCommunicator.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Inovance\\InovanceTcpCommunicator.cs", - "RelativeToolTip": "WIDESEAWCS_Communicator\\Inovance\\InovanceTcpCommunicator.cs", - "ViewState": "AQIAABQAAAAAAAAAAAAAAMcAAAA+AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T00:57:10.455Z" - }, - { - "$type": "Document", - "DocumentIndex": 33, - "Title": "ShuttleCar.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", - "ViewState": "AQIAAH4AAAAAAAAAAAArwKMAAAANAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:42:49.769Z" - }, - { - "$type": "Document", - "DocumentIndex": 30, - "Title": "CommonStackerCraneJob.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "ViewState": "AQIAABIAAAAAAAAAAAAAAC8AAAAiAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-25T01:46:27.984Z" - }, - { - "$type": "Document", - "DocumentIndex": 31, - "Title": "WIDESEAWCS_Server.csproj", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", - "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAnAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2024-10-23T02:33:53.566Z", + "WhenOpened": "2024-10-29T03:05:32.353Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 35, - "Title": "index.html", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\index.html", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html", - "RelativeToolTip": "WIDESEAWCS_Server\\index.html", - "ViewState": "AQIAAGYAAAAAAAAAAAAAALQAAAAQAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", - "WhenOpened": "2024-10-22T01:18:53.662Z" + "DocumentIndex": 22, + "Title": "ConveyorLineTaskCommand.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", + "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAA4AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T03:05:29.571Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 36, - "Title": "AuthorizationSetup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", - "ViewState": "AQIAABAAAAAAAAAAAAAWwBsAAAAwAAAA", + "DocumentIndex": 21, + "Title": "ModbusCustomModel.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", + "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", + "ViewState": "AQIAABAAAAAAAAAAAAAYwBoAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-22T01:09:46.313Z" + "WhenOpened": "2024-10-29T03:04:51.117Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 37, - "Title": "SwaggerMiddleware.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "DocumentIndex": 20, + "Title": "MelsecCustomModel.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", + "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAFEAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-10-22T01:09:28.175Z", + "WhenOpened": "2024-10-29T03:03:23.075Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 19, + "Title": "SiemensCustomModel.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", + "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", + "ViewState": "AQIAAAsAAAAA3JKSmhIewD8AAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T03:02:08.422Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "TaskService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", + "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", + "ViewState": "AQIAADMAAAAAAAAAAAAUwE0CAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T02:59:00.959Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 25, + "Title": "TaskExecuteDetailService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", + "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", + "ViewState": "AQIAADoAAAAAAAAAAAAIwFIAAABVAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-10-29T02:59:00.255Z", "EditorCaption": "" } ] diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/DataLengthAttribute.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/DataLengthAttribute.cs new file mode 100644 index 0000000..31978f1 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/DataLengthAttribute.cs @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Communicator +{ + [AttributeUsage(AttributeTargets.Property)] + public class DataLengthAttribute : Attribute + { + public DataLengthAttribute(ushort dataLength) + { + DataLength = dataLength; + } + + public ushort DataLength { get; set; } + } + +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/MelsecCustomModel.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/MelsecCustomModel.cs new file mode 100644 index 0000000..7f920c6 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/MelsecCustomModel.cs @@ -0,0 +1,219 @@ +锘縰sing HslCommunication; +using HslCommunication.Core; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Communicator +{ + public class MelsecCustomModel + { + #region <Const> + #endregion <Const> + + #region <Private Member> + public ushort ReadCount { get; } + + private IByteTransform byteTransform = new RegularByteTransform(); + #endregion <Private Member> + + #region <Public Menber> + + #endregion <Public Menber> + + #region <Constructor function> + public MelsecCustomModel() + { + ushort readCount = 0; + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + readCount += sizeof(byte); + break; + case TypeCode.Int16: + case TypeCode.UInt16: + readCount += 2; + break; + case TypeCode.Single: + case TypeCode.Int32: + case TypeCode.UInt32: + readCount += 4; + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + readCount += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + ReadCount = readCount; + } + #endregion <Constructor function> + + #region <Private Method> + private ushort CheckStringAttribute(PropertyInfo propertyInfo) + { + Attribute? attribute = propertyInfo.GetCustomAttribute(typeof(DataLengthAttribute)); + if (attribute == null) + { + throw new Exception($"瀛楃涓查渶瑕侀厤缃�怐ataLength銆戠壒鎬�"); + } + ushort dataLength = ((DataLengthAttribute)attribute).DataLength; + if (dataLength <= 0 || dataLength > 256) + { + throw new Exception($"銆怐ataLength銆戠壒鎬ц閰嶇疆鏈夋晥鍙傛暟,鍙傛暟鑼冨洿銆�1-256銆�"); + } + + return dataLength; + } + #endregion <Private Method> + + #region <Public Method> + public void ParseSource(byte[] Content) + { + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + int index = 0; + for (int i = 0; i < propertyInfos.Length; i++) + { + PropertyInfo propertyInfo = propertyInfos[i]; + + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + propertyInfo.SetValue(this, Content[index]); + index += sizeof(byte); + break; + case TypeCode.Char: + propertyInfo.SetValue(this, (char)Content[index]); + index += sizeof(char); + break; + case TypeCode.Int16: + propertyInfo.SetValue(this, byteTransform.TransInt16(Content, index)); + index += sizeof(short); + break; + case TypeCode.UInt16: + propertyInfo.SetValue(this, byteTransform.TransUInt16(Content, index)); + index += sizeof(ushort); + break; + case TypeCode.Single: + propertyInfo.SetValue(this, byteTransform.TransSingle(Content, index)); + index += sizeof(float); + break; + case TypeCode.Int32: + propertyInfo.SetValue(this, byteTransform.TransInt32(Content, index)); + index += sizeof(int); + break; + case TypeCode.UInt32: + propertyInfo.SetValue(this, byteTransform.TransUInt32(Content, index)); + index += sizeof(uint); + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + propertyInfo.SetValue(this, byteTransform.TransString(Content.SelectMiddle(index, dataLength), Encoding.Default)); + index += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + } + + public byte[] ToSource() + { + int propertyValueHasNull = -1; + List<byte> bytes = new List<byte>(); + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + if (obj == null && propertyValueHasNull != -1) + { + throw new Exception($"{GetType().Name}閿欒"); + } + else + { + if (propertyValueHasNull == -1) + propertyValueHasNull = 2; + } + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + if (obj != null) + { + bytes.Add((byte)obj); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int16: + case TypeCode.UInt16: + if (obj != null) + { + byte[] bytesShort = BitConverter.GetBytes(Convert.ToUInt16(obj)); + Array.Reverse(bytesShort); + bytes.AddRange(bytesShort); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Single: + if (obj != null) + { + byte[] bytesSingle = BitConverter.GetBytes(Convert.ToSingle(obj)); + Array.Reverse(bytesSingle); + bytes.AddRange(bytesSingle); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int32: + case TypeCode.UInt32: + if (obj != null) + { + byte[] bytesInt = BitConverter.GetBytes(Convert.ToUInt32(obj)); + Array.Reverse(bytesInt); + bytes.AddRange(bytesInt); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.String: + + if (obj != null) + { + ushort dataLength = CheckStringAttribute(propertyInfo); + byte[] bytesString = byteTransform.TransByte(obj.ToString(), Encoding.Default); + bytes.AddRange(bytesString); + } + else + { propertyValueHasNull = 1; } + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + + return bytes.ToArray(); + } + #endregion <Public Method> + + #region <Event> + #endregion <Event> + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/ModbusCustomModel.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/ModbusCustomModel.cs new file mode 100644 index 0000000..8f872a3 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/ModbusCustomModel.cs @@ -0,0 +1,219 @@ +锘縰sing HslCommunication.Core; +using HslCommunication; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Communicator +{ + public class ModbusCustomModel + { + #region <Const> + #endregion <Const> + + #region <Private Member> + public ushort ReadCount { get; } + + private IByteTransform byteTransform = new ReverseWordTransform(); + #endregion <Private Member> + + #region <Public Menber> + + #endregion <Public Menber> + + #region <Constructor function> + public ModbusCustomModel() + { + ushort readCount = 0; + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + readCount += sizeof(byte); + break; + case TypeCode.Int16: + case TypeCode.UInt16: + readCount += 2; + break; + case TypeCode.Single: + case TypeCode.Int32: + case TypeCode.UInt32: + readCount += 4; + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + readCount += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + ReadCount = readCount; + } + #endregion <Constructor function> + + #region <Private Method> + private ushort CheckStringAttribute(PropertyInfo propertyInfo) + { + Attribute? attribute = propertyInfo.GetCustomAttribute(typeof(DataLengthAttribute)); + if (attribute == null) + { + throw new Exception($"瀛楃涓查渶瑕侀厤缃�怐ataLength銆戠壒鎬�"); + } + ushort dataLength = ((DataLengthAttribute)attribute).DataLength; + if (dataLength <= 0 || dataLength > 256) + { + throw new Exception($"銆怐ataLength銆戠壒鎬ц閰嶇疆鏈夋晥鍙傛暟,鍙傛暟鑼冨洿銆�1-256銆�"); + } + + return dataLength; + } + #endregion <Private Method> + + #region <Public Method> + public void ParseSource(byte[] Content) + { + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + int index = 0; + for (int i = 0; i < propertyInfos.Length; i++) + { + PropertyInfo propertyInfo = propertyInfos[i]; + + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + propertyInfo.SetValue(this, Content[index]); + index += sizeof(byte); + break; + case TypeCode.Char: + propertyInfo.SetValue(this, (char)Content[index]); + index += sizeof(char); + break; + case TypeCode.Int16: + propertyInfo.SetValue(this, byteTransform.TransInt16(Content, index)); + index += sizeof(short); + break; + case TypeCode.UInt16: + propertyInfo.SetValue(this, byteTransform.TransUInt16(Content, index)); + index += sizeof(ushort); + break; + case TypeCode.Single: + propertyInfo.SetValue(this, byteTransform.TransSingle(Content, index)); + index += sizeof(float); + break; + case TypeCode.Int32: + propertyInfo.SetValue(this, byteTransform.TransInt32(Content, index)); + index += sizeof(int); + break; + case TypeCode.UInt32: + propertyInfo.SetValue(this, byteTransform.TransUInt32(Content, index)); + index += sizeof(uint); + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + propertyInfo.SetValue(this, byteTransform.TransString(Content.SelectMiddle(index, dataLength), Encoding.Default)); + index += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + } + + public byte[] ToSource() + { + int propertyValueHasNull = -1; + List<byte> bytes = new List<byte>(); + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + if (obj == null && propertyValueHasNull != -1) + { + throw new Exception($"{GetType().Name}閿欒"); + } + else + { + if (propertyValueHasNull == -1) + propertyValueHasNull = 2; + } + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + if (obj != null) + { + bytes.Add((byte)obj); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int16: + case TypeCode.UInt16: + if (obj != null) + { + byte[] bytesShort = BitConverter.GetBytes(Convert.ToUInt16(obj)); + Array.Reverse(bytesShort); + bytes.AddRange(bytesShort); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Single: + if (obj != null) + { + byte[] bytesSingle = BitConverter.GetBytes(Convert.ToSingle(obj)); + Array.Reverse(bytesSingle); + bytes.AddRange(bytesSingle); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int32: + case TypeCode.UInt32: + if (obj != null) + { + byte[] bytesInt = BitConverter.GetBytes(Convert.ToUInt32(obj)); + Array.Reverse(bytesInt); + bytes.AddRange(bytesInt); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.String: + + if (obj != null) + { + ushort dataLength = CheckStringAttribute(propertyInfo); + byte[] bytesString = byteTransform.TransByte(obj.ToString(), Encoding.Default); + bytes.AddRange(bytesString); + } + else + { propertyValueHasNull = 1; } + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + + return bytes.ToArray(); + } + #endregion <Public Method> + + #region <Event> + #endregion <Event> + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/SiemensCustomModel.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/SiemensCustomModel.cs new file mode 100644 index 0000000..0fc1409 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CustomModel/SiemensCustomModel.cs @@ -0,0 +1,230 @@ +锘縰sing HslCommunication; +using HslCommunication.Core; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Communicator +{ + public class SiemensCustomModel : IDataTransfer + { + #region <Const> + #endregion <Const> + + #region <Private Member> + public ushort ReadCount { get; } + + private IByteTransform byteTransform = new ReverseBytesTransform(); + #endregion <Private Member> + + #region <Public Menber> + + #endregion <Public Menber> + + #region <Constructor function> + public SiemensCustomModel() + { + ushort readCount = 0; + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + readCount += sizeof(byte); + break; + case TypeCode.Int16: + case TypeCode.UInt16: + readCount += 2; + break; + case TypeCode.Single: + case TypeCode.Int32: + case TypeCode.UInt32: + readCount += 4; + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + readCount += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + ReadCount = readCount; + } + #endregion <Constructor function> + + #region <Private Method> + private ushort CheckStringAttribute(PropertyInfo propertyInfo) + { + Attribute? attribute = propertyInfo.GetCustomAttribute(typeof(DataLengthAttribute)); + if (attribute == null) + { + throw new Exception($"瀛楃涓查渶瑕侀厤缃�怐ataLength銆戠壒鎬�"); + } + ushort dataLength = ((DataLengthAttribute)attribute).DataLength; + if (dataLength <= 0 || dataLength > 256) + { + throw new Exception($"銆怐ataLength銆戠壒鎬ц閰嶇疆鏈夋晥鍙傛暟,鍙傛暟鑼冨洿銆�1-256銆�"); + } + if (dataLength % 2 != 0) + { + dataLength += 1; + } + dataLength += 2; + + return dataLength; + } + #endregion <Private Method> + + #region <Public Method> + public void ParseSource(byte[] Content) + { + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + int index = 0; + for (int i = 0; i < propertyInfos.Length; i++) + { + PropertyInfo propertyInfo = propertyInfos[i]; + + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + propertyInfo.SetValue(this, Content[index]); + index += sizeof(byte); + break; + case TypeCode.Char: + propertyInfo.SetValue(this, (char)Content[index]); + index += sizeof(char); + break; + case TypeCode.Int16: + propertyInfo.SetValue(this, byteTransform.TransInt16(Content, index)); + index += sizeof(short); + break; + case TypeCode.UInt16: + propertyInfo.SetValue(this, byteTransform.TransUInt16(Content, index)); + index += sizeof(ushort); + break; + case TypeCode.Single: + propertyInfo.SetValue(this, byteTransform.TransSingle(Content, index)); + index += sizeof(float); + break; + case TypeCode.Int32: + propertyInfo.SetValue(this, byteTransform.TransInt32(Content, index)); + index += sizeof(int); + break; + case TypeCode.UInt32: + propertyInfo.SetValue(this, byteTransform.TransUInt32(Content, index)); + index += sizeof(uint); + break; + case TypeCode.String: + ushort dataLength = CheckStringAttribute(propertyInfo); + propertyInfo.SetValue(this, Encoding.Default.GetString(Content, index + 2, Content[index + 1])); + index += dataLength; + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + } + + public byte[] ToSource() + { + int propertyValueHasNull = -1; + List<byte> bytes = new List<byte>(); + PropertyInfo[] propertyInfos = GetType().GetProperties().Where(x => x.CanWrite).ToArray(); + foreach (PropertyInfo propertyInfo in propertyInfos) + { + object? obj = propertyInfo.GetValue(this); + if (obj == null && propertyValueHasNull != -1) + { + throw new Exception($"{GetType().Name}閿欒"); + } + else + { + if (propertyValueHasNull == -1) + propertyValueHasNull = 2; + } + TypeCode typeCode = Type.GetTypeCode(propertyInfo.PropertyType); + switch (typeCode) + { + case TypeCode.Byte: + case TypeCode.SByte: + case TypeCode.Char: + if (obj != null) + { + bytes.Add((byte)obj); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int16: + case TypeCode.UInt16: + if (obj != null) + { + byte[] bytesShort = BitConverter.GetBytes(Convert.ToUInt16(obj)); + Array.Reverse(bytesShort); + bytes.AddRange(bytesShort); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Single: + if (obj != null) + { + byte[] bytesSingle = BitConverter.GetBytes(Convert.ToSingle(obj)); + Array.Reverse(bytesSingle); + bytes.AddRange(bytesSingle); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.Int32: + case TypeCode.UInt32: + if (obj != null) + { + byte[] bytesInt = BitConverter.GetBytes(Convert.ToUInt32(obj)); + Array.Reverse(bytesInt); + bytes.AddRange(bytesInt); + } + else + { propertyValueHasNull = 1; } + break; + case TypeCode.String: + + if (obj != null) + { + ushort dataLength = CheckStringAttribute(propertyInfo); + byte[] bytesString = Encoding.Default.GetBytes(obj.ToString()); + bytes.Add(Convert.ToByte(dataLength)); + bytes.Add(Convert.ToByte(obj.ToString().Length)); + bytes.AddRange(bytesString); + for (int i = 0; i < dataLength - obj.ToString().Length - 2; i++) + { + bytes.Add(0); + } + } + else + { propertyValueHasNull = 1; } + break; + default: + throw new NotSupportedException("涓嶆敮鎸佺殑鍩虹绫诲瀷: " + propertyInfo.PropertyType); + } + } + + return bytes.ToArray(); + } + #endregion <Public Method> + + #region <Event> + #endregion <Event> + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/CacheAOP.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/CacheAOP.cs new file mode 100644 index 0000000..cd8c28e --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/CacheAOP.cs @@ -0,0 +1,150 @@ +锘縰sing Castle.DynamicProxy; +using Newtonsoft.Json; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.Attributes; +using WIDESEAWCS_Core.Caches; +using WIDESEAWCS_Core.Helper; +using ICacheService = WIDESEAWCS_Core.Caches.ICacheService; + +namespace WIDESEAWCS_Core.AOP +{ + public class CacheAOP : IInterceptor + { + private readonly ICacheService _cacheService; + public CacheAOP(ICacheService cacheService) + { + _cacheService = cacheService; + } + + public void Intercept(IInvocation invocation) + { + var method = invocation.MethodInvocationTarget ?? invocation.Method; + + var cacheAttribute = method.GetCustomAttributes(true).FirstOrDefault(x => x.GetType() == typeof(CacheAttribute)); + if (cacheAttribute is CacheAttribute qCachingAttribute) + { + //鑾峰彇鑷畾涔夌紦瀛橀敭 + var cacheKey = CustomCacheKey(invocation); + if (_cacheService.Exists(cacheKey)) + { + //灏嗗綋鍓嶈幏鍙栧埌鐨勭紦瀛樺�硷紝璧嬪�肩粰褰撳墠鎵ц鏂规硶 + Type returnType; + if (typeof(Task).IsAssignableFrom(method.ReturnType)) + { + returnType = method.ReturnType.GenericTypeArguments.FirstOrDefault(); + } + else + { + returnType = method.ReturnType; + } + + //鏍规嵁key鑾峰彇鐩稿簲鐨勭紦瀛樺�� + dynamic? cacheValue = _cacheService.Get(returnType, cacheKey); + if (cacheValue != null) + invocation.ReturnValue = (typeof(Task).IsAssignableFrom(method.ReturnType)) ? Task.FromResult(cacheValue) : cacheValue; + return; + } + + //鍘绘墽琛屽綋鍓嶇殑鏂规硶 + invocation.Proceed(); + //瀛樺叆缂撳瓨 + if (!string.IsNullOrWhiteSpace(cacheKey)) + { + object response; + + //Type type = invocation.ReturnValue?.GetType(); + var type = invocation.Method.ReturnType; + if (typeof(Task).IsAssignableFrom(type)) + { + dynamic result = invocation.ReturnValue; + response = result.Result; + } + else + { + response = invocation.ReturnValue; + } + + if (response == null) response = string.Empty; + + _cacheService.AddOrUpdate(cacheKey, response.Serialize(), qCachingAttribute.AbsoluteExpiration * 60); + } + } + else + { + invocation.Proceed(); //鐩存帴鎵ц琚嫤鎴柟娉� + } + } + + /// <summary> + /// 鑷畾涔夌紦瀛樼殑key + /// </summary> + /// <param name="invocation"></param> + /// <returns></returns> + protected string CustomCacheKey(IInvocation invocation) + { + var typeName = invocation.TargetType.Name; + var methodName = invocation.Method.Name; + var methodArguments = invocation.Arguments.Select(GetArgumentValue).Take(3).ToList();//鑾峰彇鍙傛暟鍒楄〃锛屾渶澶氫笁涓� + + string key = $"{typeName}:{methodName}:"; + foreach (var param in methodArguments) + { + key = $"{key}{param}:"; + } + + return key.TrimEnd(':'); + } + + /// <summary> + /// object 杞� string + /// </summary> + /// <param name="arg"></param> + /// <returns></returns> + protected static string GetArgumentValue(object arg) + { + if (arg is DateTime) + return ((DateTime)arg).ToString("yyyyMMddHHmmss"); + + if (!arg.IsNotEmptyOrNull()) + return arg.ObjToString(); + + if (arg != null) + { + if (arg is Expression) + { + var obj = arg as Expression; + var result = Resolve(obj); + return MD5Helper.MD5Encrypt16(result); + } + else if (arg.GetType().IsClass) + { + return MD5Helper.MD5Encrypt16(JsonConvert.SerializeObject(arg)); + } + + return $"value:{arg.ObjToString()}"; + } + return string.Empty; + } + + private static string Resolve(Expression expression) + { + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(expression, ResolveExpressType.WhereSingle); + var value = expContext.Result.GetString(); + var pars = expContext.Parameters; + + pars.ForEach(s => + { + value = value.Replace(s.ParameterName, s.Value.ObjToString()); + }); + + return value; + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/SqlSugarAop.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/SqlSugarAop.cs index 7382007..70879ee 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/SqlSugarAop.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/SqlSugarAop.cs @@ -72,29 +72,7 @@ break; } } - } - } - - private static string GetWholeSql(SugarParameter[] paramArr, string sql) - { - foreach (var param in paramArr) - { - sql = sql.Replace(param.ParameterName, $@"'{param.Value.ObjToString()}'"); - } - - return sql; - } - - private static string GetParas(SugarParameter[] pars) - { - string key = "銆怱QL鍙傛暟銆戯細"; - foreach (var param in pars) - { - key += $"{param.ParameterName}:{param.Value}\n"; - } - - return key; } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/ByteHelper.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/ByteHelper.cs new file mode 100644 index 0000000..f903076 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/ByteHelper.cs @@ -0,0 +1,24 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.ApiDoc +{ + public class ByteHelper + { + public static byte[] StreamToBytes(Stream stream) + { + byte[] bytes = new byte[stream.Length]; + stream.Read(bytes, 0, bytes.Length); + stream.Seek(0, SeekOrigin.Begin); + return bytes; + } + + public static Stream BytesToStream(byte[] bytes) + { + return new MemoryStream(bytes); + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/HtmlHelper.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/HtmlHelper.cs new file mode 100644 index 0000000..2e7ba47 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/ApiDoc/HtmlHelper.cs @@ -0,0 +1,69 @@ +锘縰sing Microsoft.OpenApi.Interfaces; +using Microsoft.OpenApi.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.ApiDoc +{ + public class HtmlHelper + { + /// <summary> + /// 灏嗘暟鎹亶鍘嗛潤鎬侀〉闈腑 + /// </summary> + /// <param name="templatePath">闈欐�侀〉闈㈠湴鍧�</param> + /// <param name="model">鑾峰彇鍒扮殑鏂囦欢鏁版嵁</param> + /// <returns></returns> + public static string GeneritorSwaggerHtml(string templatePath, OpenApiDocument model) + { + var template = System.IO.File.ReadAllText(templatePath); + + return string.Empty; + } + + + + public static Dictionary<string, object> GetBodyParam(IDictionary<string, OpenApiSchema> schemas, string schemaName) + { + if (schemas.ContainsKey(schemaName)) + { + OpenApiSchema schema = schemas[schemaName]; + Dictionary<string, object> pairs = new Dictionary<string, object>(); + foreach (var pair in schema.Properties) + { + if (pair.Value.Type == "object") + { + + } + else if (pair.Value.Type == "array") + { + if (pair.Value.Items.Reference != null) + { + string childSchemaName = pair.Value.Items.Reference.Id; + Dictionary<string, object> keyValuePairs = GetBodyParam(schemas, childSchemaName); + if (keyValuePairs != null && keyValuePairs.Keys.Count > 0) + { + pairs.Add(pair.Key, keyValuePairs); + } + } + + } + else + { + pairs.Add(pair.Key, new + { + ParamName = pair.Key, + Description = pair.Value.Description, + ParamType = pair.Value.Type, + Required = (schema.Required.FirstOrDefault(x => x == pair.Key) != null).ToString() + }); + } + } + return pairs; + } + return null; + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs index 5d53caa..3c87168 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs @@ -119,7 +119,7 @@ /// <param name="serviceProvider"></param> /// <param name="mustBuild"></param> /// <returns></returns> - public static object GetService(Type type, IServiceProvider? serviceProvider = null, bool mustBuild = true) + public static object? GetService(Type type, IServiceProvider? serviceProvider = null, bool mustBuild = true) { object? obj = (serviceProvider ?? GetServiceProvider(type, mustBuild, false))?.GetService(type); return obj; diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/CacheAttribute.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/CacheAttribute.cs new file mode 100644 index 0000000..545ae6f --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/CacheAttribute.cs @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.Attributes +{ + /// <summary> + /// 杩欎釜Attribute灏辨槸浣跨敤鏃跺�欑殑楠岃瘉锛屾妸瀹冩坊鍔犲埌瑕佺紦瀛樻暟鎹殑鏂规硶涓紝鍗冲彲瀹屾垚缂撳瓨鐨勬搷浣溿�� + /// </summary> + [AttributeUsage(AttributeTargets.Method, Inherited = true)] + public class CacheAttribute : Attribute + { + /// <summary> + /// 缂撳瓨缁濆杩囨湡鏃堕棿锛堝垎閽燂級 + /// </summary> + public int AbsoluteExpiration { get; set; } = 30; + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/ModelValidateAttribute.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/ModelValidateAttribute.cs index 5518cbd..dcd3e92 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/ModelValidateAttribute.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/ModelValidateAttribute.cs @@ -9,16 +9,41 @@ [AttributeUsage(AttributeTargets.Property)] public class PropertyValidateAttribute : Attribute { + /// <summary> + /// 鏈�澶у�� + /// </summary> public int MaxValue { get; set; } = int.MaxValue; + /// <summary> + /// 鏈�灏忓�� + /// </summary> public int MinValue { get; set; } = int.MinValue; + /// <summary> + /// 闈炵┖ + /// </summary> public bool NotNullAndEmpty { get; set; } = true; + /// <summary> + /// 鏄惁鍖呭惈鏈�澶у�� + /// </summary> public bool IsContainMaxValue { get; set; } = false; + /// <summary> + /// 鏄惁鍖呭惈鏈�灏忓�� + /// </summary> public bool IsContainMinValue { get; set; } = false; + /// <summary> + /// 鏍规嵁鍏朵粬灞炴�ч潪绌哄垽鏂綋鍓嶆槸鍚︿负闈炵┖ + /// </summary> + public string NotNullAndEmptyWithProperty { get; set; } + + /// <summary> + /// 鏍规嵁鍏朵粬灞炴�у�煎垽鏂綋鍓嶆槸鍚︿负闈炵┖(鏍煎紡銆恘ew string[]{ "灞炴�у悕绉�", "灞炴�у��" }銆�) + /// </summary> + public string[] NotNullAndEmptyWithPropertyAndValue { get; set; } + public string Description { get; set; } public PropertyValidateAttribute(string description) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs index 4622588..4403d2e 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs @@ -12,6 +12,7 @@ using System.Linq.Expressions; using System.Reflection; using WIDESEAWCS_Core.BaseRepository; +using WIDESEAWCS_Core.Const; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_Core.Utilities; @@ -103,7 +104,23 @@ LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); if (expressionType == LinqExpressionType.Equal) { - where += $"{searchParametersList[i].Name} = '{results[j].Item3}'"; + where += $"{searchParametersList[i].Name} {HtmlElementType.Equal} '{results[j].Item3}'"; + } + else if (expressionType == LinqExpressionType.ThanOrEqual) + { + where += $"{searchParametersList[i].Name} {HtmlElementType.ThanOrEqual} '{searchParametersList[i].Value}'"; + } + else if (expressionType == LinqExpressionType.LessThanOrEqual) + { + where += $"{searchParametersList[i].Name} {HtmlElementType.LessOrEqual} '{searchParametersList[i].Value}'"; + } + else if (expressionType == LinqExpressionType.GreaterThan) + { + where += $"{searchParametersList[i].Name} {HtmlElementType.GT} '{searchParametersList[i].Value}'"; + } + else if (expressionType == LinqExpressionType.LessThan) + { + where += $"{searchParametersList[i].Name} {HtmlElementType.LT} '{searchParametersList[i].Value}'"; } else { diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/Caching.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/Caching.cs deleted file mode 100644 index 8662c7a..0000000 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/Caching.cs +++ /dev/null @@ -1,351 +0,0 @@ -锘縰sing Microsoft.Extensions.Caching.Distributed; -using Microsoft.Extensions.Caching.Memory; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WIDESEAWCS_Core.Const; - -namespace WIDESEAWCS_Core.Caches -{ - /// <summary> - /// 瀹炰緥鍖栫紦瀛樻帴鍙Caching - /// </summary> - public class Caching : ICaching - { - private readonly IDistributedCache _cache; - - public Caching(IDistributedCache cache) - { - _cache = cache; - } - - private byte[] GetBytes<T>(T source) - { - return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(source)); - } - - public IDistributedCache Cache => _cache; - - public void AddCacheKey(string cacheKey) - { - var res = _cache.GetString(CacheConst.KeyAll); - var allkeys = string.IsNullOrWhiteSpace(res) ? new List<string>() : JsonConvert.DeserializeObject<List<string>>(res); - if (!allkeys.Any(m => m == cacheKey)) - { - allkeys.Add(cacheKey); - _cache.SetString(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - } - - /// <summary> - /// 澧炲姞缂撳瓨Key - /// </summary> - /// <param name="cacheKey"></param> - /// <returns></returns> - public async Task AddCacheKeyAsync(string cacheKey) - { - var res = await _cache.GetStringAsync(CacheConst.KeyAll); - var allkeys = string.IsNullOrWhiteSpace(res) ? new List<string>() : JsonConvert.DeserializeObject<List<string>>(res); - if (!allkeys.Any(m => m == cacheKey)) - { - allkeys.Add(cacheKey); - await _cache.SetStringAsync(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - } - - public void DelByPattern(string key) - { - var allkeys = GetAllCacheKeys(); - if (allkeys == null) return; - - var delAllkeys = allkeys.Where(u => u.Contains(key)).ToList(); - delAllkeys.ForEach(u => { _cache.Remove(u); }); - - // 鏇存柊鎵�鏈夌紦瀛橀敭 - allkeys = allkeys.Where(u => !u.Contains(key)).ToList(); - _cache.SetString(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - - /// <summary> - /// 鍒犻櫎鏌愮壒寰佸叧閿瓧缂撳瓨 - /// </summary> - /// <param name="key"></param> - /// <returns></returns> - public async Task DelByPatternAsync(string key) - { - var allkeys = await GetAllCacheKeysAsync(); - if (allkeys == null) return; - - var delAllkeys = allkeys.Where(u => u.Contains(key)).ToList(); - delAllkeys.ForEach(u => { _cache.Remove(u); }); - - // 鏇存柊鎵�鏈夌紦瀛橀敭 - allkeys = allkeys.Where(u => !u.Contains(key)).ToList(); - await _cache.SetStringAsync(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - - public void DelCacheKey(string cacheKey) - { - var res = _cache.GetString(CacheConst.KeyAll); - var allkeys = string.IsNullOrWhiteSpace(res) ? new List<string>() : JsonConvert.DeserializeObject<List<string>>(res); - if (allkeys.Any(m => m == cacheKey)) - { - allkeys.Remove(cacheKey); - _cache.SetString(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - } - - /// <summary> - /// 鍒犻櫎缂撳瓨 - /// </summary> - /// <param name="cacheKey"></param> - /// <returns></returns> - public async Task DelCacheKeyAsync(string cacheKey) - { - var res = await _cache.GetStringAsync(CacheConst.KeyAll); - var allkeys = string.IsNullOrWhiteSpace(res) ? new List<string>() : JsonConvert.DeserializeObject<List<string>>(res); - if (allkeys.Any(m => m == cacheKey)) - { - allkeys.Remove(cacheKey); - await _cache.SetStringAsync(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - } - - public bool Exists(string cacheKey) - { - var res = _cache.Get(cacheKey); - return res != null; - } - - /// <summary> - /// 妫�鏌ョ粰瀹� key 鏄惁瀛樺湪 - /// </summary> - /// <param name="cacheKey">閿�</param> - /// <returns></returns> - public async Task<bool> ExistsAsync(string cacheKey) - { - var res = await _cache.GetAsync(cacheKey); - return res != null; - } - - public List<string> GetAllCacheKeys() - { - var res = _cache.GetString(CacheConst.KeyAll); - return string.IsNullOrWhiteSpace(res) ? null : JsonConvert.DeserializeObject<List<string>>(res); - } - - /// <summary> - /// 鑾峰彇鎵�鏈夌紦瀛樺垪琛� - /// </summary> - /// <returns></returns> - public async Task<List<string>> GetAllCacheKeysAsync() - { - var res = await _cache.GetStringAsync(CacheConst.KeyAll); - return string.IsNullOrWhiteSpace(res) ? null : JsonConvert.DeserializeObject<List<string>>(res); - } - - public T Get<T>(string cacheKey) - { - var res = _cache.Get(cacheKey); - return res == null ? default : JsonConvert.DeserializeObject<T>(Encoding.UTF8.GetString(res)); - } - - /// <summary> - /// 鑾峰彇缂撳瓨 - /// </summary> - /// <typeparam name="T"></typeparam> - /// <param name="cacheKey"></param> - /// <returns></returns> - public async Task<T> GetAsync<T>(string cacheKey) - { - var res = await _cache.GetAsync(cacheKey); - return res == null ? default : JsonConvert.DeserializeObject<T>(Encoding.UTF8.GetString(res)); - } - - public object Get(Type type, string cacheKey) - { - var res = _cache.Get(cacheKey); - return res == null ? default : JsonConvert.DeserializeObject(Encoding.UTF8.GetString(res), type); - } - - public async Task<object> GetAsync(Type type, string cacheKey) - { - var res = await _cache.GetAsync(cacheKey); - return res == null ? default : JsonConvert.DeserializeObject(Encoding.UTF8.GetString(res), type); - } - - public string GetString(string cacheKey) - { - return _cache.GetString(cacheKey); - } - - /// <summary> - /// 鑾峰彇缂撳瓨 - /// </summary> - /// <param name="cacheKey"></param> - /// <returns></returns> - public async Task<string> GetStringAsync(string cacheKey) - { - return await _cache.GetStringAsync(cacheKey); - } - - public void Remove(string key) - { - _cache.Remove(key); - DelCacheKey(key); - } - - /// <summary> - /// 鍒犻櫎缂撳瓨 - /// </summary> - /// <param name="key"></param> - /// <returns></returns> - public async Task RemoveAsync(string key) - { - await _cache.RemoveAsync(key); - await DelCacheKeyAsync(key); - } - - public void RemoveAll() - { - var catches = GetAllCacheKeys(); - foreach (var @catch in catches) Remove(@catch); - - catches.Clear(); - _cache.SetString(CacheConst.KeyAll, JsonConvert.SerializeObject(catches)); - } - - public async Task RemoveAllAsync() - { - var catches = await GetAllCacheKeysAsync(); - foreach (var @catch in catches) await RemoveAsync(@catch); - - catches.Clear(); - await _cache.SetStringAsync(CacheConst.KeyAll, JsonConvert.SerializeObject(catches)); - } - - - public void Set<T>(string cacheKey, T value, TimeSpan? expire = null) - { - _cache.Set(cacheKey, GetBytes(value), - expire == null - ? new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(6) } - : new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire }); - - AddCacheKey(cacheKey); - } - - /// <summary> - /// 澧炲姞瀵硅薄缂撳瓨 - /// </summary> - /// <param name="cacheKey"></param> - /// <param name="value"></param> - /// <returns></returns> - public async Task SetAsync<T>(string cacheKey, T value) - { - await _cache.SetAsync(cacheKey, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), - new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(6) }); - - await AddCacheKeyAsync(cacheKey); - } - - /// <summary> - /// 澧炲姞瀵硅薄缂撳瓨,骞惰缃繃鏈熸椂闂� - /// </summary> - /// <param name="cacheKey"></param> - /// <param name="value"></param> - /// <param name="expire"></param> - /// <returns></returns> - public async Task SetAsync<T>(string cacheKey, T value, TimeSpan expire) - { - await _cache.SetAsync(cacheKey, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), - new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire }); - - await AddCacheKeyAsync(cacheKey); - } - - public void SetPermanent<T>(string cacheKey, T value) - { - _cache.Set(cacheKey, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value))); - AddCacheKey(cacheKey); - } - - public async Task SetPermanentAsync<T>(string cacheKey, T value) - { - await _cache.SetAsync(cacheKey, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value))); - await AddCacheKeyAsync(cacheKey); - } - - public void SetString(string cacheKey, string value, TimeSpan? expire = null) - { - if (expire == null) - _cache.SetString(cacheKey, value, new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(6) }); - else - _cache.SetString(cacheKey, value, new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire }); - - AddCacheKey(cacheKey); - } - - /// <summary> - /// 澧炲姞瀛楃涓茬紦瀛� - /// </summary> - /// <param name="cacheKey"></param> - /// <param name="value"></param> - /// <returns></returns> - public async Task SetStringAsync(string cacheKey, string value) - { - await _cache.SetStringAsync(cacheKey, value, new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(6) }); - - await AddCacheKeyAsync(cacheKey); - } - - /// <summary> - /// 澧炲姞瀛楃涓茬紦瀛�,骞惰缃繃鏈熸椂闂� - /// </summary> - /// <param name="cacheKey"></param> - /// <param name="value"></param> - /// <param name="expire"></param> - /// <returns></returns> - public async Task SetStringAsync(string cacheKey, string value, TimeSpan expire) - { - await _cache.SetStringAsync(cacheKey, value, new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire }); - - await AddCacheKeyAsync(cacheKey); - } - - - /// <summary> - /// 缂撳瓨鏈�澶ц鑹叉暟鎹寖鍥� - /// </summary> - /// <param name="userId"></param> - /// <param name="dataScopeType"></param> - /// <returns></returns> - public async Task SetMaxDataScopeType(long userId, int dataScopeType) - { - var cacheKey = CacheConst.KeyMaxDataScopeType + userId; - await SetStringAsync(cacheKey, dataScopeType.ToString()); - - await AddCacheKeyAsync(cacheKey); - } - - /// <summary> - /// 鏍规嵁鐖堕敭娓呯┖ - /// </summary> - /// <param name="key"></param> - /// <returns></returns> - public async Task DelByParentKeyAsync(string key) - { - var allkeys = await GetAllCacheKeysAsync(); - if (allkeys == null) return; - - var delAllkeys = allkeys.Where(u => u.StartsWith(key)).ToList(); - delAllkeys.ForEach(Remove); - // 鏇存柊鎵�鏈夌紦瀛橀敭 - allkeys = allkeys.Where(u => !u.StartsWith(key)).ToList(); - await SetStringAsync(CacheConst.KeyAll, JsonConvert.SerializeObject(allkeys)); - } - } -} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs index 642f9a6..2c076d7 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs @@ -29,6 +29,8 @@ void AddOrUpdate(string key, string value, int expireSeconds = -1, bool isSliding = false); + void AddOrUpdate(string key, object value, int expireSeconds = -1, bool isSliding = false); + /// <summary> /// 鍒犻櫎缂撳瓨 /// </summary> @@ -48,13 +50,15 @@ /// </summary> /// <param name="key">缂撳瓨Key</param> /// <returns></returns> - T Get<T>(string key) where T : class; + T? Get<T>(string key) where T : class; + + object? Get(Type type, string key); /// <summary> /// 鑾峰彇缂撳瓨 /// </summary> /// <param name="key">缂撳瓨Key</param> /// <returns></returns> - string Get(string key); + string? Get(string key); } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICaching.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICaching.cs deleted file mode 100644 index 48137c0..0000000 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICaching.cs +++ /dev/null @@ -1,59 +0,0 @@ -锘縰sing Microsoft.Extensions.Caching.Distributed; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WIDESEAWCS_Core.Caches -{ - /// <summary> - /// 缂撳瓨鎶借薄鎺ュ彛,鍩轰簬IDistributedCache灏佽 - /// </summary> - public interface ICaching - { - public IDistributedCache Cache { get; } - void AddCacheKey(string cacheKey); - Task AddCacheKeyAsync(string cacheKey); - - void DelByPattern(string key); - Task DelByPatternAsync(string key); - - void DelCacheKey(string cacheKey); - Task DelCacheKeyAsync(string cacheKey); - - bool Exists(string cacheKey); - Task<bool> ExistsAsync(string cacheKey); - - List<string> GetAllCacheKeys(); - Task<List<string>> GetAllCacheKeysAsync(); - - T Get<T>(string cacheKey); - Task<T> GetAsync<T>(string cacheKey); - - object Get(Type type, string cacheKey); - Task<object> GetAsync(Type type, string cacheKey); - - string GetString(string cacheKey); - Task<string> GetStringAsync(string cacheKey); - - void Remove(string key); - Task RemoveAsync(string key); - - void RemoveAll(); - Task RemoveAllAsync(); - - void Set<T>(string cacheKey, T value, TimeSpan? expire = null); - Task SetAsync<T>(string cacheKey, T value); - Task SetAsync<T>(string cacheKey, T value, TimeSpan expire); - - void SetPermanent<T>(string cacheKey, T value); - Task SetPermanentAsync<T>(string cacheKey, T value); - - void SetString(string cacheKey, string value, TimeSpan? expire = null); - Task SetStringAsync(string cacheKey, string value); - Task SetStringAsync(string cacheKey, string value, TimeSpan expire); - - Task DelByParentKeyAsync(string key); - } -} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/MemoryCacheService.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/MemoryCacheService.cs index 16c2061..ce7a585 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/MemoryCacheService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/MemoryCacheService.cs @@ -1,9 +1,13 @@ -锘縰sing Microsoft.Extensions.Caching.Memory; +锘縰sing Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Caching.Memory; +using Newtonsoft.Json; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Core.Helper; namespace WIDESEAWCS_Core.Caches { @@ -23,7 +27,7 @@ public bool AddObject(string key, object value, int expireSeconds = -1, bool isSliding = false) { - if (expireSeconds != -1) + if (expireSeconds > 0) { _cache.Set(key, value, @@ -52,6 +56,19 @@ } } + public void AddOrUpdate(string key, object value, int expireSeconds = -1, bool isSliding = false) + { + if (!string.IsNullOrEmpty(Get(key))) + { + Remove(key); + Add(key, value.Serialize(), expireSeconds, isSliding); + } + else + { + Add(key, value.Serialize(), expireSeconds, isSliding); + } + } + public void Dispose() { if (_cache != null) @@ -68,16 +85,21 @@ return _cache.Get(key) != null; } - public T Get<T>(string key) where T : class + public T? Get<T>(string key) where T : class { if (key == null) { throw new ArgumentNullException(nameof(key)); } - return _cache.Get(key) as T; + object? value = _cache.Get(key); + if (value == null) + { + throw new ArgumentNullException(nameof(key)); + } + return value as T; } - public string Get(string key) + public string? Get(string key) { try { @@ -89,6 +111,19 @@ } } + public object? Get(Type type, string key) + { + try + { + object res = _cache.Get(key); + return res == null ? default : JsonConvert.DeserializeObject(res?.ToString() ?? "{}", type); + } + catch + { + return string.Empty; + } + } + public bool Remove(string key) { if (key == null) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Const/HtmlElementType.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Const/HtmlElementType.cs index 2405444..0120ac2 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Const/HtmlElementType.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Const/HtmlElementType.cs @@ -25,7 +25,7 @@ public const string like = "like"; public const string ThanOrEqual = ">="; - public const string LessOrequal = "<="; + public const string LessOrEqual = "<="; public const string Contains = "in"; public const string Equal = "="; } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs index 0c20385..2e5a1ce 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs @@ -35,16 +35,16 @@ services.AddSwaggerGen(c => { //閬嶅巻鍑哄叏閮ㄧ殑鐗堟湰锛屽仛鏂囨。淇℃伅灞曠ず - typeof(ApiVersions).GetEnumNames().ToList().ForEach(version => + //typeof(ApiVersions).GetEnumNames().ToList().ForEach(version => + //{ + c.SwaggerDoc("v1", new OpenApiInfo { - c.SwaggerDoc(version, new OpenApiInfo - { - Version = version, - Title = $"{ApiName} 鎺ュ彛鏂囨。鈥斺�攞RuntimeInformation.FrameworkDescription}", - Description = $"{ApiName} HTTP API " + version, - }); - c.OrderActionsBy(o => o.RelativePath); + Version = "v1", + Title = $"{ApiName} 鎺ュ彛鏂囨。鈥斺�攞RuntimeInformation.FrameworkDescription}", + Description = $"{ApiName} HTTP API " + "v1" }); + c.OrderActionsBy(o => o.RelativePath); + //}); c.UseInlineDefinitionsForEnums(); try @@ -120,11 +120,7 @@ /// <summary> /// V1 鐗堟湰 /// </summary> - V1 = 1, - /// <summary> - /// V2 鐗堟湰 - /// </summary> - V2 = 2, + V1 = 1 } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/MD5Helper.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/MD5Helper.cs new file mode 100644 index 0000000..29dc7e7 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/MD5Helper.cs @@ -0,0 +1,101 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.Helper +{ + public class MD5Helper + { + /// <summary> + /// 16浣峂D5鍔犲瘑 + /// </summary> + /// <param name="password"></param> + /// <returns></returns> + public static string MD5Encrypt16(string password) + { + var md5 = MD5.Create(); + string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(password)), 4, 8); + t2 = t2.Replace("-", string.Empty); + return t2; + } + + /// <summary> + /// 32浣峂D5鍔犲瘑 + /// </summary> + /// <param name="password"></param> + /// <returns></returns> + public static string MD5Encrypt32(string password = "") + { + string pwd = string.Empty; + try + { + if (!string.IsNullOrEmpty(password) && !string.IsNullOrWhiteSpace(password)) + { + MD5 md5 = MD5.Create(); //瀹炰緥鍖栦竴涓猰d5瀵瑰儚 + // 鍔犲瘑鍚庢槸涓�涓瓧鑺傜被鍨嬬殑鏁扮粍锛岃繖閲岃娉ㄦ剰缂栫爜UTF8/Unicode绛夌殑閫夋嫨銆� + byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(password)); + // 閫氳繃浣跨敤寰幆锛屽皢瀛楄妭绫诲瀷鐨勬暟缁勮浆鎹负瀛楃涓诧紝姝ゅ瓧绗︿覆鏄父瑙勫瓧绗︽牸寮忓寲鎵�寰� + foreach (var item in s) + { + // 灏嗗緱鍒扮殑瀛楃涓蹭娇鐢ㄥ崄鍏繘鍒剁被鍨嬫牸寮忋�傛牸寮忓悗鐨勫瓧绗︽槸灏忓啓鐨勫瓧姣嶏紝濡傛灉浣跨敤澶у啓锛圶锛夊垯鏍煎紡鍚庣殑瀛楃鏄ぇ鍐欏瓧绗� + pwd = string.Concat(pwd, item.ToString("X2")); + } + } + } + catch + { + throw new Exception($"閿欒鐨� password 瀛楃涓�:銆恵password}銆�"); + } + return pwd; + } + + /// <summary> + /// 64浣峂D5鍔犲瘑 + /// </summary> + /// <param name="password"></param> + /// <returns></returns> + public static string MD5Encrypt64(string password) + { + // 瀹炰緥鍖栦竴涓猰d5瀵瑰儚 + // 鍔犲瘑鍚庢槸涓�涓瓧鑺傜被鍨嬬殑鏁扮粍锛岃繖閲岃娉ㄦ剰缂栫爜UTF8/Unicode绛夌殑閫夋嫨銆� + MD5 md5 = MD5.Create(); + byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(password)); + return Convert.ToBase64String(s); + } + /// <summary> + /// Sha1鍔犲瘑 + /// </summary> + /// <param name="str">瑕佸姞瀵嗙殑瀛楃涓�</param> + /// <returns>鍔犲瘑鍚庣殑鍗佸叚杩涘埗鐨勫搱甯屾暎鍒楋紙瀛楃涓诧級</returns> + public static string Sha1(string str, string format = "x2") + { + var buffer = Encoding.UTF8.GetBytes(str); + var data = SHA1.Create().ComputeHash(buffer); + var sb = new StringBuilder(); + foreach (var t in data) + { + sb.Append(t.ToString(format)); + } + return sb.ToString(); + } + /// <summary> + /// Sha256鍔犲瘑 + /// </summary> + /// <param name="str">瑕佸姞瀵嗙殑瀛楃涓�</param> + /// <returns>鍔犲瘑鍚庣殑鍗佸叚杩涘埗鐨勫搱甯屾暎鍒楋紙瀛楃涓诧級</returns> + public static string Sha256(string str, string format = "x2") + { + var buffer = Encoding.UTF8.GetBytes(str); + var data = SHA256.Create().ComputeHash(buffer); + var sb = new StringBuilder(); + foreach (var t in data) + { + sb.Append(t.ToString(format)); + } + return sb.ToString(); + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs index 03e8283..ce27b68 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing SqlSugar; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; @@ -25,7 +26,7 @@ PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance); foreach (var property in propertyInfos) { - object value = null; + object? value = null; if (!dic.TryGetValue(property.Name, out value)) { if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value)) @@ -36,7 +37,14 @@ } } }; - property.SetValue(model, value?.ToString().ChangeType(property.PropertyType)); + + SugarColumn? sugarColumn = property.GetCustomAttribute<SugarColumn>(); + if (sugarColumn != null && sugarColumn.IsIdentity && (value == null || value.Equals(""))) + { + continue; + } + if (value != null && sugarColumn != null && !sugarColumn.IsNullable) + property.SetValue(model, value.ChangeType(property.PropertyType)); } return model; } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/UtilConvert.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/UtilConvert.cs index 92ad304..352dd93 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/UtilConvert.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/UtilConvert.cs @@ -411,15 +411,22 @@ switch (stringType) { case HtmlElementType.Contains: + case HtmlElementType.selectlist: + case nameof(HtmlElementType.Contains): linqExpression = LinqExpressionType.In; break; case HtmlElementType.ThanOrEqual: + case nameof(HtmlElementType.ThanOrEqual): + case HtmlElementType.thanorequal: linqExpression = LinqExpressionType.ThanOrEqual; break; - case HtmlElementType.LessOrequal: + case HtmlElementType.LessOrEqual: + case nameof(HtmlElementType.LessOrEqual): + case HtmlElementType.lessorequal: linqExpression = LinqExpressionType.LessThanOrEqual; break; case HtmlElementType.GT: + case nameof(HtmlElementType.GT): linqExpression = LinqExpressionType.GreaterThan; break; case HtmlElementType.lt: diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs index 9940ba1..37048b0 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs @@ -61,7 +61,7 @@ ms.Position = 0; await ms.CopyToAsync(originalBody); - if (!(context.Request.Path.Value?.Contains("Get") ?? false)) + if (!(context.Request.Path.Value?.Contains("get") ?? true)) Logger.Add(requestParam, responseParam); } catch (Exception ex) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/SwaggerMiddleware.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/SwaggerMiddleware.cs index 42bacde..4731f2f 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/SwaggerMiddleware.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/SwaggerMiddleware.cs @@ -7,7 +7,6 @@ using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.Helper; -using static WIDESEAWCS_Core.Extensions.CustomApiVersion; namespace WIDESEAWCS_Core.Middlewares { @@ -25,13 +24,8 @@ { //鏍规嵁鐗堟湰鍚嶇О鍊掑簭 閬嶅巻灞曠ず var apiName = AppSettings.Get(new string[] { "ApiName" }); - typeof(ApiVersions).GetEnumNames().OrderByDescending(e => e).ToList().ForEach(version => - { - c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"{apiName} {version}"); - }); - - c.SwaggerEndpoint($"https://petstore.swagger.io/v2/swagger.json", $"{apiName} pet"); - + c.SwaggerEndpoint($"/swagger/v1/swagger.json", $"{apiName} v1"); + // 灏唖wagger棣栭〉锛岃缃垚鎴戜滑鑷畾涔夌殑椤甸潰锛岃寰楄繖涓瓧绗︿覆鐨勫啓娉曪細{椤圭洰鍚�.index.html} if (streamHtml.Invoke() == null) { @@ -39,6 +33,10 @@ //Log.Error(msg); throw new Exception(msg); } + c.DocumentTitle = $"{apiName} 鍦ㄧ嚎璋冭瘯鏂囨。"; + + c.InjectStylesheet("/css/swaggerdoc.css"); + c.InjectJavascript("/js/swaggerdoc.js"); c.IndexStream = streamHtml; c.DocExpansion(DocExpansion.None); //->淇敼鐣岄潰鎵撳紑鏃惰嚜鍔ㄦ姌鍙� diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs index dec0451..4782e2a 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs @@ -86,9 +86,8 @@ } else { - int length = sugarColumn.Length; - if (length == 0) { return (true, null, null); } + if (length == 0) { return (true, null, value); } //鍒ゆ柇鍙屽瓧鑺備笌鍗曞瓧娈� else if (length < 8000 && ((dbType.Substring(0, 1) != "n" @@ -118,15 +117,15 @@ } private static readonly Dictionary<Type, string> ProperWithDbType = new Dictionary<Type, string>() { - { typeof(string),SqlDbTypeName.NVarChar }, - { typeof(DateTime),SqlDbTypeName.DateTime}, - {typeof(long),SqlDbTypeName.BigInt }, - {typeof(int),SqlDbTypeName.Int}, - { typeof(decimal),SqlDbTypeName.Decimal }, - { typeof(float),SqlDbTypeName.Float }, - { typeof(double),SqlDbTypeName.Double }, - { typeof(byte),SqlDbTypeName.Int },//绫诲瀷寰呭畬 - { typeof(Guid),SqlDbTypeName.UniqueIdentifier} + { typeof(string), SqlDbTypeName.NVarChar }, + { typeof(DateTime), SqlDbTypeName.DateTime}, + { typeof(long), SqlDbTypeName.BigInt }, + { typeof(int), SqlDbTypeName.Int}, + { typeof(decimal), SqlDbTypeName.Decimal }, + { typeof(float), SqlDbTypeName.Float }, + { typeof(double), SqlDbTypeName.Double }, + { typeof(byte), SqlDbTypeName.Int },//绫诲瀷寰呭畬 + { typeof(Guid), SqlDbTypeName.UniqueIdentifier} }; public static string GetProperWithDbType(this PropertyInfo propertyInfo) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/ModelValidate.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/ModelValidate.cs index 005239e..f60f92f 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/ModelValidate.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/ModelValidate.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.Attributes; +using WIDESEAWCS_Core.Helper; namespace WIDESEAWCS_Core.Utilities { @@ -26,6 +27,12 @@ return SimpleValidate(propertyInfos, data); } + /// <summary> + /// 楠岃瘉瀹炰綋鍙傛暟 + /// </summary> + /// <typeparam name="T"></typeparam> + /// <param name="data"></param> + /// <returns></returns> public static (bool, string, object?) ValidateModelData<T>(List<T> datas) where T : class, new() { Type modelType = typeof(T); @@ -111,6 +118,76 @@ if (Convert.ToInt32(value.ToString()) > propertyAttribute.MaxValue) return (false, $"{(string.IsNullOrEmpty(propertyAttribute.Description) ? propertyInfo.Name : propertyAttribute.Description)}鐨勫�笺�恵value}銆戣灏忎簬銆恵propertyAttribute.MaxValue}銆�", data); } } + + if (!string.IsNullOrEmpty(propertyAttribute.NotNullAndEmptyWithProperty)) + { + PropertyInfo? property = propertyInfos.FirstOrDefault(x => x.Name == propertyAttribute.NotNullAndEmptyWithProperty); + if (property != null) + { + object? tempValue = property.GetValue(data); + if (tempValue != null && !string.IsNullOrEmpty(tempValue.ToString())) + { + Type[] types = propertyInfo.PropertyType.GenericTypeArguments; + if (types.Length == 1) + { + string str = value.Serialize(); + if (str == "[]") + { + return (false, $"銆恵property.Name}銆戝睘鎬х殑鍊奸潪绌烘椂銆恵propertyInfo.Name}銆戝睘鎬х殑鍊间篃涓嶅彲涓虹┖", data); + } + } + else if (types.Length == 0) + { + if (value == null) + { + return (false, $"銆恵property.Name}銆戝睘鎬х殑鍊奸潪绌烘椂銆恵propertyInfo.Name}銆戝睘鎬х殑鍊间篃涓嶅彲涓虹┖", data); + } + } + + } + } + else + { + return (false, $"鏈壘鍒般�恵propertyInfo.Name}銆戠壒鎬у睘鎬с�恵propertyAttribute.NotNullAndEmptyWithProperty}銆�", data); + } + } + + if (propertyAttribute.NotNullAndEmptyWithPropertyAndValue != null && propertyAttribute.NotNullAndEmptyWithPropertyAndValue.Length == 2) + { + PropertyInfo? property = propertyInfos.FirstOrDefault(x => x.Name == propertyAttribute.NotNullAndEmptyWithPropertyAndValue[0]); + if (property != null) + { + object? tempValue = property.GetValue(data); + if (tempValue != null && !string.IsNullOrEmpty(tempValue.ToString())) + { + Type[] types = propertyInfo.PropertyType.GenericTypeArguments; + if (types.Length == 1) + { + if (tempValue.ChangeType(property.PropertyType).ToString() == propertyAttribute.NotNullAndEmptyWithPropertyAndValue[1].ChangeType(property.PropertyType).ToString()) + { + string str = value.Serialize(); + if (str == "[]") + { + return (false, $"銆恵property.Name}銆戝睘鎬х殑鍊间负銆恵propertyAttribute.NotNullAndEmptyWithPropertyAndValue[1]}銆戞椂銆恵propertyInfo.Name}銆戝睘鎬х殑鍊间笉鍙负绌�", data); + } + } + + } + else if (types.Length == 0) + { + if (tempValue.ChangeType(property.PropertyType).ToString() == propertyAttribute.NotNullAndEmptyWithPropertyAndValue[1].ChangeType(property.PropertyType).ToString() && value == null && string.IsNullOrEmpty(value.ToString())) + { + return (false, $"銆恵property.Name}銆戝睘鎬х殑鍊间负銆恵propertyAttribute.NotNullAndEmptyWithPropertyAndValue[1]}銆戞椂銆恵propertyInfo.Name}銆戝睘鎬х殑鍊间笉鍙负绌�", data); + } + } + + } + } + else + { + return (false, $"鏈壘鍒板睘鎬с�恵propertyAttribute.NotNullAndEmptyWithProperty}銆�", data); + } + } } } catch (Exception ex) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_LogRepository.cs b/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_LogRepository.cs new file mode 100644 index 0000000..3c9f9a8 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_LogRepository.cs @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseRepository; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_ISystemRepository +{ + public interface ISys_LogRepository : IRepository<Sys_Log> + { + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs b/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs new file mode 100644 index 0000000..166d420 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseServices; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_ISystemServices +{ + public interface ISys_LogService : IService<Sys_Log> + { + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs index d70e398..6038eca 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs @@ -17,10 +17,7 @@ /// <summary> /// 鑷畾涔夊爢鍨涙満 /// </summary> - /// <typeparam name="T1">鍫嗗灈鏈虹姸鎬�1娉涘瀷</typeparam> - /// <typeparam name="T2">鍫嗗灈鏈虹姸鎬�2娉涘瀷</typeparam> - /// <typeparam name="T3">鍫嗗灈鏈虹姸鎬�3娉涘瀷</typeparam> - [Description("鍫嗗灈鏈�")] + [Description("鍫嗗灈鏈�2")] public class SpeStackerCrane : IStackerCrane { #region Private Member @@ -193,7 +190,7 @@ public bool SendCommand<T>(T command) where T : IDataTransfer, new() { - if(Communicator is SiemensS7) + if (Communicator is SiemensS7) { if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�"); DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); @@ -218,7 +215,7 @@ /// <summary> /// 鐩戞祴鍫嗗灈鏈轰换鍔℃槸鍚﹀畬鎴�(闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽畾涔夋墜鍔ㄨЕ鍙戝姛鑳�) /// </summary> - void CheckStackerCraneTaskCompleted() + void CheckStackerCraneTaskCompleted() { if (_isChecked) return; diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj index 068d032..967c68d 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj @@ -5,7 +5,7 @@ <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <Description>鏇存柊--鏆傛椂鍙敮鎸佽タ闂ㄥ瓙PLC璇诲彇瀵硅薄</Description> - <Version>2.0.3</Version> + <Version>2.0.4</Version> </PropertyGroup> <ItemGroup> diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs index a8bd1b5..dde082a 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs @@ -48,7 +48,7 @@ List<string> cacheDicNos = new List<string>(); foreach (string n in dicNos.Where(x => !selectDicNos.Contains(x))) { - string str = _cacheService.Get(n); + string? str = _cacheService.Get(n); if (!string.IsNullOrEmpty(str)) { VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); @@ -81,7 +81,7 @@ foreach (var item in cusDics) { - VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim()); + VueDictionaryDTO? vueDictionaryDTO = GetVueDictionary(item.Trim()); if (vueDictionaryDTO != null) { vueDictionaryDTOs.Add(vueDictionaryDTO); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_LogController.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_LogController.cs new file mode 100644 index 0000000..8bf9b04 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_LogController.cs @@ -0,0 +1,17 @@ +锘縰sing Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using WIDESEAWCS_Core.BaseController; +using WIDESEAWCS_ISystemServices; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_Server.Controllers.System +{ + [Route("api/[controller]")] + [ApiController] + public class Sys_LogController : ApiBaseController<ISys_LogService, Sys_Log> + { + public Sys_LogController(ISys_LogService service) : base(service) + { + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/launchSettings.json b/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/launchSettings.json index 37fd763..701f428 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/launchSettings.json +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/launchSettings.json @@ -13,7 +13,6 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "launchUrl": "swagger", "applicationUrl": "http://localhost:5208", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" @@ -22,7 +21,6 @@ "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, - "launchUrl": "swagger", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json b/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json index 62255bb..5a38ac1 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json @@ -21,7 +21,7 @@ // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑 "IPs": "http://127.0.0.1:8080,http://localhost:8080" }, - "ApiName": "WIDESEA", + "ApiName": "WIDESEAWCS", "ExpMinutes": 120, "QuartzJobAutoStart": true, "LogDeubgEnable": true, diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/index.html b/WIDESEAWCS_Server/WIDESEAWCS_Server/index.html index 6e20829..155d28e 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/index.html +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/index.html @@ -111,9 +111,9 @@ </svg> <div id="swagger-ui"></div> <div id="footer" style="text-align: center;margin-bottom: 10px;"> - Copyright 漏 2018-2023 BCVP寮�鍙戣�呯ぞ鍖� + - <br><span id="poweredby">Powered by .NET 8.0 on Docker & CentOS 7.6</span> + <br><span id="poweredby"></span> </div> <!-- Workaround for https://github.com/swagger-api/swagger-editor/issues/1371 --> <script> diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/css/swaggerdoc.css b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/css/swaggerdoc.css new file mode 100644 index 0000000..1a05ca2 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/css/swaggerdoc.css @@ -0,0 +1,109 @@ +.selectBox { + margin: 50px auto; /*灞呬腑*/ + width: 150px; + text-align: center; +} + + .selectBox a { + color: #1b1b1b; + text-decoration: none; + } + + .selectBox ul, .selectBox li { + list-style: none; + } + + .selectBox span { + line-height: 46px; + background-color: #85ea2d; + display: block; + margin-bottom: 20px; + position: relative; + z-index: 2; + border-radius: 5px; + -webkit-transition: all .2s ease-in; + transition: all .2s ease-in; + } + +.drop { + left: 0; + right: 0; + top: -9999px; + box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); + border-radius: 5px; + position: absolute; + z-index: 1; + -webkit-transform: translateY(-50px); /*y杞存柟鍚戝钩绉�*/ + transform: translateY(-50px); + opacity: 0; + -webkit-transition: all .2s ease-in; /*骞崇Щ鏃堕棿0.2s*/ + transition: all .2s ease-in; +} +/*缁欓�佷釜涓嬫媺鍔╂敾*/ +.selectBox:hover span { + background-color: #74ea0d; +} + + .selectBox:hover span a:after { + -webkit-transform: rotate(180deg); /*鏃嬭浆180搴�*/ + transform: rotate(180deg); + } + +.selectBox:hover .drop { + position: static; + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); +} +.drop li:first-child:before { + content: " "; + font-size: 0; + line-height: 0; + margin: 0 auto; /*灞呬腑*/ + display: block; /*鐙崰涓�琛�*/ + box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); /*閰嶅悎鏁翠綋涓�鏍风殑鎶曞奖*/ + background-color: #fff; + width: 10px; + height: 10px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); /*涓�涓鏂瑰舰鍊炬枩鍥涘崄浜斿害灏辨槸涓夎浜嗕絾鏄鎶婁笅鍗婇儴鍒嗚棌璧锋潵*/ + position: relative; + top: -5px; /*鏋滄柇鐨勯湶鍑轰笂鍗婇儴鍒�*/ + z-index: 1; /*鏋滄柇鐨勯殣钘忎笅鍗婇儴鍒�*/ + -webkit-transition: all .2s ease-in; + transition: all .2s ease-in; +} + +.drop li a { + color: #888; + line-height: 46px; + border-bottom: solid 1px #eee; + font-size: 14px; + display: block; + background-color: #fff; /*瑕佹湁鑳屾櫙鑹叉墠鑳界洊浣忓憖*/ + position: relative; + z-index: 2; /*杩欓噷寰堥噸瑕� 瑕佹尅浣忎笁瑙掑舰鐨勪笅鍗婇儴鍒�*/ + -webkit-transition: all .2s ease-in; + transition: all .2s ease-in; +} +.drop li:first-child a { + border-top-left-radius: 5px; + border-top-right-radius: 5px; + margin-top: -10px; +} + +.drop li:last-child a { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom: none; +} +.drop li:hover:before { + background-color: #85ea2d; +} + +.drop li:hover a { + background-color: #85ea2d; + color: #fff; +} + + diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/js/swaggerdoc.js b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/js/swaggerdoc.js new file mode 100644 index 0000000..bbba38b --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/js/swaggerdoc.js @@ -0,0 +1,139 @@ +锘縱ar exten = "";//涓嬭浇鏂囦欢鍚庣紑鍚� +var timerLoadExportBtn = null; +$(document).delegate("#select", "change", function () { + debugger + setTimeout("LoadExportApiWordBtn()", 300);//鍔犺浇瀵煎嚭鎸夐挳 + console.log("dom export ok"); +}); + +$(document).ready(function () { + InitLoad();//鍒濆鍖栧鍑� + //loading璁剧疆 + $.busyLoadSetup({ + animation: "slide", + background: "rgba(255, 152, 0, 0.86)" + }); +}); + +//鍒濆鍖� +function InitLoad() { + setTimeout("LoadExportApiWordBtn()", 300);//鍔犺浇瀵煎嚭鎸夐挳 +} + +//鍔犺浇鑷畾涔夊鍑烘寜閽� +function LoadExportApiWordBtn() { + $(".information-container").height(240);//鏂囨。浠嬬粛鍖哄煙楂樺害 + $(".topbar").height(35); + var btnExport = "<div class='selectBox' style='position: absolute;margin: 0;padding: 0;margin-left: 1432px;top: 2.5px;'>" + + "<span><a href='javascript:void(0);'>瀵煎嚭绂荤嚎鏂囨。</a></span>" + + "<div class='drop'>" + + "<ul style='margin: 0;padding: 0;'>" + + //"<li>" + + //"<a href='javascript:void(0);' onclick='ExportApiWord(1)'>瀵煎嚭 Word</a>" + + //"</li>" + + //"<li>" + + //"<a href='javascript:void(0);' onclick='ExportApiWord(2)'>瀵煎嚭 PDF</a>" + + //"</li>" + + "<li>" + + "<a href='javascript:void(0);' onclick='ExportApiWord(3)'>瀵煎嚭 Html</a>" + + "</li >" + + //"<li>" + + //"<a href='javascript:void(0);' onclick='ExportApiWord(4)'>瀵煎嚭 Xml</a>" + + //"</li >" + + //"<li>" + + //"<a href='javascript:void(0);' onclick='ExportApiWord(5)'>瀵煎嚭 Svg</a>" + + //"</li >" + + "</ul >" + + "</div >" + + "</div >"; + //information-container杩欎釜鍏冪礌鏄痵wagger鍚庢湡鍔ㄦ�佹覆鏌撳嚭鏉ョ殑锛屾墍鏈夎繖閲岃鍔犱釜寰幆鍒ゆ柇銆� + //绗竴娆¤繘鏉ュ鏋滄湁杩欎釜class鐩存帴鍔犺浇鎸夐挳閫�鍑� + if ($("*").hasClass("information-container")) { + $(".information-container").append(btnExport); + return; + } + //娌℃湁鍏冪礌绛夊緟鍏冪礌鍑虹幇鍦ㄥ姞杞芥寜閽� + timerLoadExportBtn = setInterval(function () { + if ($("*").hasClass("information-container")) { + $(".information-container").append(btnExport); + console.log("load ok"); + window.clearInterval(timerLoadExportBtn); + return; + } + console.log("loading"); + }, 788); +} + + +/** + * 寤惰繜鍑芥暟 + * @param {any} delay + */ +function sleep(delay) { + var start = (new Date()).getTime(); + while ((new Date()).getTime() - start < delay) { + continue; + } +} + +/* + * 瀵煎嚭 + */ +function ExportApiWord(type) { + switch (type) { + case 1: + exten = ".docx"; + break; + case 2: + exten = ".pdf"; + break; + case 3: + exten = ".html"; + break; + case 4: + exten = ".xml"; + break; + case 5: + exten = ".svg"; + break; + } + var version = $("#select option:selected").val(); + version = version.split('/')[2]; + var url = '/api/Swagger/ExportWord?type=' + exten + "&version=" + version; + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); // 涔熷彲浠ヤ娇鐢≒OST鏂瑰紡锛屾牴鎹帴鍙� + xhr.responseType = "blob"; // 杩斿洖绫诲瀷blob + // 瀹氫箟璇锋眰瀹屾垚鐨勫鐞嗗嚱鏁帮紝璇锋眰鍓嶄篃鍙互澧炲姞鍔犺浇妗�/绂佺敤涓嬭浇鎸夐挳閫昏緫 + xhr.onload = function () { + // 璇锋眰瀹屾垚 + if (this.status === 200) { + // 杩斿洖200 + var blob = this.response; + var reader = new FileReader(); + reader.readAsDataURL(blob); // 杞崲涓篵ase64锛屽彲浠ョ洿鎺ユ斁鍏琛ㄦ儏href + reader.onload = function(e) { + // 杞崲瀹屾垚锛屽垱寤轰竴涓猘鏍囩鐢ㄤ簬涓嬭浇 + var a = document.createElement('a'); + a.download = 'WIDESEAWCS API鏂囨。 ' + version + exten; + a.href = e.target.result; + $("body").append(a); // 淇firefox涓棤娉曡Е鍙慶lick + a.click(); + $(a).remove(); + } + } else { + alert(this.status+this.statusText); + } + //鍏抽棴load + $.busyLoadFull('hide', + { + animation: "fade" + }); + }; + // 鍙戦�乤jax璇锋眰 + xhr.send(); + //鎵撳紑loader閬僵 + $.busyLoadFull('show', { + text: "LOADING ...", + animation: "fade" + }); +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_LogRepository.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_LogRepository.cs new file mode 100644 index 0000000..f61053e --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_LogRepository.cs @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseRepository; +using WIDESEAWCS_ISystemRepository; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_SystemRepository +{ + public class Sys_LogRepository : RepositoryBase<Sys_Log>, ISys_LogRepository + { + public Sys_LogRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs index e04fe7a..8f68362 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs @@ -40,7 +40,7 @@ List<string> cacheDicNos = new List<string>(); foreach (string n in dicNos) { - string str = _cacheService.Get(n); + string? str = _cacheService.Get(n); if (!string.IsNullOrEmpty(str)) { VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_LogService.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_LogService.cs new file mode 100644 index 0000000..fdb3067 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_LogService.cs @@ -0,0 +1,19 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Core.BaseServices; +using WIDESEAWCS_ISystemRepository; +using WIDESEAWCS_ISystemServices; +using WIDESEAWCS_Model.Models; + +namespace WIDESEAWCS_SystemServices +{ + public class Sys_LogService : ServiceBase<Sys_Log, ISys_LogRepository>, ISys_LogService + { + public Sys_LogService(ISys_LogRepository BaseDal) : base(BaseDal) + { + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index 53676e6..911d6f0 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -16,27 +16,17 @@ #endregion << 鐗� 鏈� 娉� 閲� >> using AutoMapper; -using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using SqlSugar; -using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; -using WIDESEAWCS_Core.Enums; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Service; -using WIDESEAWCS_Common.TaskEnum; namespace WIDESEAWCS_TaskInfoService { -- Gitblit v1.9.3