{"id":3400,"date":"2025-11-13T09:49:12","date_gmt":"2025-11-13T02:49:12","guid":{"rendered":"https:\/\/portal-atlasx.cdg.co.th\/home\/?post_type=docs&#038;p=3400"},"modified":"2025-11-13T09:55:49","modified_gmt":"2025-11-13T02:55:49","slug":"development-on-local","status":"publish","type":"docs","link":"https:\/\/portal-atlasx.cdg.co.th\/home\/docs\/atlasx-web-template\/developing\/development-on-local\/","title":{"rendered":"Development on local"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"development-on-local-machine\">Development on local machine<\/h1>\n\n\n\n<p>AtlasX Web Application (Berlin Template) \u0e16\u0e39\u0e01\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e22\u0e01\u0e2d\u0e34\u0e2a\u0e23\u0e30\u0e08\u0e32\u0e01\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30 \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Rest API \u0e08\u0e32\u0e01\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a \u0e40\u0e0a\u0e48\u0e19 \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19, \u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49 Stored procedure \u0e2b\u0e23\u0e37\u0e2d\u0e2d\u0e31\u0e1e\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e08\u0e31\u0e14\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e41\u0e25\u0e30\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e15\u0e32\u0e21\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e43\u0e2b\u0e49\u0e1e\u0e23\u0e49\u0e2d\u0e21\">\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e43\u0e2b\u0e49\u0e1e\u0e23\u0e49\u0e2d\u0e21<\/h2>\n\n\n\n<p>\u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e2b\u0e49\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f \u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49 3 \u0e27\u0e34\u0e18\u0e35\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23<\/th><th>\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14<\/th><th>Url \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e23\u0e35\u0e22\u0e01 Rest API<\/th><th>\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a<\/th><\/tr><\/thead><tbody><tr><td>\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e14\u0e49\u0e27\u0e22&nbsp;<code>.NET CLI<\/code><\/td><td>\u0e43\u0e0a\u0e49&nbsp;<code>.NET CLI<\/code>&nbsp;\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e14\u0e49\u0e27\u0e22\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07&nbsp;<code>dotnet run<\/code>&nbsp;\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e28\u0e36\u0e01\u0e29\u0e32\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01<a href=\"https:\/\/portal-atlasx.cdg.co.th\/docs\/frameworks\/axws\/latest\/environment-setup\">\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/a><\/td><td><a href=\"https:\/\/localhost:5001\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost:5001<\/a>&nbsp;\u0e2b\u0e23\u0e37\u0e2d&nbsp;<a href=\"http:\/\/localhost:5000\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:5000<\/a><\/td><td>(1) PA\/PG \u0e01\u0e33\u0e25\u0e31\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e02\u0e36\u0e49\u0e19\u0e42\u0e04\u0e23\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e04\u0e19\u0e40\u0e14\u0e35\u0e22\u0e27<br>(2) \u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e48\u0e2d\u0e22\u0e04\u0e23\u0e31\u0e49\u0e07<br>(3) \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27\u0e43\u0e19\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e41\u0e25\u0e30\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e42\u0e1f\u0e25\u0e4c\u0e27\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e2d\u0e1e\u0e2f<\/td><\/tr><tr><td>\u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19&nbsp;<code>Local IIS<\/code><\/td><td>\u0e17\u0e33\u0e01\u0e32\u0e23 Publish \u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e41\u0e25\u0e49\u0e27\u0e19\u0e33\u0e44\u0e1b\u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e1a\u0e19 IIS \u0e02\u0e2d\u0e07\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e28\u0e36\u0e01\u0e29\u0e32\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01<a href=\"https:\/\/portal-atlasx.cdg.co.th\/docs\/frameworks\/axws\/latest\/deployment\/windows-server-2012\">\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/a><\/td><td><a href=\"https:\/\/localhost\/demo-service\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/localhost\/demo-service<\/a>&nbsp;\u0e2b\u0e23\u0e37\u0e2d&nbsp;<a href=\"http:\/\/localhost\/demo-service\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost\/demo-service<\/a><br><br><em><code>demo<\/code>&nbsp;\u0e04\u0e37\u0e2d\u0e0a\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a \u0e41\u0e15\u0e48\u0e25\u0e30\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/#\">\u0e14\u0e39\u0e01\u0e0f\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/a><\/em><\/td><td>(1) \u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e44\u0e21\u0e48\u0e04\u0e48\u0e2d\u0e22\u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e41\u0e25\u0e49\u0e27<br>(2) \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e48\u0e2d\u0e19\u0e19\u0e33\u0e44\u0e1b Deploy \u0e17\u0e35\u0e48\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c Staging\/Production<br><br><em>\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07 \u0e04\u0e37\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e32\u0e07\u0e17\u0e35\u0e21&nbsp;<code>AtlasX<\/code>&nbsp;\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e44\u0e27\u0e49\u0e43\u0e2b\u0e49\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23\u0e19\u0e33\u0e41\u0e2d\u0e1e\u0e2f \u0e21\u0e32\u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e48\u0e2d\u0e19\u0e19\u0e33\u0e44\u0e1b\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48 Staging \u0e41\u0e25\u0e30 Production<\/em><\/td><\/tr><tr><td>\u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19&nbsp;<code>IIS<\/code>&nbsp;\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07<\/td><td>\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e17\u0e35\u0e21&nbsp;<a href=\"mailto:email@email.email\"><code>AtlasX<\/code><\/a>&nbsp;\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32&nbsp;<code>CI\/CD<\/code>&nbsp;\u0e42\u0e14\u0e22\u0e17\u0e35\u0e21&nbsp;<code>AtlasX<\/code>&nbsp;\u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e41\u0e19\u0e30\u0e19\u0e33\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e1f\u0e25\u0e4c&nbsp;<code>Jenkin<\/code>&nbsp;\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e04\u0e38\u0e13\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07 Source code \u0e14\u0e49\u0e27\u0e22&nbsp;<code>SonarQube<\/code><\/td><td><a href=\"https:\/\/appserver2.cdg.co.th\/demo-service\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/appserver2.cdg.co.th\/demo-service<\/a>&nbsp;\u0e2b\u0e23\u0e37\u0e2d&nbsp;<a href=\"http:\/\/appserver2.cdg.co.th\/demo-service\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/appserver2.cdg.co.th\/demo-service<\/a><br><br>&#8211;<em><code>demo<\/code>&nbsp;\u0e04\u0e37\u0e2d\u0e0a\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a \u0e41\u0e15\u0e48\u0e25\u0e30\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/#\">\u0e14\u0e39\u0e01\u0e0f\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/a><\/em><br>&#8211;<em>\u0e41\u0e15\u0e48\u0e25\u0e30\u0e42\u0e04\u0e23\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e44\u0e14\u0e49\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e0a\u0e37\u0e48\u0e2d Domain \u0e08\u0e30\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b \u0e40\u0e0a\u0e48\u0e19 appserver2.cdg.co.th, appserver4.cdg.co.th \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/em><\/td><td>(1) \u0e21\u0e35\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e19\u0e17\u0e35\u0e21\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32 1 \u0e04\u0e19 \u0e41\u0e25\u0e49\u0e27\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19<br>(2) \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e23\u0e27\u0e14\u0e40\u0e23\u0e47\u0e27\u0e43\u0e19\u0e01\u0e32\u0e23 Deploy \u0e40\u0e1e\u0e35\u0e22\u0e07\u0e41\u0e04\u0e48 Merge \u0e42\u0e04\u0e49\u0e14\u0e40\u0e02\u0e49\u0e32&nbsp;<code>Jenkins<\/code>&nbsp;branch \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19&nbsp;<code>CI\/CD<\/code>&nbsp;\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 \u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e43\u0e2b\u0e49\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f-\u0e43\u0e2b\u0e49\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e41\u0e15\u0e48\u0e25\u0e30\u0e27\u0e34\u0e18\u0e35\">\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f \u0e43\u0e2b\u0e49\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e41\u0e15\u0e48\u0e25\u0e30\u0e27\u0e34\u0e18\u0e35<\/h2>\n\n\n\n<p>\u0e43\u0e19\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07 AtlasX Web Application (Berlin Template) \u0e44\u0e14\u0e49\u0e08\u0e31\u0e14\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e07\u0e48\u0e32\u0e22\u0e14\u0e32\u0e22 \u0e42\u0e14\u0e22\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e01\u0e47\u0e1a\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e44\u0e1f\u0e25\u0e4c&nbsp;<code>environment.ts<\/code>&nbsp;\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a&nbsp;<code>Develop<\/code>&nbsp;\u0e41\u0e25\u0e30\u0e44\u0e1f\u0e25\u0e4c&nbsp;<code>environment.prod.ts<\/code>&nbsp;\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a&nbsp;<code>Production<\/code><\/p>\n\n\n\n<p>\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e40\u0e23\u0e32\u0e08\u0e30\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e17\u0e35\u0e48\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e08\u0e36\u0e07\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e41\u0e01\u0e49\u0e44\u0e02\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e43\u0e19\u0e44\u0e1f\u0e25\u0e4c&nbsp;<code>environment.ts<\/code>&nbsp;\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f \u0e17\u0e33\u0e07\u0e32\u0e19\u0e23\u0e48\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07&nbsp;<code>webServiceUrl<\/code><\/p>\n\n\n\n<p><em>File: environments\/environment.ts<\/em><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>import { AxAuthenticationConfig } from '@atlasx\/core\/authentication'\nimport { ApplicationConfig } from '..\/app\/core\/config\/application.config'\n\n\/\/ This file can be replaced during build by using the `fileReplacements` array.\n\/\/ `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n\/\/ The list of file replacements can be found in `angular.json`.\n\nexport const environment: ApplicationConfig &amp; AxAuthenticationConfig = {\n  production: false,\n\n  \/\/ \u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e14\u0e49\u0e27\u0e22 .NET CLI\n  webServiceUrl: 'https:\/\/localhost:5001',\n  \/\/ \u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19 Local IIS\n  \/\/ webServiceUrl: 'https:\/\/localhost\/demo-service',\n  \/\/ \u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19 IIS \u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07\n  \/\/ webServiceUrl: 'https:\/\/appserver2.cdg.co.th\/demo-service',\n\n  \/\/ Other configuration below here\n  \/\/ ...\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #AF00DB\">import<\/span><span style=\"color: #000000\"> { <\/span><span style=\"color: #001080\">AxAuthenticationConfig<\/span><span style=\"color: #000000\"> } <\/span><span style=\"color: #AF00DB\">from<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;@atlasx\/core\/authentication&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #AF00DB\">import<\/span><span style=\"color: #000000\"> { <\/span><span style=\"color: #001080\">ApplicationConfig<\/span><span style=\"color: #000000\"> } <\/span><span style=\"color: #AF00DB\">from<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;..\/app\/core\/config\/application.config&#39;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #008000\">\/\/ This file can be replaced during build by using the `fileReplacements` array.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\">\/\/ `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #008000\">\/\/ The list of file replacements can be found in `angular.json`.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #AF00DB\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">const<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">environment<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">ApplicationConfig<\/span><span style=\"color: #000000\"> &amp; <\/span><span style=\"color: #267F99\">AxAuthenticationConfig<\/span><span style=\"color: #000000\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">production:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">false<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ \u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e14\u0e49\u0e27\u0e22 .NET CLI<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #001080\">webServiceUrl:<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">&#39;https:\/\/localhost:5001&#39;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ \u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19 Local IIS<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ webServiceUrl: &#39;https:\/\/localhost\/demo-service&#39;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ \u0e42\u0e2e\u0e2a\u0e15\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e1a\u0e19 IIS \u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e01\u0e25\u0e32\u0e07<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ webServiceUrl: &#39;https:\/\/appserver2.cdg.co.th\/demo-service&#39;,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ Other configuration below here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">  <\/span><span style=\"color: #008000\">\/\/ ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0e23\u0e31\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f\">\u0e23\u0e31\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14 Terminal \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/li>\n\n\n\n<li>\u0e22\u0e49\u0e32\u0e22\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e4c\u0e40\u0e14\u0e2d\u0e23\u0e4c\u00a0<code>ClientApp<\/code>\u00a0\u0e14\u0e49\u0e27\u0e22\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<code>cd ClientApp<\/code><\/li>\n\n\n\n<li>\u0e23\u0e31\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e41\u0e2d\u0e1e\u0e2f \u0e14\u0e49\u0e27\u0e22\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<code>npm start<\/code><\/li>\n\n\n\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e27\u0e47\u0e1a\u0e1a\u0e23\u0e32\u0e27\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e25\u0e49\u0e27\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48\u00a0<a href=\"http:\/\/localhost:4200\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:4200<\/a>\u00a0\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e40\u0e25\u0e48\u0e19\u0e42\u0e1f\u0e25\u0e4c\u0e27\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19 \u0e08\u0e30\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e38\u0e40\u0e2b\u0e47\u0e19\u0e01\u0e32\u0e23 Redirect \u0e44\u0e1b\u0e22\u0e31\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e15\u0e32\u0e21 Url \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e17\u0e33\u0e01\u0e32\u0e23\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e44\u0e27\u0e49\u0e43\u0e19\u00a0<code>environment.ts<\/code><\/li>\n<\/ol>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e41\u0e2d\u0e1e\u0e2f \u0e17\u0e35\u0e48\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e40\u0e2d\u0e07\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/#\"><code>DataParser<\/code><\/a>&nbsp;\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e40\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e21\u0e2d\u0e07\u0e40\u0e2b\u0e47\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e34\u0e2a\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e08\u0e36\u0e07\u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f Backend (\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e04 .NET \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e42\u0e1f\u0e25\u0e4c\u0e40\u0e14\u0e2d\u0e23\u0e4c ServerApp) \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/p>\n","protected":false},"featured_media":0,"parent":3394,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nav_title":"","positive":"","negative":"","footnotes":""},"docs_category":[],"class_list":["post-3400","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/comments?post=3400"}],"version-history":[{"count":1,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3400\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3400\/revisions\/3401"}],"up":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3394"}],"wp:attachment":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/media?parent=3400"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs_category?post=3400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}