<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dot Net &gt; Metasys Software Pvt Ltd.</title>
	<atom:link href="https://www.metasyssoftware.com/category/dot-net/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.metasyssoftware.com</link>
	<description>Unique People, Unique Solutions</description>
	<lastBuildDate>Wed, 30 Apr 2025 10:30:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.metasyssoftware.com/wp-content/uploads/2023/10/metasys-svg-.png</url>
	<title>Dot Net &gt; Metasys Software Pvt Ltd.</title>
	<link>https://www.metasyssoftware.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Customized Solutions: How MetaSys Software Tailors .NET Applications to Fit Unique Business Needs</title>
		<link>https://www.metasyssoftware.com/dot-net/customized-solutions-how-metasys-software-tailors-net-applications-to-fit-unique-business-needs/</link>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Thu, 06 Jul 2023 12:06:46 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[Dot Net application development company]]></category>
		<category><![CDATA[custom software development company]]></category>
		<category><![CDATA[custom application development services]]></category>
		<category><![CDATA[ASP Dot Net developer]]></category>
		<category><![CDATA[Dot Net developers]]></category>
		<category><![CDATA[Dot Net Development]]></category>
		<category><![CDATA[Dot Net Development Company in India]]></category>
		<category><![CDATA[Dot Net Solutions Outsourcing Company]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=6265</guid>

					<description><![CDATA[<p>Businesses today struggle to keep up with the rapidly shifting expectations of their sector. This is primarily because the specific [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/customized-solutions-how-metasys-software-tailors-net-applications-to-fit-unique-business-needs/">Customized Solutions: How MetaSys Software Tailors .NET Applications to Fit Unique Business Needs</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<div id="pl-6265"  class="panel-layout" ><div id="pg-6265-0"  class="panel-grid panel-no-style" ><div id="pgc-6265-0-0"  class="panel-grid-cell" ><div id="panel-6265-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" ><div class="blog_content panel-widget-style panel-widget-style-for-6265-0-0-0" ><div
			
			class="so-widget-sow-editor so-widget-sow-editor-base"
			
		>
<div class="siteorigin-widget-tinymce textwidget">
	<p>Businesses today struggle to keep up with the rapidly shifting expectations of their sector. This is primarily because the specific needs and goals of a business may not be adequately served by off-the-shelf software solutions.</p>
<p>Customized software development can help in solving this problem. A prominent provider of <a href="https://www.metasyssoftware.com/technologies/dot-net-solutions/">.NET solutions development services</a>, MetaSys Software specializes in customizing applications to meet the unique requirements of companies.</p>
<p>We provide a wide range of services that enable organizations to take advantage of the power of specialized custom software, thanks to our knowledge and expertise in taking on outsourced .NET Core software development projects.</p>
<h2><strong>.Net Solutions Development Services: An Overview</strong></h2>
<p>.Net solutions development services include several different software development techniques that make use of the Microsoft.NET platform. Building desktop, web, and mobile apps may be done on a stable and scalable foundation provided by this framework.</p>
<p>With the use of .NET technologies, MetaSys Software can help create specialized solutions to assist companies to increase productivity, streamlining operations, and accomplishing their goals.</p>
<h2><strong>Building Tailored .NET Applications to Meet Specific Business Needs</strong></h2>
<p>One of MetaSys Software's primary advantages is our capacity to adapt .NET applications to the particular requirements of companies in a variety of industries. We develop a thorough grasp of our clients' unique needs and challenges by working closely with them.</p>
<p>We then create specialized solutions to properly deal with these pain spots. How we, at MetaSys Software, create unique .NET applications is as follows:</p>
<ul>
<li><strong>Gathering Requirements:</strong> Our team at MetaSys Software starts by holding in-depth requirement-gathering sessions with the client. This aids in our comprehension of the client's operational procedures, goals, and particular difficulties they hope to overcome.</li>
<li><strong>Devising Solutions:</strong> The team of skilled .NET developers at MetaSys Software creates a solution architecture based on the requirements acquired and the client's business objectives. The goal is to create a scalable and effective application, this includes choosing the appropriate .NET technologies, frameworks, and tools.</li>
<li><strong>Development and Testing:</strong> Using .NET frameworks such as C# and ASP.NET, the application is then coded during the development phase. For the application's dependability and maintainability, MetaSys Software’s .Net experts adhere to industry best practices and coding standards. To find and address any flaws before deployment, rigorous testing procedures are used as well.</li>
<li><strong>Integration and Deployment:</strong> MetaSys Software is an expert at effortlessly integrating the customized .NET application with current systems and third-party technologies. We guarantee a seamless deployment across the client's infrastructure, ensuring the least amount of disruption in regular operations.</li>
</ul>
<h2><strong>Benefits of Approaching MetaSys Software for .NET Outsourcing Needs</strong></h2>
<p>For businesses looking for specialized solutions, collaborating with a reputable .NET outsourcing provider like MetaSys Software has many advantages. Listed below are a few of them:</p>
<ul>
<li><strong>Experience and Expertise:</strong> MetaSys Software employs a group of highly qualified .NET developers with a wealth of knowledge in creating specialized applications. We keep abreast of the most recent .NET frameworks, technologies, and best practices to guarantee cutting-edge solutions.</li>
<li><strong>Cost Savings:</strong> Contracting MetaSys Software to handle your .NET Core development can save you a lot of money. Businesses can invest in other important areas while more effectively allocating their resources to generate new business.</li>
<li><strong>Flexibility and Scalability:</strong> MetaSys Software creates scalable .NET solutions that can adapt and grow along with the company. We guarantee the ability to add new functions, integrations, and features as your business grows and upgrades.</li>
<li><strong>Time Effectiveness:</strong> By utilizing the knowledge of MetaSys Software, companies can drastically cut down on development time. Our skilled team adheres to effective development techniques and achieves a quicker time-to-market.</li>
<li><strong>Continuous Support and Maintenance:</strong> Comprehensive post-development support and maintenance services are offered by MetaSys Software on an ongoing basis. We make sure that the application receives frequent updates, bug fixes, and security upgrades to ensure continuous seamless operation.</li>
</ul>
<p>With our experience in providing .NET solutions and development services, <a href="https://www.metasyssoftware.com/">MetaSys Software</a> can give your company access to specialized apps that enhance operations and spur expansion. To find out how we can assist you in achieving your company goals, get in touch with our experts right away!</p></div>
</div></div></div></div></div></div>The post <a href="https://www.metasyssoftware.com/dot-net/customized-solutions-how-metasys-software-tailors-net-applications-to-fit-unique-business-needs/">Customized Solutions: How MetaSys Software Tailors .NET Applications to Fit Unique Business Needs</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Implementing Active Directory in a .NET application with Multiple Roles</title>
		<link>https://www.metasyssoftware.com/dot-net/implementing-active-directory-in-a-net-application-with-multiple-roles/</link>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Wed, 18 Aug 2021 13:28:16 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[offshore dot net services]]></category>
		<category><![CDATA[outsourcing dot net services]]></category>
		<category><![CDATA[DotNet run]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<category><![CDATA[DotNet Core 3.0]]></category>
		<category><![CDATA[dot net development company]]></category>
		<category><![CDATA[dot net development services]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3566</guid>

					<description><![CDATA[<p>The need for a directory of users arises when various devices are used on the same network. It is crucial [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/implementing-active-directory-in-a-net-application-with-multiple-roles/">Implementing Active Directory in a .NET application with Multiple Roles</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<div id="pl-3590" class="panel-layout">
<div id="pg-3590-0" class="panel-grid panel-no-style">
<div id="pgc-3590-0-0" class="panel-grid-cell" data-weight="1">
<div id="panel-3590-0-0-0" class="so-panel widget widget_sow-editor panel-first-child panel-last-child" data-index="0" data-style="{&quot;background_image_attachment&quot;:false,&quot;background_display&quot;:&quot;tile&quot;,&quot;cvw_duration&quot;:&quot;300&quot;,&quot;cvw_easing&quot;:&quot;linear&quot;,&quot;cvw_anchor&quot;:&quot;top-bottom&quot;,&quot;cvw_repeat&quot;:&quot;true&quot;,&quot;iw-visible-screen&quot;:&quot;iw-all&quot;,&quot;iw-visible-layout&quot;:&quot;iw-all&quot;}">
<div class="so-widget-sow-editor so-widget-sow-editor-base">
<div class="siteorigin-widget-tinymce textwidget">
<p>The need for a directory of users arises when various devices are used on the same network. It is crucial to locate the directory on one central source, known as Active Directory. It helps validate and authenticate multiple users accessing all resources on the domain with a single sign-on.</p>
<p>In this blog, we will demonstrate how to implement Active Directory in a .NET application.</p>
<p><img fetchpriority="high" decoding="async" class="wp-image-3567 size-full aligncenter" title="Login" src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_1.png" alt="Login" width="378" height="166" /></p>
<h2><strong>What is Active Directory?</strong></h2>
<p>Active Directory is a database adapted by Microsoft to manage multiple devices on a single network. It also can be defined as a set of services that connect users with network resources they need to accomplish projects. In order to obtain access to devices, the network users require it to be validated.</p>
<p>Let us consider a C# .NET application to validate the users using Active Directory on the login page, before implementing Active Directory, we use ASP.NET membership to validate a user on the Login page. The code should look similar to the code below.</p>
<p><img decoding="async" class="wp-image-3568 size-full aligncenter" title="Code " src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_2.png" alt="Code" width="431" height="28" /></p>
<p>Now, to create our own function to validate the user through Active Directory, we use the code below.</p>
<p><img decoding="async" class="wp-image-3569 size-full aligncenter" title="Code " src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_3.png" alt="Code " width="450" height="33" /></p>
<p>VerifyUserAD accepts three parameters, namely, Username, Password and ReturnMsg. ReturnMsg returns the error message if the validation of the user fails against the Active Directory. Refer to the code below.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3570 size-full" title="Code" src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_4.png" alt="Code" width="624" height="381" /></p>
<p>Once the user is validated, the function VertifyUserAD returns an ‘authenticated’ message, based on which the user can take the following relevant actions.</p>
<p>To entirely bypass the <a href="https://www.metasyssoftware.com/case-study-dotnet/">ASP .NET</a> membership, use the Active Directory to validate the user. For an existing application, users can maintain and access a copy of Users in the database, meaning there is no need to modify the whole application end-to-end.</p>
<h2><strong>Role-based implementation</strong></h2>
<p>For role-based implementation, we use the DirectorySearcher class to fetch the property ‘memberOf’ for that user in Active Directory, as shown in the code below.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3572 size-full" title="Code" src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_5.png" alt="Code " width="488" height="62" /></p>
<p>This enables users to find the list of Groups in which the user is assigned using the SearchResult.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3573 size-full" title="Search result " src="https://www.metasyssoftware.com/wp-content/uploads/2022/07/dotnet_6.png" alt="Search result " width="416" height="76" /></p>
<p>Use the command below to install Directory Services using the package manager console.</p>
<p>Install-Package System.DirectoryServices</p>
<p>Hope this blog will help you in the implementation of Active Directory in Dot Net application. For more information on .Net services, please visit <a href="https://www.metasyssoftware.com/dot-net">https://www.metasyssoftware.com/dot-net</a></p>
</div>
</div>
</div>
</div>
</div>
</div>The post <a href="https://www.metasyssoftware.com/dot-net/implementing-active-directory-in-a-net-application-with-multiple-roles/">Implementing Active Directory in a .NET application with Multiple Roles</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What, Why, and How of Microservices?</title>
		<link>https://www.metasyssoftware.com/dot-net/microservices/</link>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 09 Apr 2021 08:20:04 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[ASP.Net developers]]></category>
		<category><![CDATA[DotNet programmer]]></category>
		<category><![CDATA[Dot Net application development company]]></category>
		<category><![CDATA[Dot Net application developers]]></category>
		<category><![CDATA[DotNet run]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<category><![CDATA[DotNet application development]]></category>
		<category><![CDATA[Microservices. ASP.Net]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3533</guid>

					<description><![CDATA[<p>What are Microservices? Historically applications were Monolithic applications where the architecture was a unified and closely coupled integrated unit. Microservices, [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/microservices/">What, Why, and How of Microservices?</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<h1><strong>What are Microservices?</strong></h1>
<p>Historically applications were Monolithic applications where the architecture was a unified and closely coupled integrated unit. Microservices, on the contrary, are smaller independent unified business modules. Each module in Microservices performs its own unique business functionality, at times with dedicated databases.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3534 size-full" title="Monolith and Microservices" src="https://www.metasyssoftware.com/wp-content/uploads/Monolith-and-Microservices.jpg" alt="Monolith and Microservices" width="750" height="390" /></p>
<p>As shown in the above image, the architecture of Microservices consists of independent smaller units, which are interconnected and managed with the help of API Gateway.</p>
<h2><strong>Why opt for Microservices instead of Monolithic Applications?</strong></h2>
<p>A Monolithic application is a big container with a collection of different smaller independent parts combined and coupled tightly together, which creates varied inseparable disadvantages.</p>
<p>Here are a few disadvantages of Monolithic services.</p>
<p style="text-align: left;">• Inflexible – Monolithic applications cannot be built using different technologies.<br />
• Unreliable – One bug or issue in the application may result in the shutdown of the entire system.<br />
• Not Scalable – The tightly coupled nature of a Monolithic application does not scale easily, as workloads cannot be easily distributed across multiple nodes or hardware.<br />
• Hinders continuous deployment – Continuous delivery and deployment in short cycles of time is difficult due to the monolithic nature of the application<br />
• Longer development timelines – The development of Monolithic applications requires lengthy timelines since every feature demands rebuilding of the entire application.<br />
• Complex applications –Incorporating changes in complex monolithic applications become expensive and a maintenance nightmare.</p>
<p>As mentioned earlier, a microservices application is a collection of small independent services designed for different business purposes. In Microservices, each individual service is self-contained. Communication with each self-contained unit is managed by an API Gateway. There are various API Gateways available, and the client can communicate with different business functions of Microservices via the API Gateway.</p>
<h2><strong>Features of Microservices</strong></h2>
<p>• Decoupled Components – Decoupled services in Microservices architecture enables the entire application to be built, modified, and scaled up quickly with ease.<br />
• Componentization –As each service is an independent component, they can be easily individually replaced and upgraded.</p>
<p>• Undivided business capability –Each Microservice is effortless and focuses on a single business capability</p>
<p>• Autonomy – Developers and teams can work with minimal dependencies, thus increasing development speed and turnaround time.<br />
• Continuous delivery – Allows frequent releases of features by systematic automation of application creation, testing, and approval.<br />
• Responsibility – Microservices treat applications as products and not projects, ensuring the responsibility is in-built.<br />
• Decentralized governance – With no fixed or standardized tool or any technology patterns, developers have the freedom to choose tools based on the requirements to accomplish the job within stipulated timelines.<br />
• Agility – New features can be added easily and quickly developed. A Microservices architecture supports agile development.</p>
<h2><strong>Advantages of Microservices</strong></h2>
<p>• Independent development – all services are independent of their business purposes and usage.<br />
• Independent deployment –The architecture of Microservices allows services to be individually deployed.<br />
• Isolation of fault – the system continues to function even if one service or a part of the application ceases to work.<br />
• Mixed technologies stack – it is not mandatory to use only one of the platforms for development. We can use multiple platforms and built Microservices architecture as per the need of the application.<br />
• Individual scaling – scale different individual components and deploy them individually without affecting other components.</p>
<h2><strong>Best Practices to Design Microservices</strong></h2>
<p>• Separate data store for each Microservices<br />
• Maintain the level of code maturity<br />
• Separate build for each Microservice<br />
• Deploy services into containers<br />
• Treat server as stateless</p>
<h2><strong>Disadvantages of Microservices</strong></h2>
<p>• Huge number of services makes application management tough to track<br />
• The developer will require to solve issues pertaining to Network latency and load balancing</p>
<h2><strong>How to create Microservices and API Gateway interface?</strong></h2>
<p>Note: This is for those who are familiar with <a href="https://www.metasyssoftware.com/dot-net-development/">ASP.Net</a> project concepts.</p>
<p>In this demo, we&#8217;ll cover the following points,</p>
<p>1. Create two Microservices<br />
2. Create an API Gateway<br />
3. For creating the demo project VS2019 or VS Code, .Net Core 3.1 SDK needs to be installed on the machine</p>
<h2><strong>Steps to Create a Microservices Demo Project</strong></h2>
<p><strong>Step 1</strong><br />
• Create two .Net Core web API template project for different purposes<br />
• First, UserService project for user data purpose<br />
• Second, ProductService project for product data purpose<br />
• Create UserController in UserService project and ProductController in ProductService<br />
• Add simple action into the controller that returns the string for testing purpose<br />
• If required, connect API project with the database</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3535 size-full" title="Simplemicroservice" src="https://www.metasyssoftware.com/wp-content/uploads/Simplemicroservice.png" alt="Simplemicroservice" width="333" height="491" /></p>
<p><strong>Step 2 &#8211; </strong>Test the above web API project with the help of postman individually</p>
<h3><strong>1.) Product Service Output</strong></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3536 size-full" title="Product service output" src="https://www.metasyssoftware.com/wp-content/uploads/Product-service-output.png" alt="Product service output" width="755" height="343" /></p>
<h3><strong>2.) User Service Output</strong></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3537 size-full" title="User service output" src="https://www.metasyssoftware.com/wp-content/uploads/User-service-output.png" alt="User service output" width="725" height="448" /></p>
<p>&nbsp;</p>
<p><strong>Step 3 &#8211; </strong>Create .net core web empty template project for API Gateway with the desired name. In this instance, we chose ‘APIGateway’</p>
<p><strong>Step 4 &#8211; </strong>Include the dependency of ocelot API Gateway from NuGet package manager</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3538 size-full" title="Ocelot" src="https://www.metasyssoftware.com/wp-content/uploads/Ocelot.png" alt="Ocelot" width="578" height="166" /></p>
<p style="text-align: left;"><strong>Step 5 –</strong><br />
• Create a JSON file to configure API Gateway for web API and assign a name. In this instance, it is ‘ocelot.json’<br />
• Include the following code text to the JSON file for configuring the API Gateway. In this demo project, API Gateway is used for routing purpose. API Gateway serves different purposes such as:<br />
o Routing<br />
o Caching<br />
o Logging<br />
o Authentication<br />
o Authorization<br />
o Load balancing<br />
o Service Discovery</p>
<p><img loading="lazy" decoding="async" class=" wp-image-3539 aligncenter" src="https://www.metasyssoftware.com/wp-content/uploads/Ocelot.JSON.png" alt="Ocelot.JSON" width="947" height="453" /></p>
<p style="text-align: center;">Note: In the above image, detail of ocelot.JSON are in the comments</p>
<p style="text-align: left;">Some details of ocelot.JSON are considered while configuring API Gateway from the ocelot package.</p>
<p>• The request forwarded to URL set byDownstreamPathTemplate, DownstreamHostAndPorts and DownstreamScheme<br />
• Ocelot will use the UpstreamPathTemplate URL to identify where the DownstreamPathTemplate request is to be used.<br />
• Ocelot uses UpstreamHttpMethod to make a difference between multiple requests with the same URLs but with different HTTP verbs. We can set a specific list of HTTP Methods or set a blank to allow any of them.</p>
<p><strong>Step 6 &#8211;</strong> Configure the JSON file for application configuration as shown below in Program.cs file</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3540 size-full" title="Program.cs file" src="https://www.metasyssoftware.com/wp-content/uploads/Program.cs-file.png" alt="Program.cs file" width="1059" height="529" /></p>
<p><strong>Step 7 –</strong> Set Ocelot middleware ASP.Net project as shown below in Startup.cs file</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3541 size-full" title="Startup.cs file" src="https://www.metasyssoftware.com/wp-content/uploads/Startup.cs-file.png" alt="Startup.cs file" width="1056" height="510" /></p>
<p><strong>Step 8 –</strong> Run the application to test the working condition of API Gateway. Before running, make sure all projects are marked as startup projects. To handle request from the API Gateway application UserService and ProductService must be running.</p>
<p>Note: If you are testing project through VS2019, the following steps will help you mark all projects as the startup project.</p>
<p><strong>Step 9 &#8211;</strong> Right-click on the main solution and click on the property, alter the settings as shown below</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3542 size-full" title="Simplemicroservice image 2" src="https://www.metasyssoftware.com/wp-content/uploads/Simplemicroservice-image-2.png" alt="Simplemicroservice image 2" width="1115" height="548" /><br />
<strong>Step 10 &#8211;</strong> Below screen shows the final output. When you run the project, all three startup projects will be running, at times, on different ports. We need to check if Customer and User service received a call from the API Gateway project, as shown below.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3543" title="API Gateway project" src="https://www.metasyssoftware.com/wp-content/uploads/API-Gateway-project.png" alt="API Gateway project" width="1098" height="585" /></p>
<p>&nbsp;</p>
<p>Hope this article has helped you understand the know-how of Microservices. If you have any questions, please feel free to drop them in our comments section. Happy to Help!<br />
Happy Coding!</p>The post <a href="https://www.metasyssoftware.com/dot-net/microservices/">What, Why, and How of Microservices?</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Exporting JSON data from your ASP .Net Web API to a Microsoft Excel Spreadsheet using Macro Programming</title>
		<link>https://www.metasyssoftware.com/dot-net/exporting-json-data-from-asp-net-web-api/</link>
					<comments>https://www.metasyssoftware.com/dot-net/exporting-json-data-from-asp-net-web-api/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 20 Nov 2020 12:29:21 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[DotNet application development]]></category>
		<category><![CDATA[Web API]]></category>
		<category><![CDATA[dot net developer]]></category>
		<category><![CDATA[dot net development company]]></category>
		<category><![CDATA[dot net programmer]]></category>
		<guid isPermaLink="false">http://stage.metasyssoftware.com/?p=3438</guid>

					<description><![CDATA[<p>Exporting your data to an excel spread sheet is a very common requirement, but what if this data is coming [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/exporting-json-data-from-asp-net-web-api/">Exporting JSON data from your ASP .Net Web API to a Microsoft Excel Spreadsheet using Macro Programming</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p>Exporting your data to an excel spread sheet is a very common requirement, but what if this data is coming from a  database as a Web API  service . This is possible using Macro Programming.</p>
<p>In this article, I would like to give a  brief overview of how to export your data from the ASP .net Web API controller to your Excel Spread Sheet on a specific look up field using a live example.</p>
<p>Example:  We had a sport lookup field which populated the data from a second tab sheet where there was Master data.</p>
<p>Sports lookup field on Excel tab sheet 1</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3439 size-full" src="https://www.metasyssoftware.com/wp-content/uploads/Sportlookupfield-1.png" alt="Sport Look Up Field" width="266" height="248" /><br />
We had a web application developed in MVC and a Web API. The web application had a feature where the end-users could download an excel file template with columns of static data on one sheet and master data present on the second sheet using data validations (Feature of Excel). As the data fields increased we had to keep updating this excel template with the static data for selection so that the end users could use the template with the latest data. As this was quite a tedious process, we decided to write a program in macro. The macro program was supposed to get the latest data from the database and populate the excel file with the same fields whenever you opened it.</p>
<p>Master values for the Sports look-up field from the second tab sheet.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3224 size-full" title="Mastervalues 2" src="https://www.metasyssoftware.com/wp-content/uploads/Mastervalues-2.png" alt="Mastervalues 2" width="122" height="464" /></p>
<p>On the Web API side, we had the controller Method Get() returning a JSON object with all the data in it. You can name it as GetSportsData(). On the macro program side, we consumed the service from the API with the below code.</p>
<p>Here is the following code snippet which we wrote for macro programming. The programming langauge which was used here is VB;</p>
<p>Dim requestObject As Object</p>
<p>Dim URL As String</p>
<p>Dim boolAsync As Boolean</p>
<p>Dim strResponse As String</p>
<p>Set requestObject = CreateObject(&#8220;MSXML2.XMLHTTP&#8221;)</p>
<p>URL = http://mylittleblog.com/api/GetSportsData &lt;&gt;</p>
<p>boolAsync = True</p>
<p>With requestObject</p>
<p>.Open &#8220;GET&#8221;, URL, boolAsync</p>
<p>.SetRequestHeader &#8220;Content-Type&#8221;, &#8220;application/json&#8221;</p>
<p>.Send</p>
<p>While requestObject.readyState &lt;&gt; 4</p>
<p>DoEvents</p>
<p>Wend</p>
<p>strResponse = .ResponseText</p>
<p>End With</p>
<p>The variable &#8216;strResponse‘ contains the JSON object and the data from this JSON object can be used in the sheet and formatted into rows and columns.</p>
<p>The readyState property holds the status of the XMLHttpRequest which you can find in any AJAX Server reponses.</p>
<p>readyState</p>
<p>The various status of the XMLHttpRequest.</p>
<p>0: request not initialized<br />
1: server connection established<br />
2: request received<br />
3: processing request<br />
4: request finished and response is ready</p>
<p>Points to consider:</p>
<p>You must make sure that while executing the macro program, the WEB API service must be running or else we will not get the latest data from the API.<br />
If you are not able to hit the WEB API endpoint, then you can write the code to populate the data from the master tab sheet as it may happen that the user may not be connected to the internet.</p>
<p>This way, one can find a solution to connect to the WEB API world from the Microsoft Excel sheet. We at MetaSys Software have been building such customized solutions using Microsoft technologies for clients across different industry verticals. For more info. https://www.metasyssoftware.com/dot-net</p>The post <a href="https://www.metasyssoftware.com/dot-net/exporting-json-data-from-asp-net-web-api/">Exporting JSON data from your ASP .Net Web API to a Microsoft Excel Spreadsheet using Macro Programming</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/exporting-json-data-from-asp-net-web-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How MetaSys handled performance Issues related to Entity Framework</title>
		<link>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/</link>
					<comments>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 08 May 2020 12:27:31 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[web application development]]></category>
		<category><![CDATA[Dot Net application development]]></category>
		<category><![CDATA[Dot NET Software Services India]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<category><![CDATA[ASP web application]]></category>
		<category><![CDATA[DotNet Development Company]]></category>
		<category><![CDATA[Enterprise Application Integration Services]]></category>
		<category><![CDATA[Offshore DotNet development company]]></category>
		<category><![CDATA[Legacy app migration]]></category>
		<category><![CDATA[Enterprise app development]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3060</guid>

					<description><![CDATA[<p>In building web applications for clients, two important factors we at MetaSys focus on are performance, and speed of development. [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/">How MetaSys handled performance Issues related to Entity Framework</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p>In building web applications for clients, two important factors we at MetaSys focus on are performance, and speed of development. Good performance is crucial for the success of any web application, as users expect pages and screens to load instantly. Users will quickly stop using slow programs in favour of other web or mobile applications. Development speed is also important, as clients currently expect rapid application development.</p>
<p>We have experienced difficulties in both these areas using the Entity Framework, and in this article, I will be describing the cause of the issues, and the solutions that we at MetaSys came up with. If you are having performance issues with Entity Framework, this article might provide some useful insight and suggestions.</p>
<h2><strong>Our issues with the  Entity Framework: </strong></h2>
<p>Let me quickly brief you about how we started using Entity Framework. We started application development of a .NET web application roughly 10 years ago. At the time, Entity Framework was a new concept introduced by Microsoft. Its purpose was to allow the developer to more easily write SQL queries including calculations, it also simplified CRUD operations and handled results into objects. We used Entity Framework for our web application, and during initial testing, everything was working very well.</p>
<p>The performance issues arose after the client started using the application, particularly as the amount of data in the database started growing. We used the Ants Profiler tool to identify the root cause of poor performance. It showed us that stored procedures were executed fast without any significant delay, but with the Entity Framework code, it was taking a long time to render data on a page.</p>
<p>Another issue was that the SQL database for the application had more than 300 tables. Updating the Entity model with a change in any of the tables would take a very long time. It was also difficult to merge changes of only one developer, or only one module, as it would update the entire Entity model. This made it a challenge to release the application module-wise.</p>
<h2><strong>MetaSys Approach :</strong></h2>
<p>To overcome performance issues, we first tried to change some of the settings of EDMX, and secondly updated the Entity Framework to the latest version. Neither made much difference to the performance. In the meanwhile, the applications database size and complexity kept on growing, as the application grew.</p>
<p>Eventually, we replaced the Entity with ADO.NET, and we immediately saw a significant improvement in performance. The difficulty we faced with the conversion was how to handle the ADO.NET result into objects. We resolved this using the open-source Dapper ORM. Dapper is a framework for mapping relational object models. Like Entity Framework, It eases the handling of data in objects and supports multiple data query results. This solution not only improved the page loading time, but as there was no need to update the entity model, the developer’s time also reduced significantly.</p>
<p>So far we have found that using ADO.Net with Dapper ORM solved all the problems we experienced with the Entity Framework.</p>
<p><strong>About Us:</strong></p>
<p>Our team of Dot Net developers have experience of building Dot Net solutions using Microsoft technologies for more than two decades using VB to latest .Net Core applications. For more info. <a href="https://www.metasyssoftware.com/dot-net">https://www.metasyssoftware.com/dot-net</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/">How MetaSys handled performance Issues related to Entity Framework</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Using the NReco pdf writing tool</title>
		<link>https://www.metasyssoftware.com/dot-net/using-the-nreco-pdf-writing-tool/</link>
					<comments>https://www.metasyssoftware.com/dot-net/using-the-nreco-pdf-writing-tool/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 24 Apr 2020 11:48:33 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[DotNetCore 3.0 developers]]></category>
		<category><![CDATA[ASP web application]]></category>
		<category><![CDATA[NReco]]></category>
		<category><![CDATA[wkhtml]]></category>
		<category><![CDATA[.NetCore]]></category>
		<category><![CDATA[PDF writing tools]]></category>
		<category><![CDATA[DotNet run]]></category>
		<category><![CDATA[DotNet Core 3.0]]></category>
		<category><![CDATA[ASP.NETCore]]></category>
		<category><![CDATA[Dot Net application development]]></category>
		<category><![CDATA[Offshore custom software development solutions]]></category>
		<category><![CDATA[Dot NET Software Services India]]></category>
		<category><![CDATA[Offshore custom software development services]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3045</guid>

					<description><![CDATA[<p>These days financial, marketing and e-commerce websites allow us to download reports and receipts in pdf form. The Pdf file [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/using-the-nreco-pdf-writing-tool/">Using the NReco pdf writing tool</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p>These days financial, marketing and e-commerce websites allow us to download reports and receipts in pdf form. The Pdf file format is a convenient way of sharing information, as there is a high level of confidence that the user can open the document with the intended look and feel. This is even true for documents containing charts, images and text-based on dynamic data. There are many pdf writing tools available online, of which two commonly used ones are wkhtmltopdf and NReco. This blog article details the recent switch we made from wkhtmltopdf to NReco, and the numerous benefits of the switch.</p>
<p><strong>Our experience with wkhtmltopdf</strong></p>
<p>In the past, we generally used wkhtmltopdf to implement pdf functionality in our web applications. It was a practical choice, as it is an open-source tool with which we have extensive development experience already. The converter tool is given a destination file path and a URL of the report web page. Since the download button is contained within the generated report in web page form, the pdf conversion adds an unnecessary report generation step. To avoid this inefficiency, we wanted to explore different pdf converter options.</p>
<p><strong>Our experience with NReco</strong></p>
<p>We came across a library in a NuGet package called .Net Reusable Components (NReco), which contains a collection of reusable components for the .NET platform including a pdf conversion tool. The only input the tool requires is either a URL to the web page or the report contents as an HTML string. NReco is easier to implement, requiring only two to three lines of code. Even reports containing charts and images created using a third-party tool can be rendered to a pdf without additional coding. All CSS, fonts and images in HTML are supported by the NReco conversion tool.</p>
<p>The NReco tool is easy to install, and performs efficiently, taking much less time than wkhtmltopdf to generate a pdf. Although we currently only use NReco for pdf conversion, many other tools are available.</p>
<p>A major advantage of NReco, is that it supports both the .Net framework and .Net Core. Since we are looking to upgrade a number of our applications to .Net Core, it saves us considerable development time if we can use the existing code for pdf conversion.</p>
<p>To conclude, using NReco instead of wkhtmltopdf for pdf conversion has many benefits including easy implementation, performance, and compatibility with .Net Core.</p>
<p><strong>About us</strong></p>
<p>Our team of .Net developers have successfully delivered applications using ASP.Net Core, .Net &amp; ASP.Net framework, Visual Studio, Microsoft SQL Server, Team Foundation Server, Javascript and JQuery. For more info &#8211; <a href="https://www.metasyssoftware.com/dot-net">https://www.metasyssoftware.com/dot-net</a></p>The post <a href="https://www.metasyssoftware.com/dot-net/using-the-nreco-pdf-writing-tool/">Using the NReco pdf writing tool</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/using-the-nreco-pdf-writing-tool/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Case Study – Building a Dashboard using Google charts in ASP.NET</title>
		<link>https://www.metasyssoftware.com/dot-net/a-case-study-building-a-dashboard-using-google-charts-in-asp-net/</link>
					<comments>https://www.metasyssoftware.com/dot-net/a-case-study-building-a-dashboard-using-google-charts-in-asp-net/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Thu, 16 Apr 2020 08:18:07 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[ASP Dot Net developer]]></category>
		<category><![CDATA[ASP.Net core]]></category>
		<category><![CDATA[DotNet Development Company]]></category>
		<category><![CDATA[outsourcing dot net services]]></category>
		<category><![CDATA[Offshore DotNet development company]]></category>
		<category><![CDATA[Database Consultants]]></category>
		<category><![CDATA[Google charts]]></category>
		<category><![CDATA[Dashbaord]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP web application]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3027</guid>

					<description><![CDATA[<p>Tracking KPIs, metrics and any other relevant data is important for any business looking to improve their performance, and proper [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/a-case-study-building-a-dashboard-using-google-charts-in-asp-net/">A Case Study – Building a Dashboard using Google charts in ASP.NET</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p>Tracking KPIs, metrics and any other relevant data is important for any business looking to improve their performance, and proper visualisation can be helpful for identifying trends and patterns. A useful information management tool is a dashboard, which can be used to provide a graphical summary of all relevant information. This article details a recent project, in which we successfully built a dashboard for a client using Google charts.</p>
<p><strong>Case study</strong></p>
<p>Our client wanted a way to efficiently track day to day reporting, check the status and progress of different tasks, and financial metrics like revenue, costs and profit-loss data. Previously, they had to access several different reports to analyse the overall business performance. We built a dashboard that allowed them to visualise the day to day business activities on a single screen, saving time and energy.</p>
<p>We decided to use Google Charts for a number of reasons:</p>
<ul>
<li>Google Charts are a good tool for visualization as the graphics are highly interactive.</li>
<li>There is a large gallery of chart types that allow for a lot of customisation for representing different kinds of data.</li>
<li>It is compatible with different browsers.</li>
</ul>
<p><strong>Technology and Implementation</strong></p>
<p>For the implementation of the dashboard we used jQuery and ASP.net. These technologies are easy to use, and allow for easy rendering of the page. Furthermore, Google Charts have an inbuilt library in jQuery.</p>
<p><strong>Implementation steps of Google chart in ASP.NET</strong></p>
<p>Before the implementation, all the Google Chart Libraries and the visualization API need to be loaded. The following procedure was used to include a chart in ASP.net:</p>
<ol>
<li>Create an html div to hold the chart as per our requirement.</li>
<li>Ajax call for loading data in the chart</li>
<li>Call the Visualization API before assigning it to the chart and set the chart options like legends and axis titles</li>
<li>Assign the div id to the chart</li>
<li>The call to the chart depends on the chart type (barchart, donut chart etc.).</li>
<li>Call the draw method of the Google chart and set the chart option.</li>
</ol>
<p><strong>Chart examples</strong></p>
<p>Donut Chart:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3028 size-full" title="donut chart" src="https://www.metasyssoftware.com/wp-content/uploads/donut-chart-.png" alt="donut chart" width="862" height="531" /></p>
<p>&nbsp;</p>
<p>Stack Chart:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3029 size-full" title="stack chart" src="https://www.metasyssoftware.com/wp-content/uploads/stack-chart.png" alt="stack chart" width="603" height="526" /></p>
<p><strong>Matching client requirements</strong></p>
<p>Our main challenge was to modify the chart to meet the clients needs.  For example, the client specified that the revenue chart was to be displayed in a rectangular format without a legend, or axes. We identified the “Timeline chart” as the most appropriate chart option amongst the templates although it still required customization. We modified the inbuilt generated SVG code from JavaScript by specifying the position and width and by hiding the x- and y-axes to match the client requirements.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3039 size-full" title="NG &amp; MNG data" src="https://www.metasyssoftware.com/wp-content/uploads/NG-MNG-data.jpg" alt="NG &amp; MNG data" width="627" height="50" /></p>
<p>If you are interested in a similar implementation of data visualisation, feel free to contact us. Our team has extensive experience in handling diverse custom ASP.NET application projects. <a href="https://www.metasyssoftware.com/contact">https://www.metasyssoftware.com/contact</a></p>The post <a href="https://www.metasyssoftware.com/dot-net/a-case-study-building-a-dashboard-using-google-charts-in-asp-net/">A Case Study – Building a Dashboard using Google charts in ASP.NET</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/a-case-study-building-a-dashboard-using-google-charts-in-asp-net/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Converting an MVC web APP to .Net Core Web App</title>
		<link>https://www.metasyssoftware.com/dot-net/converting-an-mvc-web-app-to-net-core-web-app/</link>
					<comments>https://www.metasyssoftware.com/dot-net/converting-an-mvc-web-app-to-net-core-web-app/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Mon, 13 Apr 2020 07:56:19 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[Dot Net application development DotNet Core 3.0]]></category>
		<category><![CDATA[ASP web application]]></category>
		<category><![CDATA[ASP Dot Net developer]]></category>
		<category><![CDATA[Web application development company]]></category>
		<category><![CDATA[ASP.Net Development Company in India]]></category>
		<category><![CDATA[DotNet run]]></category>
		<category><![CDATA[Dot NET Software Services India]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<category><![CDATA[DotNetCore 3.0 developers]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=2996</guid>

					<description><![CDATA[<p>History Like many others, we have been working on MVC 5 based web applications since 2013. With Microsoft planning significant [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/converting-an-mvc-web-app-to-net-core-web-app/">Converting an MVC web APP to .Net Core Web App</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p><strong>History</strong></p>
<p>Like many others, we have been working on MVC 5 based web applications since 2013. With Microsoft planning significant investment into the open-source development platform .Net core, we saw the advantage of migrating our current applications to the new platform sooner rather than later.<br />
The first version of .Net Core 1.0 was released by Microsoft in 2014, followed by several versions, most recently .Net 3.1.1 in January 2020. At the time that we started the migration in 2019, we found .Net 2.2 to be a stable version with a well-developed community advanced enough to answer our queries. The web application that we decided to convert to .Net Core was developed in 2017 on the .Net 4.5.1 MVC platform.</p>
<p><strong>Initial considerations</strong><br />
Evaluating the conversion risk is an essential first step before convincing the client to invest in the new technology. Several factors need to be considered, including the project timeline, the scale of the project and the available resources. Using a team that has worked with the technology for at least a year or two is the best option for reducing risk in such a conversion project. A great option is using interns as an additional resource, as the project provides them with the excitement of learning something new.</p>
<p><strong>HOW to start?</strong><br />
The first step is to check the old application with the tool called NET Portability Analyzer Tool. This tool analyzes assemblies and provides a detailed report on the .Net APIs that are missing for the applications or libraries to be portable on .Net Core. It is not a tool which will automatically convert the .NET MVC app to a .NET Core, but it is a useful initial guide towards identifying the portable and non-portable items.<br />
The tool details are available on the Microsoft website:<br />
https://docs.microsoft.com/en-us/dotnet/standard/analyzers/portability-analyzer<br />
The tool can be downloaded using the link: https://marketplace.visualstudio.com/items?itemName=ConnieYau.NETPortabilityAnalyzer</p>
<p>The screenshots below show some of the tool outputs:<br />
<strong>Portability Summary</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2998 size-full" title="Portability summary" src="https://www.metasyssoftware.com/wp-content/uploads/Portability-summary-image-1.jpg" alt="Portability summary" width="975" height="254" /></p>
<p><strong>Details</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2999 size-full" title="Details image" src="https://www.metasyssoftware.com/wp-content/uploads/details-image-2.jpg" alt="Details image " width="975" height="206" /></p>
<p><strong>Missing Assemblies</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3000 size-full" title="Missing assemblies" src="https://www.metasyssoftware.com/wp-content/uploads/Missing-assemblies-3.jpg" alt="Missing assemblies " width="975" height="328" /></p>
<p><strong>Creating the new project</strong><br />
It is not useful to open the entire MVC project as a .Net Core project immediately in Visual Studio (VS) 2017, as it will result in a huge list of errors that are difficult to address one by one. A better approach is to create an empty project and copy a few models, controllers, views or corresponding files at a time into the newly created .Net Core project in the VS 2017 environment. After each addition, build the project, analyze and fix the errors.<br />
What were my next steps? Let me give you some technical bullets here.<br />
One of the important steps is to move the connection strings settings from Web.Config to JSON settings in the file named as AppSettings.JSON .<br />
It is necessary to add a middle layer file for the session and call it in the StartUp.cs file. so that all the session objects set on the Global. asax file that do not exist on the .Net Core project will go into the middle layer file and register as a service in StartUp.cs. The Session dependency is included by adding AddSession into ConfigureServices of StartUp.cs<br />
Convert all of your class libraries created separately to .Net standard Class Libraries wherever required by creating a .NET Standard Project and add the references wherever required for the new .NET Core Web App project you have created.<br />
All static files like Images, icons, CSS, JS, email templates need to be copied into WWWRoot. The file locations have to be changed across the project wherever they are referenced.<br />
The Route.config file should be replaced by adding the MapRoute in the StartUp.cs file.<br />
We can create Set and Get extension functions Like SetObject and GetObject for handling session operations as shown below</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3001 size-full" title="set object and get object" src="https://www.metasyssoftware.com/wp-content/uploads/set-object-and-get-object-image-4.png" alt="set object and get object" width="823" height="277" /></p>
<p>We have two parts in our project Web App and Web API so we have to add the DI (Dependency Injection) for calling WebAPIClient and HostingEnvironment (IWebAPIClient webapiclient, IHostingEnvironment env)</p>
<p><strong>What can be done on SSL redirection?</strong><br />
We have to add following setting in AppSettings.json file</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3002 size-full" title="image" src="https://www.metasyssoftware.com/wp-content/uploads/app-setting-image-5.jpg" alt="image" width="334" height="63" /></p>
<p>Also we have to add following code in Startup.cs</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3003 size-full" title="startup cs" src="https://www.metasyssoftware.com/wp-content/uploads/startup-cs-6.jpg" alt="startup cs" width="463" height="111" /></p>
<p>Third party Dlls<br />
Every project has some third party Dlls used in the project for a specific purpose. For our application, the third party Dlls like EPPlus, ICSharpCode.SharpZipLib library worked on the .NET Core project without any issues. However, it is possible that certain third party tool kits are not compatible with .NET Core. Some can be downloaded from NuGet or by contacting a third party vendor.<br />
There may be instances where third party assemblies used in the project do not work and cannot be bought from third party vendors. In this case, I would recommend finding a solution that omits the tool altogether. It pays to think of this early whilst updating any web app that might be migrated in the future. This way incompatible third party Dlls can be avoided in favor of compatible tools, in order to save work at the migration stage. One such example is Nreco PDF to Image renderer, which has a version that is compatible with .Net Core available from a third party vendor.</p>
<p>The technical points in this article refer to architectural changes, I will cover the common conversion issues and deployment in the next article so stay tuned…</p>
<p>For more details regarding the kind of ASP web application projects which we handle https://www.metasyssoftware.com/case-study-dotnet</p>The post <a href="https://www.metasyssoftware.com/dot-net/converting-an-mvc-web-app-to-net-core-web-app/">Converting an MVC web APP to .Net Core Web App</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/converting-an-mvc-web-app-to-net-core-web-app/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
