{"id":3909,"date":"2020-04-20T13:49:39","date_gmt":"2020-04-20T13:49:39","guid":{"rendered":"https:\/\/hiper.ao\/mideamodocacimbo\/?p=3909"},"modified":"2022-10-17T11:09:46","modified_gmt":"2022-10-17T11:09:46","slug":"deploy-your-net-asp-net-application","status":"publish","type":"post","link":"https:\/\/hiper.ao\/mideamodocacimbo\/2020\/04\/20\/deploy-your-net-asp-net-application\/","title":{"rendered":"Deploy your  NET &#038; ASP NET Application"},"content":{"rendered":"<div id=\"toc\" style=\"background: #f9f9f9;border: 1px solid #aaa;display: table;margin-bottom: 1em;padding: 1em;width: 350px;\">\n<p class=\"toctitle\" style=\"font-weight: 700;text-align: center;\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/p>\n<ul class=\"toc_list\">\n<li><a href=\"#toc-0\">How to Run the Docker Image<\/a><\/li>\n<li><a href=\"#toc-1\">Test the app locally\u00b6<\/a><\/li>\n<li><a href=\"#toc-2\">Final Thoughts on ASP.NET and Docker<\/a><\/li>\n<li><a href=\"#toc-3\">Deploy .NET apps<\/a><\/li>\n<li><a href=\"#toc-4\">Step 1 &#8211; Publish your .Net Core application<\/a><\/li>\n<\/ul>\n<\/div>\n<p>If you previously created a PVC with your application code ready to be executed, you can mount it in the ASP.NET Core container setting the appFromExistingPVC.enabled parameter to true. Then, specify the <a href=\"https:\/\/bitcoin-mining.biz\/interface-java-wikipedia\/\">Interface Java Wikipedia<\/a> name of your existing PVC setting the appFromExistingPVC.existingClaim parameter. ASP.NET 6 runs on the .NET Core runtime, so it can be executed on multiple platforms, such as macOS, Linux, and Windows.<\/p>\n<p>The bundle installs the .NET Core Runtime, .NET Core Library, and the ASP.NET Core Module.You can go to the .NET All Downloads page. On the .NET Core runtime download page under Windows, select the Hosting Bundle Installer link to download the .NET Core Hosting Bundle installer and run the installer on the server. There are also a few more components that are required to deploy &#038; host your ASP.NET Core app to ISS. For instance, first you have to install .NET Core Windows Server Hosting bundle to host your .NET Core application on ISS.<\/p>\n<ul>\n<li>The load balancer provides access to different applications.<\/li>\n<li>While the solution felt a little clunky at the time I have since come to appreciate it a whole lot more when working in environments where the upload method is a lot less elegant or easy .<\/li>\n<li>It\u2019s a good idea to have a load balancer for your web application so you don\u2019t have to worry about availability.<\/li>\n<li>You can test your deployment setup by triggering a \u201cmanual deploy\u201d from the deployment menu.<\/li>\n<li>You will do this by editing the ConnectionStrings property within the appsettings.json file and add the details of the database.<\/li>\n<\/ul>\n<p>In this step, you will edit this server block to configure Nginx as a reverse proxy for your application. A reverse proxy is a server that sits in front of web servers and forwards every web browser\u2019s request to those web servers. It receives all requests from the network and forwards them to a different web server. As stated earlier, you\u2019ll deploy an existing ASP.NET Core application. This application was built to create a movie list and it uses the Model-View-Controller design pattern to ensure a proper structure and separation of concerns.<\/p>\n<p>Use compartments to organize your resources in Oracle Cloud, control access to the resources, and set usage quotas. To control access to the resources in a given compartment, you define policies that specify who can access the resources and what actions they can perform. When you sign up for Oracle Cloud Infrastructure, Oracle creates a tenancy for your company.<\/p>\n<h2 id=\"toc-0\">How to Run the Docker Image<\/h2>\n<p>When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain. The .NET applications need to be ported from .NET Framework to .NET to run on Linux containers. In this architecture, an Oracle database is the application\u2019s underlying database.<\/p>\n<ul>\n<li>Create web and mobile apps for any platform or device.<\/li>\n<li>The Commands Window needs some special explanation.<\/li>\n<li>If you are deploying to a local dev box, you can copy them locally.<\/li>\n<li>Clone and customize the default recipes provided by Oracle to create custom detector and responder recipes.<\/li>\n<li>Select one of the account that you wish to host against and click on \u201cNew\u201d to create a new Resource group.<\/li>\n<\/ul>\n<p>However, Kestrel isn\u2019t considered a full-featured web server because it can\u2019t manage security and serve static files, which is why it is advisable to always run it behind a web server. ASP.NET Core applications use a .NET standard library named Entity Framework Core to manage interaction with the database. Entity Framework Core is a lightweight, cross-platform version of the popular Entity Framework data access technology. It is an object-relational mapper that enables .NET developers to work with a database using any of the database providers, such as MySQL. You do not need to change a lot in your application, the requirements will help you to configure your apps with some mandatory files to add, and properties to setup.<\/p>\n<h2 id=\"toc-1\">Test the app locally\u00b6<\/h2>\n<p>This topic describes the steps you must perform to deploy your ASP.NET application to a Web server. AWS won&#8217;t extend those wizards in the future and thus recommends that toolkit users migrate to the new &#8220;Publish to AWS&#8221; wizard. Developers are invited to open an issue on GitHub&#8221; for feedback, such as reporting missing features that are blocking migrations. When you go back to your Azure portal and see, you have all the resources that was created and published from your Visual Studio. After you select the resource group, the page that opens shows the connection information. You can modify these fields if required or leave it as it is.<\/p>\n<p>If your app won\u2019t load after these changes made, check your Windows Event Log by opening Control Panel \u2192 Administrative Tools \u2192 Event Viewer. Then open Windows Logs \u2192 Application and look for a recent error records. Methods will be called in environments with auto-start enabled, we need to ensure that the initialization logic will be called exactly once.<\/p>\n<h2 id=\"toc-2\">Final Thoughts on ASP.NET and Docker<\/h2>\n<p>The AWS Toolkit for Visual Studio provides interaction with a slew of AWS services, while the AWS toolkits for Visual Studio Code and JetBrains Rider focus their tooling on serverless features. With this toolkit, you can easily deploy .NET apps to fully managed containers on AWS without leaving Visual Studio. The increasing variety of frameworks and languages used by you and your team could keep you from moving to a fully automated deployment process. In this tutorial, we showed that you can set up a functional deployment pipeline using the Windows and Azure orbs. That pipeline successfully deployed an ASP.NET Core application to the Azure Web Apps hosting platform.<\/p>\n<p><img decoding=\"async\" class='aligncenter' style='display: block;margin-left:auto;margin-right:auto;' src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv\/bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoMDwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP\/bAEMBAwMDBAMECAQECBALCQsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEP\/AABEIAMEBjwMBIgACEQEDEQH\/xAAcAAEAAQUBAQAAAAAAAAAAAAAABAIDBQYHAQj\/xABgEAABAgMEAwgLCgkHCQkBAAABAgMABBEFBhIhEzFRBxYiQWGRlNEIFBcyVFZxcoGhsRUYIzM1UpKiwdI0QlVXWJbT4fAJJDZTYnOTJkNEdHZ3g8LxGSVGY4KVsrO01P\/EABoBAQADAQEBAAAAAAAAAAAAAAABAwQCBQb\/xAAtEQACAQMDAwMDBAMBAAAAAAAAAQIDERITIVEEMTJBYaEUcbEiUpHwBSPRgf\/aAAwDAQACEQMRAD8A+Bb33mvGi23EovBaSRgTkJtwcXliOzad4Hmi4m9to4tDjCTOODhUBIOeoAjy1pxGJ9vWGxP2kt9x1xKilIommyLSbiBVAH3MR\/F1kHYaCg9MXqDsmUOrG7RBTaV6lKCd9VoAkitZp7g5kZ80VqtC8zTai\/eu0Ao5JCZxw54cW3PZlx+SPHrrS7ONK3ngpGsGmvmiN7hS\/wDXOeqOtKRy+ogiSi0L0uMsuIvVP1WnEsduuHASRhBoSRUEa+XZFCrSvYiWVMrvTPDAlKigzruLOtBSvJFn3Cl\/65z1Q9wpf+uc9UNKRH1NMsC9F5j\/AOIrT6W51xcdvBellKVrvHaNF97SdWajb338Z7DFfuFL\/wBc56oe4Uv\/AFznqhpSH1NMj76LzeMVp9Lc64b6LzeMVp9Lc64yNmXYlJ2fZlXJh5KXFUJTSoy8kbN3L7I\/KE59XqjiSwdmWwmqivE0jfRebxitPpbnXDfRebxitPpbnXG59zSyfD5v6vVDuaWT4fN\/V6o5yR3Y0zfRebxitPpbnXExF57y4E\/5Q2nqH+ludcbP3NLJ8Pm\/q9UXBud2YAB29NZeb1Rt6LqKdFtzMfWUKlZJQNZYvFeR5eA3ktJIoT+Fr9XCiSu1byJFU3tm1ChIpOucVeXk9Y2xnu55Znhs19Xqh3PLM8Nmvq9Ubn11B9n8GJdFXXdfJgBa15sGkXeucA4P+muE5kDby1jxVr3kBTS9s4cVafzx0UptzyjYO55Znhs19Xqh3PLM8Nmvq9UR9dQ\/d8E\/R1uPkwKrTvOlxKBeyaVirmJ5ygoQKnPLM+qseG1byhC1m9k5wElRHbrldVaa9cZ\/ueWZ4bNfV6odzyzPDZr6vVD66j+74H0dbj5NU3z3l8YbT6W51xlLBvFeB110O27aCwEimKaWePyxl+55Znhs19XqiRJ3KkpFSlMzj5KhQ4gDGT\/I9TS6jpZUqXk7flHdDpK0KilLt9yz7uW1+WJ3pC+uLzVp226Ki25tOVc5he2m2Je9xnwlf0RDe4z4Sv6Ij5VdJXXf8noYSIqrTttKSr3dmjkDTthdc6cvLHhtK3ACTbk1QZfhK+Xl\/isS97jPhK\/oiG9xnwlf0RE\/S1v6xhIhO2rbbOu2ptWdMphfXFv3ctr8sTvSF9cZHe4z4Sv6IhvcZ8JX9ERD6Sv6fkYSNHvDeS8TVoYWrftFCcCckzTgHHyxjN9F5vGK0+ludcb3PXBs+ff7YenZhKqBNE4QPWIj9zSyfD5v6vVHrUf0U1GXdFiTSNM30Xm8YrT6W51w30Xm8YrT6W51xufc0snw+b+r1Q7mlk+Hzf1eqLckTY0zfRebxitPpbnXDfRebxitPpbnXG59zSyfD5v6vVDuaWT4fN\/V6oZIWNM30Xm8YrT6W51xJlbcvPNNrUi89ohaCKJVNuCo4zWvqjau5pZPh839Xqh3NLJ8Pm\/q9URkhY1x60L1NLWN9k4pKFFOITzmdATWleSPXJ69racSr1TlakYe3nAdVa6\/48mcbF3NLJ8Pm\/q9UDua2UTU2hNk+VPVDIWNVmLcvPKOoQ\/ee0FJWAcTc64rLniiavHeFlYQ3eW1VGlTWbcyrq49kbb3NLJ8Pm\/q9UO5pZXh839XqhkhYw7U3b7lkmdN5bXCg0p3GZ5WDIVw0rXk164+gdx3sF+yt3c9z2zN0241v2abFtbS9rmct91p34NxTasScJpwknjjjHc4s0ILQtKdwE1KappXbSkU9zSyfD5v6vVC6Fj6e\/7Lvs2Mv+\/7B1Z\/5SO5fUgr+S77NgHg2\/YJH+0jv3I+Ye5pZPh839XqgdzWyjQG0JvLVmnqhcWPqJr+S57NNSVF28thII1DfE8a\/UjbrpfyY19bvl21+yO7Jqxrl2RLpS4USVpqcdcR+MS7MKaQ0OIKo5mNUfF\/c0snw+b+r1Q7mlk+Hzf1eqIuLH23a\/8AJwWBf5D0z2NHZk2ZelxljGbPm7RRMKKuFwi\/KunCkkEULWWE5nUNGY\/kt+zUcmEtO3nu+02TQuqvG+QBtoG6x8u9zSyfD5v6vVDuaWT4fN\/V6oXFibeKxb6XCvnbdwry3hnHp270\/MWbNuy046tpTzThQcKjQkVBpUCLFhW5eBq0n2zbVpBOAlOKYcBIqKHXGQsy6ErZ0voGJt0pqTVYBPqit+x2pF9M2l5S1qTo6EUFNcS5XQS3MVMKSi0UrWaJSpJPkjJvOJdWGWwnCAC42agTBNOEFCMTPpUqbKUgkmgAHHASdqBOASs0EniwKpGpRTimYZSanJW9S3ahQXFhBqEpCdddQ1V46aq8kYmMhMtuNJW262pCgM0qFCIhNd8VfNBMWrZGeW7PcCED4QmuwQ+BOVFJ5dcetNF1RUTlxx6thwklKKDywIsW1oKDnmDqO2KYuDhNKB\/FNRFuBBkLA+WZXz\/sMdAjn9gfLMr5\/wBhjoEZeo8kb+k8H9ywdcYe3byydhhLS0qemFiqWk7NpPEIzB1xzq\/SlIt9K0KIUllBBHEamM5rNladvfaCQ4luTs9s5gLBW5zavZFwyF6gKpt+XUdhlQBziMDI7oUw22ET8kl1Q\/HbVhJ8oiYd0SSpwbOfJ5ViAJM1bV4bFTpbWs5iYlwQC9LqIp5Qf3RmJC1Ja1JLt2RJcTQjCciFAd6eWNEty+U5a7CpNphMuwumIVxKV6Yzm558mzP9\/wD8ogDN2Za6bQW5LuMLYfZ79tWzbGQjDMf0qmeWWH\/LGZjuoknsV0m2nf0YilxRQ2paUFZSCQkazyRVCOCwsJnGDiWVhLSQk6RRATU505qc4i4l5lQxJdQRhCqhQ1HUfJkeaIyJBTSG9GpOJp9x0AjIhRVlyUCvVFCbPeQHMDiKvCi6g8HhqVl9Ij0QBMceZZAU86hAJoCpQFTFKpuUSFFU0yAk4VVWMjsPLHjrLhmG5hspJQhSClWwkGtfRFhyzyooWlZqhTpoFqQCFqrrHH++AJDk3KtFQcmG0lKcZBWKgbY8bnJVzR4Jhsl0YkDGKqHIIjKs1anmVaWjbJyGJR4OjKaUrTjrXXHqbOViBcVUcAmjigAUgcQyOoQBfTOMuTAl2nELOFSlFKgcNCBQ8\/qi4l9lbimUPIUtPfJCgSPKIjy0o604ypa0EMslkYRmc05\/V1QRJuieE2t2oSlaQMRNQogjLUKUpywBfExLlwsh9suDMoxCo9EEzUstJWiYaUlNSSFggU1xHmrOEyypkuYQta1EgZjEhScuXOKPcwmiiqi8Qx1WpYWihBTmeX2QBMcfbbbW6VVDaSpVMzSlYtdtLCU4pc6Rw0QgLBqKVrXiG37YSssqVYLeIKUSTU6qakj0AARabkXGnNOgoSsLJSgVwhJACgNlSAch9sAXEzoLqGHGlIdUvAUk1pwSoGvGDhMX3XmmU43nUNp1VUoAeuIfas0uZEysN40OAjhGhRgUANVa1UTEl1txTjbqMGJFQQrVnsPEcvbAHiJyXUlsqebSpxOJKSsVI5I8bn5J1CFommqOGiOGOEdgiObPfUGUqeFGy2rIqA4JBIwg0NacdY9dkH3G9FpgEgUFFKFMya0FK15chywBfZnJd0qSHWwtBUFJxioAJFSPRFQm5UhKhMtELOFJCxwjsG0xGMlMFOAOoRgW44hSU51UVUr5Ao+WPW5F1tWNLlFFzHixqJAokEZ99WnHAEpD7Dq1NtvIWpHfJSoEjyxXEWUku1lAqJUUJKEkuKOWXEchqESoAQhCAEIQgBCEIAQhCALzXe+mIdq\/Ft+cfZExrvfTEO1fi2\/OPsgDWpghNpIUTQBSamL8uwgWa\/pJXGsnJ0KTRJypnXLjiJaH4UryCJCZO20oDSW3wkjvcWXNG1eK3PPl5y2IM\/qpUGjaQaGudIx7aglWeo5GJj6VJQtKhQioI5YgRauxmk9y5VbK8v8AqIpUrEaiorxVj1LhAwkBQ2GPdLTvW0g7YEAjRt4T3y\/UItx6SSak1MeRIMhYHyzK+f8AYY6BHP7A+WZXz\/sMdAjJ1Hkjf0ng\/uWDrjnN\/Pl3\/gI9pjox1xzm\/ny7\/wABHtMZzWa5CEIARvu558mzX9\/\/AMojQo33c8+TZr+\/\/wCUQBLtNbzFvtOWYNLMrbwuNkcHDtrxfui5bc\/OSk2EyDqlq0KlOt0qGxxL8vVFbH9Kpj\/Vh7UxmYvlNRcbq+xnjBzUrO25ZkloclGlofLyVJB0h1q5YrfdDDLjxFQ2kqptoKxXHjiEuIU2sVSsFJG0GKGXrZEZy0pRlSg+6GwkA1VXPXFRn5MOJaU8AtdMIIIrU0Hri4uXaWvSEKCshVKiD6jAMNBaVgEFIpkoio5duvjgSUrm5dt3QrWQulQnCTUVAyyz1iDM5LTAWWHg4EZqw5wEpLh7T4Dj24jycWriEeiWZDSmcJwKFCnEaAbBnl6IAtuWhLoabfCqtrWU4qEBNASScsqYTBNpSKwSmYBA1mhy19R\/gxc7Uly2Gi3VCSSASTmag+XWYGUYUAFoKqCgxKJOsHjO0CAPVzDTZotRGr8U5V1V2RbM+xUBOI1QV1KFAUArXVFx2XadOJQNafONMtVRqMW0SLCW0oIUqicNSo5ilKa9XJAFXbkvwTiUcRomiFZ5E5ZZ5Aw7bZ0S3klSkt66JPq2x6iVYQQUpPBNU1UTTIjLYMzlASrCQsBJo4AlXCOoenL0QB6iYaWrClRrnrSQMteZi0u0ZNsAuPYArViSRXlGUXUS7TaipKTU11qJGevIxaakUINVqJIoE4VKFBs1k+jVyQBcTMtKQHCSlJUpPCSRqrX2GCZphZASo5mgqkiprTZByWQtGiGSSvGoGprnUjnjwyjBrwVZmuSyKGtcs8s9kAeuzTLTYcJUQUlQASSSAKxSqdlkLDS1qC1AKCcCqkVA2bSIqVKsLQhtSCUo70YjT98UpkZZDmmCFY9pWo7Np5BzQBSLSk8WBTuBdCcKgQaAnP1GLzTodCikEBKqZgg6thikyjBKiUq4QIUMZoQa1qK8pittpDQKUVzNTVRJr5TAFUIQgBCEIAQhCAEIQgBCEIAvNd76Yh2r8W35x9kTGu99MQ7V+Lb84+yANWtD8KV5BEubaki5NOKeImBMLomv9rZTl18kRLQ\/CleQRfVbCluaVdnSKlnMktaztOeuNsU8YtHnSaU5XLCZdE3aPayyQl10pJGvMxkpm69kSbemmZ15CMQTU01k0HFGJRNql5kTuAKUhekw6gTE83rem\/gVWUy7x4VKr7RCop7Yim6W+Z4mx7uKY7ZFpPhqoGIoIzrSmadfJ6YmIufZriQtubeUlQqCCkgjmiA9bbbSUpeu7KJSdQKRTbs5fXFaL5OtoS23ZzSUpFAkKoANgyiu1Yty6den5J282z\/CX+cdUN5tn+Ev846oh79X\/AG\/pnqhv1f8Ab+meqFqxGXTmSk7ryclNNzTb7xU2agGlPZGZjXLOvU9PTrMoqTQgOKpiCyaZRscVVFJP9ZopODX+ssHXGrXtutM2s8mfkFJLqUBCm1GlQK0IO3ONpOuPIrLTkUzZNpyiiiZkH0EcZbNOfUYsBh8mgZX9Ex2SFBsgDk8lYFsT6wiXkHqH8ZacKR6TlHQLuWI7YdmLYLiVzDhLivmhVKAeqMxCAMZZdmzTEy9aNoPIXMPDDRA4KU\/wIycIR1KTk7s5jFQVkItTa1olnFNqKVAZEAZcucXYRC2ZL3REacWHHAibMwAgKFQk0NT80RWiYfLiUKlyAa5k8Vf444kQg3cJWI4mHqEaBROX4pA5R6PXHpefLeIM8KtAM8xTyZfx5IvwiCSOH5hWIiWpRJIqTmeIao9S8+SUql6cGoOI0J2aovwgCOmYfUqhlSnhUJqdVder+OSGnmQTWVqACahXGPREiEAWS68ElQZqeIV5K+2oippxxalBbWAAAjXn6ouQgBCEIAQhCAEIQgBCEIAQhCAEIQgBCEIAQhCAEIQgC813vpiHavxbfnH2RMa730xDtX4tvzj7IA11csZy1EywUBjpmdlKxmtHKy7q2bNkUqdTRK8Qrl6T5P3xr8+SmbJSSCKUIi+m3rQQ0lpBbBSKY8NVKHKTGvCUoqxhzjCcr8lm3pMSU062nCErGNIHEDxRhm3FtKxtqKTtETZha3ELW4sqURmSamIEXJWVmZZtN3RcdmHngA64VBOqsW4QiTnuIQhEkGQsD5ZlfP+wx0COf2B8syvn\/YY6BGTqPJHodJ4P7lBZSTWqueGhRtVzxXCM5rKNCjarnhoUbVc8VwgCjQo2q54aFG1XPFcIAo0KNqueGhRtVzxXCAKNCjarnhoUbVc8VwgCjQo2q54aFG1XPFcIAo0KNqueGhRtVzxXCAKNCjarnhoUbVc8VwgCjQo2q54aFG1XPFcIAo0KNqueGhRtVzxXCAKNCjarnhoUbVc8VwgCjQo2q54aFG1XPFcbruX7kl6t1uetSSuy9ZUsixZE2jPTVqT7cnLsMBaUYlOOEAZrEAaPoUbVc8NCjarnjcN03cwvRuTXhau1evtBUzMSTNoMOyM2iZYel3QShaHEEgg0P8A0pGpQBRoUbVc8NCjarniuEAUaFG1XPDQo2q54rhAFGhRtVzw0KNqueK4QBRoUbVc8NCjarniuEAUaFG1XPDQo2q54rhAFGhRtVzw0KNqueK4QB4lISKCIVq\/Ft+cfZE6INq\/Ft+cfZAGASQLWqQk0QsgKFRXAaa+WJM4ttbQS+0jBiT3oCCPSBGLtFSRNKBUBkOOLctMhh4OJdKSPxkkVEbYwvFP2PPlPGTj7lM60llTzSVhYSSAoGoIjGxlLSmWpglxLmIlACidZO2MXFq7bmedr7CEIRJwIQhAGQsD5ZlfP+wx0COf2B8syvn\/AGGOgRk6jyR6HSeD+4hGvWj7oyU07NMzKXDoihRSjNCK5KVTWRxRk7GYYZkUmXmS+HCVqcJ75R1+TyRxKnjHK5fGplLGxNBONQ8kUpmGVOllLiStOsDij0d+ryCID9lPOoW0ieU22pS1AJSa8JWIg8KhFSeKtOOKiwnrdabStbjiUpbTiWSe9G0x4H2SsNh1JWUhQSDnQ6j5IhNWO2yzMtJcH85ZDSlYcxQEVzOYz1ckeN2OGgrBNLBPBSqmaUAjCkHYAPXAGRhGM9xTix6dFcKE4Q2cBoVE1GLOuIVz1pEBYzgUo9uBQVgqlbZUCUpIz4VTrrStAR5YAyCH2XHFNIcBWg0I5q+0c8VBxBcLQVwkgKI5DWnsMY6TsRuTmm5sOha0JcSpSkcJeLBmTXXwPWYsuWA+ttSE2jgKkpBWGuESnFRROLvqqBqKaoAyq3mm2lPrcAbQCVK1gAa4rjCO3cccSW0T4bbo6AhLVO\/x1qa59+PojVF5ViPLdSsz2FCcVG0tlIFQQacKoGYNK6xAGVjwLQVlsK4SQFEbAa09hiBJ2UuWmRMuTanSEBAGHCBlTIA0px0priObAWoJCp9XBCAqiSCvDi4SiFVxcKtdsAZiorTjhGLXZTzbZwvl2jhXo8GSgSMjVQrq4z1RfkrPVLlt5xyrgQErH\/pSKVrtTX0wBNBBFQQRyR5jTjLdeEBWnJGNTYpQEobmQ2lIITgboRXFqNctee2kDYy8KwmbCStSVABvgopxBJOrjzrmSfIBkipIUElQBOoVzj2I7knjmA\/pSMwSmmyJEAIQhACO5djj\/Qjdu\/2Ce\/8A1sRw2O5djj\/Qjdu\/2Ce\/\/WxADstP6TXD\/wB3lgf\/AEqjhsdy7LT+k1w\/93lgf\/SqOGwAhCEAIQhACEIQAhCEAIQhACEIQAiDavxbfnH2ROiDavxbfnH2QBpds\/h6vNEZ9V3rMQ6Edsy4bSQgpWDiJ8uIZ5HijA2z+HK8gjMqvJZDyAp+RmC4DioCCAc9RrynijW8sY4nnpwzlnya5NtJYmnmUE4W3FJFddAaRai7Mu6eYdfw4dItS6bKmsWovXYyvvsIQhEkCEIQBkLA+WZXz\/sMdAjn9gfLMr5\/2GOgRk6jyR6HSeD+5QhlpvHgQBpFFSv7RO2KZaVl5RBblmg2kqKiBqqYuwii7NVkUjv1eQRGdYnyTopsJSScqDLPLiiUDVRFNVI9gnYNXIna86pThXNZKQtKQMsNSKH0ZwEvPhdTN8E5mgGWZrSoPFlEuETkMSIGbQxDFNDDlqAr\/wDH+PaTLTiW20GZKlJxYlFXfA6tQiXCGRGJFQzOBC0qcFSsKTRZNBs1asvXxRSGbSwZzicVKd4KV26vJEyERkMSNoZzAkF8FYKiVVoNeWQGeWWcGmZ1KvhpkLSU5gZZ0Gqg2154kwhcmxD7XnwgIE2OIVIqaUz4q\/xXkiSyl1LYDywpedSIrhBu4SsIQhEEiEIQAhCEAIQhACPoS4V65izOxBv7K3UsWyW7Xat+VkrftEyLaptyxJ1ohDelIxBImZdOVSPhNQNCfnuO5djU+m2bA3WdzZQU45eO5UzNyTCQVKfm5BxEyhCUjWrAh1Q82g10gDKbul6Ji3+x43HZq8lkWSbxz7U+BaDUg2zN+5UmpMrKNOOAYlpJDyszTIEDOsfPMdw7LVTNlX4u3ufS6ENpuVdCyLIdbRqRMFgPu8mLE+cX9qtc6xw+AEIQgBCEIAQhCAEIQgBCEIAQhCAEQbV+Lb84+yJ0QbV+Lb84+yANcdYRMWmllxRSlVKkCpApE0WLZZ\/057iHxR4\/REF9xLVoaReoDPKvFHqZpgU73JST8UOKNiUnFWfoYG4qTuvUjWpLsyri2mHCtGEEKIocxGJjJzziXASjUEAaqeqMZFy7bmadr7CEIRJwIQhAGQsD5ZlfP+wx0COf2B8syvn\/AGGOgRk6jyR6HSeD+5j\/AHalVOONh1hBbWUHSvBBJBocqHKL8jPsz6XCyQdGrAog1BNOI8cYOzLPlJq0bU7bYKlJcWADqCVE5jly1xIukjDKzBSlQQXjgKhrFImdOEYu3pb5Jp1Jykk+zv8ABmx36vIIxJanm3HnZaWe0wW6oqUvgLSScIArmdVMsqcsZYd+ryCI5mZlClVllLGKgwpIyqefKhrGdK5pbsRNJawPCbKgE4gVYUpFNVeMnlyGWoRTJTk9OID8u6XGQ4AFEI4YqiuYy416tkTTNzAKf5kuhBJzrTOn74Im31uJR2otAJoSoHVSvtibMXLL0zOKmH2ZcFSWSjEpIBICsNQK\/jABRoeJSdcUB22CktlpSVmhC6JoBhHLrriiSZt\/RJcEm5UgkpNaiiqbOMZxT27NUxdoOUIFBXPjrXLkHPEYsZIszzM2qYCpYLUosqQFHIJVQ0UDUUNaA5cY1Uiwz2w3OIUzKzbcuhacTayVGpQqqtZyqUjXrBNOM5FU06lxTaZZSsAzIOVaV2RQideWaCTXQjvuIHZDFi6I06bRM4lTTTykNKJGHCE4SilanOtScuQZbbZdtpLRWGXlOqSkhPAwpNDycZAr5eKJ5mJlKgO1sQVQClcshWuXL6o9VNLCykSy1AKKSpOer\/r7YmzF0QCu12kOpaYdVRSsNcIzxKIprqKYde3izpWp62O2ghLKtFpSCs4aYcQplrpTF6Rr4olGYmS2hxMuUlQVVBBJGWXkj1Ey\/gWVMkqSaJohSajbxxFmLoLE522MPxVRx5U44kxBcnpsNrKJBwqAITkczn6tXPFZnnwpQ7QdNAKHbkeoc8TiyMkdZuH2NG7lunXdavZcTc\/m7Wsl5xbKJluYYQlS0GihRawcjyRsXvJ+yj\/NHaHTJX9rETdFJV2MO4uopwk2neokbPhZKOICamQ6W+1VEY6Y6EDDUc\/8eWISuS3Y717yfso\/zR2h0yV\/aw95P2Uf5o7Q6ZK\/tY4MJp1bhaTLqScxiUDQUGvyVihuZneDpZTvjSg4hrz9BA8oMMWLo757yfso\/wA0dodMlf2sPeT9lH+aO0OmSv7WOBpnZjAFKkXCTXIVqBXLWIrXNPpCSJRZzUF0zoBkOc09FYYsZI7z7yfso\/zR2h0yV\/ax0bsduxh7I3c13bLpXzt\/cptBmypCewWg4ZiXcCZV1CmXiUJcKlDRuKqkA1FRQ1pHx+Zx8apJw0AJpXXXVmILmZptbgEoVpTQpwnXnT98MWMkfVG692K\/ZQboG6ley+rO5VajzNtWxNTjCnJyWroVOKLYoXagBGEAcQAHFGo+8n7KP80dodMlf2scCdnZtKaNyK8RPHmOKLj80+3iDcotRSpIFM8QrmYnFi6O8+8n7KP80dodMlf2sPeT9lH+aO0OmSv7WOC9tTBQFiUUDiAINdVNceqmJnAlaZU1NeCSa6xyeWIsxdHefeT9lH+aO0OmSv7WHvJ+yj\/NHaHTJX9rHBVTE0psFuXKVYgOED82tefKDs1MtnAmUUpQwVIrhNddPJDFjJHeveT9lH+aO0OmSv7WKVdhT2UKElatyS0AlIqT25K6v8WOCidmc6yKyKkAiuYFOSvH6o732EK1Odkrc5amyg45zI\/6o9BpoJpnEIRHdffbcVhZLiQMgEmvFx88UmbmakJkl\/jZ12DLnhZi6JUIiqnH9SZNdTTMg01nkr\/1gZqaS4UmTUpNaAp8tPZnDFjJEqEIRBIiDavxbfnH2ROiDavxbfnH2QBq8+CqbUEgk0GQiZKXffeaU7MOaAnJCSKknl2ZxaLqGLWQ64opSggmgrGUmrYl0MuqlZj4RBUhAypSoJI9VPJGvKSjFRMOMHKTma\/Pybso0nS5FxJNOMUJH2Rioytozj88VPTCgVBNBQUAEYqL1e25lna+whCEScCEIQBkLA+WZXz\/ALDHQI5\/YHyzK+f9hjoEZOo8keh0ng\/uKCtaCsAABQCEIzmspHfq8giOUTySotrQcSvxiTQVOr0U5okg8IimqkexKdiGrkdAnK\/ClFCk1w6wc6fZFGG0AEJCmwAoYiSSSnriXCFxYiqbn1pbGlbBoQugIrXZnlTLjzqdUMM+20pKVIcVUYSdmI1r6KRKhDIWIxTPkrotmhPByOqh5dtI9ZE8Fp06mimnCwgg12CJEIXFil1ClowpJBqMwaZVz1RHcRPONuIStKVVTgI9cSoQTsGrkdIny5wiyEVPESdXXAiexHCpvD\/aGevbXZxRIhC4sRSif0VQ4gu1JGVE6uMV+2Kv5\/VIq1SvCNKcXEPLEiELix9E2Zcmzd1bsdNzmwWN13c9u7at2rQvA5Oylv22iUdwzL0sWSlBBNKMrqSBrGuNeHYtzVBXsjNxKuHMb6k667cOyOLwhcWO0t9i3MBY0nZGbiRRiNaXqSCBxfi5xJ964z+kTuMfrWj7scNhBu4Ssdy964z+kTuMfrWj7sPeuM\/pE7jH61o+7HDYRBJ3L3rjP6RO4x+taPuw964z+kTuMfrWj7scNhAHcveuM\/pE7jH61o+7D3rjP6RO4x+taPuxw2EAdy964z+kTuMfrWj7sPeuM\/pE7jH61o+7HDYQB3L3rjP6RO4x+taPuw964z+kTuMfrWj7scNhAHcveuM\/pE7jH61o+7HR+x33I7u7ku6\/YO6BePsgtyN+zrKMwp5uUvQ2t1WNhxAwggA5qHHHyNCAEIQgBCEIAQhCAEQbV+Lb84+yJ0QbV+Lb84+yANXnwTNkAEk0AAiv3MWlJDz7bbopRtVePadQPljycUEzwUSQAUkkaxGWTMJLKy2pTrYCwV4khC8RyK65gjyeSNmTjFWPPcVKcrmvTbLjGkaeQUrSMwYx0ZW01oW4stvqeSEhONQpWgpGKi5bozzVnsIQhEnAhCEAZCwPlmV8\/wCwx0COf2B8syvn\/YY6BGTqPJHodJ4P7llc5KtqKFPoxDWK1I8uyLjbrbycbTiVp2pNRGoIenm331otJbMsJpSHKEnBUmhpy8kZi7K1OMza1LUsmYVmpeInIcfHCdHCOVzqnXzlaxlx36vIIx5cm2tKsNvKf0hGaVKbDZVkQAQCQmmWvXGQHfq8giqM5pMWZq2cKlCWbNFYUjRqqeDXF32quVOXXFKpy3A8UCTZKEhVVYVVUQVAEDVqCTQnOuUTFzjqVqQJR1RAUQQk0NOWnHBybebcUntNxSU1NUgmoypT180TiyMkWFuWmZacKFVcCApj4ApzwjiJzzrlrEVy8xaDjq0OtIQkJXRRbKQkg8HWc6jOg1aouicWTQyjwzpXCdtP3wRNOrJxSiwjAo5g1qDqpTjhixdENE\/arrbbrcqj4TCQjCTlWiqqrTKhOrOoHLF+VmZ+YmKLYDTIrUqbIJ4KOXLMq+j6YqTPOCie0XQAkk0SrIilBq\/ikeonlkJxSbwKkgkYDlyaonFkZIxz07bjS3n2ZMuKLaAlstqwBQ0hUNeZ70YhkaiPXpq3AhbCWCskvgrDZSQKrwYSDSuSeccdYyXbi8j2o9TAFE4eUilNuVfTHnby\/A3+L8Q8Y8kMWTkiIZ22NMEJlEFGJQxltSajDkaVNKHI11jMRck5q1nppKJiVbbZwVKsKgonaOICvEc+Pki83PrdwlEm8QQTWmWXXxRU3NuOKSO1HUhQrVQIpnx8sRixkhLKmy8oPpITQ7KVrlT0RJiL266Eg9pu4iK0AOvZqi+y4XUBZQpB2EUMLNBNMrhFh6ZcacwiWWtNK4kgniikTbikLWJR0FJGShmRyQsxdEmERmptbiyhTCkkIxajr2aop7ddBSDKOZ6zhVQZeT0QxYyRLhERM+4UgqknwSTlgOQG3KK+21YQRKvZkjvdlOv1H0sWLokQiKZ1wCvaT1KV73+M4duu1H8zdoTTMGo168tXXDFjJEqERzNOaLSCVcqTkkg11clYpXPLbStSpN2iCBkNdePybYYsZIlQiOqacFCmWWQcVcjUUIA4uOPFTbgDZEq58IATkeBXbQQsxdEmEWG33FkhTCk0FdR2Dk5fVFpE88qgXJOpNUg5GgrSp1cVTDFjJEyER3Jl5DmBMspQzzocqejjjyXmnXVEOyy2hWgqDn6oYvuLokwiGZyaCqe57hzyII1Z9Q54uOTS20oIlnFqVrCQThNaa9UMWMkSIRGM07gWpMs5wTQAg1OVa6o8am31vFtcotCQaBZBofVDFi6JUIQiCREG1fi2\/OPsidEG1fi2\/OPsgDWJ5JXOYE61UAjyYs6blkkqSFJFcRQcQTQ0NdkbLZ9zn7XCLTRPNtpx94UEngmMsu5kyXA4icaHwqlngd8lVap9fqjdHLFWPPnGLlK5zh34pXkiDHRJjc0ecKgxabaEkZBSCSIi9yuc\/K7P+EeuLbMzuLNFhG9dyuc\/K7P+EeuHcrnPyuz\/AIR64WIxZosI3ruVzn5XZ\/wj1w7lc5+V2f8ACPXCwxZqtgfLMr5\/2GOgRCs7c1m5GeZm1WoysNqqQGyK5eWNj3vu+Ep+jGetTlJ7I29NJQi1I1WYu5Z0ytS1aZIUorKUr4OI6zSJkjZ8tZzJYlUFKScRqakmM9vfd8JT9GG993wlP0Y4cK0lZ9i1OjF5LuYcd+ryCIc3PGV4TiqIxUKqZCNjF3nQontlOf8AZiwu6q1qxKmWzQ1FUao40anB3qw5NfFrskE6VYwqCDVpQoSKgatkVM2kl+pbcVkQDVsjM+UcojOpumtIwpmGgBxBEE3TWkYUzDQGwIhoz4GrDk15+10y7iWllWJSwgcHkrWseItuXWlB05BWnEE6M15eLkMbEbpqJxGYaJyzwbNUeG6FcILzPBNU\/B6jDRnwNWHJrZt5oNJeKlBKkYxUUPFUZ7KiLzVqocXo9IUqqaBSCKgEjZtBjPi6axmJhoZU7zijzekcZXp2sRFCcGdK19sNGfA1YcmvG2mArBplFRVhACCSdXJy+owVbUvjU0p45ZGrZpXZqjYTdEnW+znX\/N7dcN6P\/nM8f+b2w0anA1YcmBatVl1QbbeJJFR8GQKUrWtMhBdrNIUUl4nCSFUQTQgE7OQxnhdEjU+yNf8Am9uuBukokKL7RI1HRw0Z8DVhya6LclitSdOQEpSoqKDShJGzL98XhabRQtYfyQnGeDxUrUZZ5A6tkZw3SJ1vtf4foj3emrP+cNZ\/2OSnsho1OBqw5MAi1m3HA224tRxBB+DNASK7NkePWulhYStR4SkJScqKxGgI5oz5ukompfaJND3mzVHiLoaMBLbzKQAE0DdMhqENGfA1YcmEYtBb5wgFOROY2Eg+sRe0zvzvVGXTdNaO8mGk6hkikVb13vC0fRMNGpwNWHJhtM7871Q0zvzvVGZ3rveFo+iYb13vC0fRMNGpwNWHJhtM7871Q0zvzvVGZ3rveFo+iYb13vC0fRMNGpwNWHJhtM7871QLrihQkEcoEZneu94Wj6JhvXe8LR9Ew0anA1YcmG0zvzvVDTO\/O9UZneu94Wj6JhvXe8LR9Ew0anA1YcmG0zvzvVDTO\/O9UZneu94Wj6JhvXe8LR9Ew0anA1YcmG0zvzvVDTO\/O9UZneu94Wj6JhvXe8LR9Ew0anA1YcmG0zvzvVDTO\/O9UZneu94Wj6JhvXe8LR9Ew0anA1YcmG0zvzvVDTO\/O9UZneu94Wj6Ji9L3RLiVretDAhAHetYiSTsJETHp6knZIh16aV2zBIecKkgqyJHFEiMwm6kolQV7qvZGv4KPvxe3uSn5Se6MPvx39JV4X8r\/pz9RT5+H\/wwMQbV+Lb84+yNqeu0lLaHGJ4rCipJxtYSCKbFHbGBvHZq5FhlanQvEsjIU4ornQqU\/JHcasJ9mZq6fyMj+8X7Y3S6Vh2TeC0jIWtbxspKtGG3iwlxGJTqEHFVacIAWVEipok5Rzy794LBs+zUy0\/bchLPBaiW3plCFAE5GhNYyW+26vjNZPTW+uNkGsEr+hkqJ5s6DN7nU\/LT8xZzVu2LNuy7KXiZeYUpCyoLIShRSAo8ClRVIUtKScRoL53MpgByl8LtKU04togTazVSSQc8GEAlORJAVrFQCRzffbdXxmsnprfXDfbdXxmsnprfXHV9u5FvY6O7cOy25NQRfKSXaK7WVZkvLBv4N1KVBJfLuLgIzBFU5itDGVm9xlyTbSHb9XbLxaWpQTNYm0uJf0YRjFagp4YNMxWgoCocj323V8ZrJ6a31w323V8ZrJ6a31wbu9mP\/DoZuAmWmZNNoXls5MrOLdbS8xiKkFKV4Stt3RqSFKRTOigCCRRScWVtzcxsCyrQlJGWvwmaTNJWe2FSaG2UEMhaAVl4gVWHEGtCnCFUIWmvJ99t1fGayemt9cN9t1fGayemt9cPXuLex1t\/cssVq0VyzN81TMqjTJ07Mk2VY0ulLQ0ZfBCVpAJVWiFYkq70qjx7cvu+ie0DF9XXZdSW1od9z0JWtJdSlXwZfqClCwrCqiiUrTTg1PJd9t1fGayemt9cN9t1fGayemt9cFt3Ye\/ZG9StyXZ02dordstlNorU2DMvaLQqBA+EyOEHEPJnWgoTkm9y95c+zZqr2WC269L6bSLmSllCtMG8ClkZGhC8geCQdRrHM99t1fGayemt9cN9t1fGayemt9cL+4t7HT5XcpmplpL5vTYTTadIHtJNBKkKQvDRKTQqBBSoKyGHErUmppmdy9cqqXYVfCwlPPmZNQ+oNIS0tpFVKUAqqi4sgYdSKitcuZb7bq+M1k9Nb64b7bq+M1k9Nb64N+4fsjpFnbmU3aEuJg3nsFkkfFqmVYgStSBTg0VmipwFRSCmoFQDMO4\/aL0s7NWdeiwJoMS6phxtM3R3ClsOKKUgGoAOvkUcgKxyvfbdXxmsnprfXAXuuqNV57K6a396Od\/3C2\/Y6e5uYMOolXrNvxYbqJlponTuKbUh1TbalJUEhYSgKcw41lIJSa4chFFrbmKrFkmnpy91hOTL8wlpDUtNJeQEE00ilpOQ48gdmRBA5nvtur4zWT01vrhvtur4zWT01vrjpvhk7cHULR3J5uQaKW71WDMzSEvFbLUyVJJbBVwXQC3RSACkrKMRNE1IiHMXAaF3JS3pG8co446lOnlHsLbiCoJIKAlSitNVFOIhHCSQAY53vtur4zWT01vrhvtur4zWT01v70E9t2c2fB0qc3K7TkWHZh+813AGHgw8kWgCptWmQ0ThpUpCl5kVFEOEVwmJC9yG0GFtpmr33XSHHVNfBWkHTwUJUSMIIOSss9aSNdK8t323V8ZrJ6a396G+26vjNZPTW+uF9u5KXsdEltzecnWpJ6VvHYVJ1KChL05o1BRllPlJBHFgLeX46kDLEIy6dxefRJTMxO3vu7LPyziQqXXOAK0eiccWog0NRgQAkA4i4DUChPJN9t1fGayemt9cN911TrvPZXTW\/vQT37kW9jpA3OEJcteXevdYyHrMZacb4ag3MKXngStQAyANSKitM6VIusbmkvMSL7qL62Mmblp5yUcZc0iUqQnRgOIJTpF1U4ctHqQSCa0jmW+26vjNZPTW+uG+26vjNZPTW+uF\/c624OqS+5MssqnJ6+t3m5YNJcSpibDrhxGgSUHCUnjIVQ8mRpFlNzJyYshu1nr2WGyH5RE202HlOroSQptaEJK0rTkSkJVka5DOOa77bq+M1k9Nb64b7bq+M1k9Nb64je98tiLextd5LFlrAnkWczaaZ15DZE0UIAbbeDi0lCFBRDiaJSoKyripQUzxMYrfbdXxmsnprfXDfbdXxmsnprfXHV1yRZ8GVhGK323V8ZrJ6a31w323V8ZrJ6a31wuiLMysIxW+26vjNZPTW+uG+26vjNZPTW+uF0LMysIxW+26vjNZPTW+uG+26vjNZPTW+uF0LMysIxW+26vjNZPTW+uG+26vjNZPTW+uF0LM7ZIdj+85dyw7xXh3V7h3bF4JL3Rk5O1Z2aRMGXLi2wshuXWkAqbV+MdUVdwew\/0h9yv\/ANwnv\/5IsSPZT7j8zde7t377bmd0byzN27OFly889eJ1hamA4twAobUBrcV\/GUPfJdjZ+YS5X61zP34ryf8AbFmK\/tzcL73D7Emct6fsK4u61btiPyxCJactOR7esuaUUgjC8wNK2mpoVKbOE1yIFY1C8\/Y1bqt37LN4bMsySvVYoFTaV2ZxFpMgUriUGqrQKcakgcsZy\/N5ewNsC9do27YF9LRvTJPuh2QsGzZpEjJspwiqHpp9SnlDFU8BNRqrGvv9mS3YTbshuPouVudSTqS2tdkLacn30VBAdm3ipxVCMsOEckQpP0+SXFevwaxdi58hb8jaEzOXlZs2YkMQMq5LqW47wFKGEA1OaFBWVRVORrlOu7d6y7PvJeBc4hFtMXZk351lnDRE6pDiG0FSQScALgcWmtcDagaZkc3mL63bmn3JqZvZZjrzyy444uebKlqJqSTizJMS7F3SLHu9aTVrWRe+ymJloLSFdttKSpC0lK0KSSQpKkqUlSSCCCQQQYsbT9StK3odzTd74Wz7tX1nLEtOavWusiixpOUAlJQoUUT5eZSlTQCwDoVJFW0ulYQcBjlN3LMZtmfRZcxaTEg1MLQlcy\/XRtDMlSqZ0y4oqm93G7Hab0vd9i5d3X5tlcvNTlmzbmnfaWnCtFXn3A2lQJCg0EVBKTwSRGtyl6LsvtPss3kspSyEkJE61UgHzo7o7yaXD\/DIqdv4\/Ju99Lis3Ql5d5u89mWqp6amZZQk3UrA0SgMYIJqhVciQMwQK0rHTZS7rAlbyM2HP2FYkvcrEyJWdsqUmpi2lIZWtTiFvnE64pSMSmxRCGiCnEQEq+fPdixfy3ZvTGvvRuUvux2WqVabvBZVy7wzksyiXlrQtJ9ZmGm0JCW0ktPoQ6EpCQNKldAkDUAIOlU4f8CM4ov7o9m2fI2jJTdmSbckxa0kxafaTZOGVW80hSm04iThrVSaknApOZ1nl99PwSW\/vT7I2K8N\/bLtaaVaduXqspc5MuKUo9tsoASEoSkJSkgJSAkJCQAAAAAAI1C81tWPakuw3ZtrSc2tCypSWH0OFIprISTSOOp2i0+F+Ed0N5Jr3OO3y+XHPMR7IwcIRhXY2sQhCBAhCEAIQhACEIQAhCEAIQhACEIQAhCEAIQhACEIQAhCEAIQhACEIQAhCEAIQhACEIQAhCEAIQhACEIQAhCEAIQhACEIQAhCEAI2e4f4dM\/3Q9sIREuxKP\/Z\" width=\"305px\" alt=\"deploy net application\"\/><\/p>\n<p>Enable automatic start-up for Windows Process Activation and World Wide Web Publishing services . Git pull origin %BRANCH% \u2013 Get the latest version of the code. Since this environment has no Servers in it, Beanstalk takes us directly into adding our first Server. In <a href=\"https:\/\/cryptonews.wiki\/\">https:\/\/cryptonews.wiki\/<\/a> the example below, you\u2019ll notice that you can choose Manual or Automatic Deployment Modes. For now we\u2019ll choose &#8216;Manual&#8217; which means we invoke a deployment directly from Beanstalk. You may also use Automatic but we don\u2019t recommend that for production environments.<\/p>\n<p>If the existing .NET application is using a different database, you can use certain tools and migration methods to migrate such databases to Oracle database in OCI. Application containers provide many advantages because they are  immutable, they provide a portable infrastructure, and can scale easily. Organizations running .NET applications can take advantage of such benefits, containerizing and deploying their .NET applications on Oracle Cloud Infrastructure . Retrace is an application performance monitoring tool compatible with multiple development platforms.<\/p>\n<h2 id=\"toc-3\">Deploy .NET apps<\/h2>\n<p>You can easily track deployments and improvements through the insight-based dashboards. The tool provides you key metrics so you can easily see which areas need attention. Before you deploy your application, you need to install the .NET Core hosting bundle for IIS \u2013 .NET Core runtime, libraries and the <a href=\"https:\/\/bitcoin-mining.biz\/8-steps-to-manage-multiple-github-accounts\/\">8 steps to manage multiple GitHub accounts GitGuardian Blog<\/a> ASP.NET Core module for IIS. AspNetCoreModule handles all incoming traffic to IIS, then acts as the reverse proxy that knows how to hand traffic off to your ASP.NET Core application. AspNetCoreModule also ensures that your web application is running and is responsible for starting your process up.<\/p>\n<p>Overall, however, even on my first time through, I did not find it complicated nor requiring any DevOps expertise to tweak. Once you are familiar with what\u2019s on each page, setting up the configuration on a subsequent deployment should be a breeze. Now your proxy server and kestrel server is running and you can access your application through any ip with port 80. I have installed an additional package so if you are running a different project it will help. The database will be deployed outside the container to better manage its state availability. Use the following recommendations as a starting point when deploying .NET applications on OCI.<\/p>\n<ul>\n<li>The complete source code for this demo application can be found here on GitHub.<\/li>\n<li>Then, run the project again with the dotnet watch run command.<\/li>\n<li>Auto packaging and deployment &#8212; The tool builds the deployment artifacts, generates a deployment CDK project, provisions the infrastructure and deploys your application to the chosen AWS compute.<\/li>\n<li>Log in to Beanstalk and go to the Deployments tab of your repository.<\/li>\n<li>Class instance, and it is also important to start Hangfire server in environments that don\u2019t have auto-start feature enabled also.<\/li>\n<\/ul>\n<p>Integrate your apps with SaaS solutions, connect with on-premises applications, and automate your business processes. The task uses an IAM role to access other services. For your real applications, you\u2019ll need to be more selective about the permissions granted to the role you create.<\/p>\n<h2 id=\"toc-4\">Step 1 &#8211; Publish your .Net Core application<\/h2>\n<p>Since Windows Server  does not include this functionality natively, we\u2019ll install a third party server. Bitvise makes an excellent SSH server called WinSSHD . Download the Bitvise installer here and install it on your build server.<\/p>\n<p>As a developer for BuildMaster, this is naturally what I use. All applications are built and packaged within the tool as artifacts, which are stored internally as ZIP files. If you don&#8217;t have network access to the target database, you can ask someone who does have access to use the free tool, SQL Snapper, to take a schema snapshot and email it to you.<\/p>\n<p>You will do this by editing the ConnectionStrings property within the appsettings.json file and add the details of the database. You\u2019ve created a database, made a new MySQL user for the demo application, and granted the newly created user the right privileges to access the database. In the next section, you will start setting up the demo application. Docker is an open-source container platform that simplifies building, deploying, and managing applications.<\/p>\n<p>Now when you run the app, you can see the message on the welcome page, and it will update every time you refresh the page. In addition to the usual options of debugging in IIS or Kestrel, you can also debug locally in Docker. The VS Container tools manage everything for this and the only difference you\u2019ll notice is the local port to which the container sends its output. While creating your application in IIS is listed as a single \u201cStep,\u201d you will take multiple actions. First, create a new IIS Application Pool under the .NET CLR version of \u201cNo Managed Code\u201d.<\/p>\n<p>We had it move them into a backup folder So if you suddenly realised that some of the files should not have been overwritten, you can find the last backup up version of every file in that folder. Finally, after validating the release, we ran a DOS script that primarily used RoboCopy to sync the code over to the live servers, stopping\/starting IIS as it went. For static resources, we only deploy the changed resource. Checkout is done with the command-line version of Subversion and building is done with xbuild (msbuild work-alike from the Mono project). ASP.NET Core provides the flexibility to integrate with any front-end frameworks to handle client-side logic or consume a web service. You could, for example, build a RESTful API with ASP.NET Core and easily consume it with JavaScript frameworks such as Angular, React, and Vue.js.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 How to Run the Docker Image Test the app locally\u00b6 Final Thoughts on ASP.NET and Docker Deploy .NET apps Step 1 &#8211; Publish your .Net Core application If you<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":"","footnotes":""},"categories":[117],"tags":[],"class_list":["post-3909","post","type-post","status-publish","format-standard","hentry","category-software-development-4"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/posts\/3909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/comments?post=3909"}],"version-history":[{"count":1,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/posts\/3909\/revisions"}],"predecessor-version":[{"id":3910,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/posts\/3909\/revisions\/3910"}],"wp:attachment":[{"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/media?parent=3909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/categories?post=3909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hiper.ao\/mideamodocacimbo\/wp-json\/wp\/v2\/tags?post=3909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}