
Senior Web Developer
Irth SolutionsProject Manager
NextUpgrad Web SolutionsSenior Lead Engineer
Espire InfolabsSenior Software Engineer
AntworksSenior Software Engineer
Midas Web ServicesTechnical Specialist
BirlasoftSenior Software Engineer
MicrolandSenior Software Engineer
Accenture Solutions
Azure DevOps

ASP.NET Core

Javascript

Python
Hi. And I plan to work with, uh, Microsoft Technologies, and, uh, Windows Development. And, uh, in my current role as a technical lead in, uh, next upgrade, I'm working with the US based client who's based in, uh, domain of medical simulation. And, uh, what, uh, what we do here is we provide this for the entire IT staffing support to the client. We are basically, um, helping them with support. We are helping them with deployments. We are helping them with end to end deployments. Uh, in the most recent projects that I have worked on, I have more migrated, uh, desktop application the client had, uh, for their product from dotnet frame dot 4.6.1 to dotnet8. We have migrated their API from dotnet 4.1 to dotnet8. We have worked on migrating their application from this platform to and, uh, we have also worked on adding the Azure component to the web application. Uh, in my past projects, I have worked with various companies. I've worked with App Center, Microsoft, Microland, Antwerp, and I have worked with the various clients in different countries. And we have, uh, worked in different domains in, uh, banking and financial sector, in logistics and transportation, as well as in Vancouver. Thank you.
In order to migrate, uh, we will have to first understand the, like, the structure of the application here. For example, if you have a dot net, uh, framework in 4.6 to 4.7, but it is following all the relevant structure. For example, the N tier architecture, then you could be able should be able to use a dot net update assistant to migrate the application as this. However, if it feels like that the application is only, like, uh, using the old way of writing code, some analytic application with, uh, no business layer, no data access layer, or no, uh, any, uh, sense conventional sense in that we have in modern practices such as dependency injection, then it is best to restart the application and understand the application scratch from scratch and, uh, rewrite the application from scratch. So So for example, uh, we work from migrating of Inbox application from dotnet for for 4.7 to dotnet, uh, 8. And we realized that this application was must be written as, uh, uh, as a traditional way of writing code. They had the forms. They had the code behind it, and they had the API that was integrated directly into the code behind. So we decided, okay, no, we are going to follow an anti architecture. And we had it, uh, into the port. So that way, we are able to segregate different layer, like data access layer, we segregated the middleware, we added the plantation layer, and we ensured that the API that was being connected, that we were using the consumer API in the business there. And the data access there that was, uh, connecting to the database had a separate layer by. And we added a logging to it so that we can use the entire exception handling framework of the dot net 4. And, uh, that way, we were able to keep the code key. We added the log in to it. We added the best practices of DIE so that we can, uh, end, uh, design pattern conventions of transient or scope or singleton, uh, with the stack to how the objects are created or injected in the code, uh, that way.
So, basically, conferencing is, uh, when you have multiple users connected to the same application. And the parallelism is when the same process is basically they're not being done on separate text. Uh, at least that's how I would interpret it. Conferencing can use can be solved for different users by maintaining different sessions for different users. And parallelism basically means that we will have to have asynchronous numbers in the API that we are consuming. That way, various processes can go in parallel, and we won't have to like, it won't affect any users working in parallel at all.
The best way we have the communication and dot net to our application is basically, uh, uh, basically to add a API to the back end. Uh, so, basically, what happens is whatever, uh, like, uh, we have a component in different end application, and every that message is that has been added to the front end. It has been sent out as a JSON request to the API. And because API can handle conferencing, you have got real time responses from the APIs, and, uh, multiple users can log in to the application. And it basically will be able to, uh, get, uh, various requests from different, uh, clients, and I should be able to respond to them in real time.
So the extension methods mostly adhere to the responsibilities to the, uh, principles of single responsibility and put and close put and close principle because any extension method that we are writing, it basically performs only a single responsibility. That single, uh, code, single logic implementation for the application, and it definitely follows the open close principle because every extension method that we are adding, it has to be open and it has to be closed for the same.
The best strategy, I believe, to ensure that the rest API endpoints are both, uh, scalable and maintainable, uh, is potentially to implement our repository pattern. And in this case so, basically, what we do is that we create repositories for methods, and, uh, we segregate different layers for data access and middleware as well as the API endpoints. Points. So what happens is, for example, if I have to extend the end points and, uh, we have to you won't have to basically, like, change the code at all layers. What we can do is really add, uh, new interface to develop the methods for a new entity or a new feature that we want to add. And, uh, we can, uh, same way we can add a different class for a different, uh, what you say is, uh, a component into the middleware that is consumed, uh, that will just provide the business logic implementation of the, uh, new features. And, uh, this will all be happening, like, asynchronously from the endpoint. So that way, we can have high road scenarios, and still we can have endpoints which are completely scalable.
So, basically, what you have is an event that basically asks you that, uh, whether or not progress update. And inside the method, we are calling the found progress update is not required to null. It basically, uh, triggers the event from progress update. But, uh, nowhere it has been, like, specified where we are going to call this method, public public wide update progress. The update progress method, that is the one that needs to be added to the delegate, and then the event needs to be
So, basically, the way I see it, this is a read only test, and it has been initialized in the constructor. And when we are using the variable existing item, it is going to use first or default method to get the first item of the list that is visible corresponding to the ID of the item that has been passed through the item. But the problem is that the list has not even initialized at the time of instantiation of this class, and, uh, it will have the contains, like, no items at all. And, uh, it will have to give a value to the existing item, but it's not going to update anything because the value would be null.
So be it, uh, dot net core application or any application in general, it can be made more secure against SQL injection attacks if we are adding validations to the client side. But, uh, I think, uh, most secure way to do that is to ensure that the entire value that is being passed to the to, basically being used to get the process to be passed. That's where queries in the back end is basically used in SQL SQL procedures. That way we can rest assured that whatever values are being passed, they are like, uh, yeah, we're not getting any as well where it's injected into the front end. Or even if they are, you know, like, we can add, uh, basically, we can add the validation. Uh, so it will be like a double validation. We are adding client side, and, uh, we can add validation in the stored procedure. So that way, all inquiries that we are using, so that way, we won't have to worry about as well as national tags.
Yeah. I'm not sure about this.
So we can use in c sharp to basically get the metadata for any, like, class library or any, like, file that we are consuming. And, uh, there are definitely performance concentrations because, uh, looking at the meta event of any object or any class can affect performance. So I would not use it unless, you know, we absolutely have to. Uh, so that is why, like, reflection can be, uh, really, uh, if we can take a call on the performance of the application.