Can a WebSetup contain multiple web applications? - c#

I'm trying to configure a websetup for the first time for our ASP.NET application which consists of 11 web services. Is it possible to create an msi that will install the app and the 11 web services and also set-up the app pools & create the apps in IIS? Or would I need an individual setup for each web service? Basically I need to make it as simple as possible for the client to release. Thanks for any help

I am not sure you can because the setup wont allow you to pick different root folders. But you could create one for each then mesh them together with something like this.
http://www.codeproject.com/KB/install/dotNetInstaller.aspx

Related

Deploying ASP.NET Core Web API and ASP.NET Core with Angular in a subfolder (1&1 Windows Business Hosting)

I've acquired a 1&1 Windows Business Hosting which allows to deploy ASP.NET Core applications (so yeah, I have no access to IIS solutions of building as application stuff or that kind of things I've seen in other posts). I wanted to deploy a web and an API in different subfolders within the 1&1 server I've acquired.
What I want to achieve is the following:
Imagine that my domain is https://myDomain. com.
If a user access directly that URL he should see a specific page of the Angular Web App. However, if the called is https://myDomain. com/api/controllerName it should do whatever I have programmed in that controller of the Web API.
I want to have the folder structure something like this:
But it is also valid if I manage to get it like this:
Is any of these two cases even possible to be done? If possible, how I should proceed for being able to do it? I don't have a lot of knowledge in these topics related to web deployment.
What I have managed to do up until now:
If I deploy just the ASP.NET Core Web API outside the subfolder it works with no issues. If I deploy just the ASP.NET Core with Angular outside the subfolder it also works. My issue is that I'm unable to get them both to work at the same time when at least one of them is in a subfolder.
Alternatives on how to achieve this are also welcome!
Thanks in advance :)
You can deploy ASP.NET Core Web API and ASP.NET Core with Angular in two folders as shown in the image below.
These two folders are virtual directories in IIS. If you want to specify which app to access by default, you can modify the rewrite rule in web.config under the wwwroot folder.

Separate Web application using sub domain name in Azure

We are developing an online CRM Saas product in .Net Framework. Now we want to provide this service to anyone.
Any user wants to use or try our service they just need to put a few basic details and click on Sign up.
There is one best example of my above statement is confluence, as soon as I sign up with some site name my confluence portal is stared.
https://www.atlassian.com/try/cloud/signup?bundle=confluence
Now how to do the same in Azure, I have only files and folder of my application. How to create separate websites for multiple users with a single domain name. If I programmatically created multiple azure apps using Azure ARM then it becomes very difficult to maintain our product. How to do achieve this functionality.
To host multiple apps under a single domain, if you’re leveraging Azure Web App and deploy your web applications to each virtual directory with the name which could identify your web application.
You could keep your web sites in separate projects and use the ‘virtual directories and applications’ settings in Azure to publish the two different projects under the same site.
Go to WebApp -> Settings -> Application Settings -> Virtual applications and directories.
In Web Apps, each site and its child applications run in the same application pool. If your site has multiple child applications utilizing multiple application pools, consolidate them to a single application pool with common settings or migrate each application to a separate web app.
You may want to check the blog post Deploying multiple virtual directories to a single Azure Website for more details.
Also, you could also use Application Gateway infront of your app since you can do path based routing with app gateway i.e testing.com/one points to one web app and testing.com/another points to the other app. You could start out with the example below the modify the back end to use path-based routing. Kindly refer the links below one that covers the basics of configuring the App Gateway with a WebApp and one discussing path based routing:
https://blogs.msdn.microsoft.com/waws/2017/11/21/setting-up-application-gateway-with-an-app-service-that-uses-azure-active-directory-authentication/
https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-create-url-route-portal#create-a-path-based-routing-rule

Hosting websites with different portnumbers in ASP.Net IIS server

I have just begin using ASP.Net Web application in Visual Studio. What I want to know is that I have two web pages namely index1.aspx and index2.aspx. I want to host them separately using different port numbers in local host on the iis server. I know site binding is used in these cases but not sure how to go about it.
What is the best way to do this? I want them to run simultaneously and communicate between each other.
In IIS there is something called Virtual directory. You can create two web applications in IIS and make both pointing to same physical location on your system.
You can also update settings of each web application to have different index pages. i.e. web app1 shall use Index1.aspx as index page, and web app 2 shall use Index2.aspx.
Virtual directories are so cool, you can use the same code base for multiple tenants. All we have to create is new web apps or sites in IIS.
So I solved it like this:
I created two projects WebApp1 and WebApp2 in the same Solution.
Right Click on Solution Explorer--> Properties--->Select the radio button with Multiple Startup projects.
Also make sure The Action of atleast one of the projects is set to Start only . The rest can be Start Without Debugging.
To connect IIS to your web application say webapp1:
Reference this video:
https://www.youtube.com/watch?v=IwbKquNBNgQ
Hope this helps anyone who is trying this out.

Routing API project and Web Application project in the same domain (Azure)

Background
I have two separate projects in my solution. One of them (the web application project) is responsible to show the landing page (on the root of the domain, say www.example.com) and a documentation for the API (say www.example.com/documentation).
The other project is responsible for the API itself. It's path must be www.example.com/api/v1/ to ensure compatibility with our previous software.
We made this way to be able to publish updates to any of the projects without the need to publish the entire solution, and of course, for organization.
Problem
I don't get how to configure the applications to run on Azure on the same domain with different routes, and I'm stating to fear that it is not possible.
I already tried to configure a subdomain (say api.example.com/v1), but it can't be done because we will break the compatibility with our current clients.
This question is almost what I'm looking for, but it does not show how to do on Azure, and this one is on Azure but using subdomains.
First: you have to create 2 folders, 1 for your web api and the
second for your web app
second: you have to set the two folders as an application.
after doing those two steps you can acces to the two folder by puting:
www.yourdomaine.com(or another)/nameofyourfolder
good luck

Is it possible to deploy 2 separate MVC apps into one Azure Web App?

It's been incredible exhausting for me, after passing a week to deploy MVCForum (Source Code) to my Azure Web App. I've read that it was possible if you selected a different path when publishing, something that I did. But when I tried running, my main app and the MVC Forum were conflicting between them.
I'd like to use Azure's Web Apps instead of Azure's Cloud Services because of the simplicity and the possibility of only uploading the files that have changed. I have seen that it is possible to upload Web Api and MVC in that fashion, but I have not found an example that sends 2 different MVC apps into a same Web App.
Is it possible to do it with 2 different MVC apps? (Note: Areas are not an option, since the MVC Forum Source Code resides on a completely different solution)
Thanks!
Given your comment that you are trying to work with separate deployments:
A Web App under the same name (e.g. myapp.azurewebsites.net) is going to be managed by a single deployment. That is, if you have two github repo's (or two dropbox folders, or two of anything) and try to push up new content from deployment B, you'll effectively wipe out deployment A.
You can certainly have multi-path apps running in the same deployment, but they'd need to be part of a single distribution (e.g. single github repo). Otherwise, you'd need multiple deployment slots (e.g. app-a.azurewebsites.net and app-b.azurewebsites.net).
Maybe you can use virtual directory to upload multiple app projects in single webapp, this article explained it
Create projects
Assign virtual directory
Publish the root project
Set up virtual directory in azure portal
Publish the child projects

Categories