I have been developing an ASP application which I have almost finished. It accesses a SQL database on a Windows sever on AWS. I would like to deploy my application to AWS though.
Does anyone have any suggestions about how I should do this?
Refer to the Deploying an asp.net application thread that contains all necessary information and step-by-step instructions on how to accomplish this task.
If you are deploying an MVC application, check whether the hosting provider provides the support for MVC hosting. Just right-click on the solution and select Publish. Then copy the files into the hosting space.
Related
I want to deploy ASP.NET Core Web API project on testing server with database. I have gone through heroku but it doesn't support Dot Net applications. Here are the configurations of my application:
ASP.NET Core 5 Web API
SQL Server 2019
Note: I need backend on server so I could test frontend application where ever I am.
I have used the following they each have positives and negatives. The first works the best for me.
winhost.com has cheap SQL + .NET Core hosting. No affiliation with them other than a happy customer for 10 years or so.
Azure, and other cloud hosting also works and is more performant for more money.
You could also setup your own server on an old PC (cheapest option)
You can go with Asphostportal, shared hosting option, they do support both Asp.net core and SQL server. They are pretty cheap, it is around $8/month.
Reference to my previous question: Can't compile the project. Missing so many files
I am very new to .NET core version. So I have so a few questions need someone to guide me to a quick start.
There are 2 templates version for ASP.NET core 2.0; .NET core and .NET full. Does it mean if I choose the .NET full version, I still can use 3rd party DLL such as iTextSharp or EPPlus version, doesn't it? 'Cause I have read that with .NET core, all 3rd party DLL without .NET core support could not be used in the project.
From the download template, it contains 2 main projects, one is .NET core service and another is angular UI view. Currently, it set to localhost for all API calls. Because I run the window server in my VM and run the client on my host so I need to set the client to look for the service on my VM via IP address. Which file do I need to config?
Related to Q2, how to config the .NET service to run in production mode and install into IIS server?
Thx in advance for all comments and suggestions.
Answer to the second question;
There's a config file in src/assets/appconfig.json
You can change those values...
remoteServiceBaseUrl: Used to configure base address of the server
side APIs. Default value: http://localhost:22742
appBaseUrl: Used
to configure base address of the client application. Default value:
http://localhost:4200
appBaseUrl is configured since we use it to define format of our URL. If we want to use tenancy name as subdomain for a multi-tenant application then we can define appBaseUrl as
Aspnet Zero Angular Getting Started
PS: Apart from the framework configuration; be aware that connecting something in VM is another discussion. You need to set some settings like Bridged Networking... You can figure it out in the related VM's board.
For point 1 you can refer this post.
For Point 2: You can host your service application on Azure or IIS so
that you can consume your service from other PC.
For Point 3, Its pretty well explained here.
Additional: If you want to deploy Angular application, you can refer Deployment of Angular Application
You can also refer src/assets/appconfig.json for required configurations.
We started to work in a MVC core application. I have seen many web sites about hosting Core applications after publishing. Can we host a MVC core web app without publishing, that is copy all files from local to server machine using ftp as we do in asp.net project? Since it is in development stage there is lot of changes in every day and it is difficult to upload these changes after publishing.
What is the best way to deploy an MVC3 application to a client site? Now I can create a deployment package using web deploy and possibly give them a script to deploy the files on their IIS servers. But is there any other way? I just want to give them a one-click option after they download the application, if that makes sense.
Also, is there a good way to obfuscate MVC3 application as a whole?
You will need a script to deploy your MVC application files, as well as the MVC required DLLs to the web server. In your script you can have it so that it creates the application in IIS to the appropriate application code.
As for a "One Click" type deployment, you'll have to have some knowledge of how their IIS is setup and what they are willing to do with virtual directories.
I'm researching some Windows Azure stuff, in order to make a decision whether to move to Azure or not.
Basic information
To answer the question, you'll need some basic understanding of my app so here goes.
The app is an ASP.NET MVC 3 application that connects to a SQL Server database.
It is a single instance application, meaning that every customer eventually has their own instance of the app running on our server, deployed to IIS 7 as a website.
I have one SQL Server, where each instance has its own database.
I also have a set of Windows Services to do some background processing. That should be straight forward, as I'll just rewrite those to use a Worker Role in Windows Azure - most of the logic in the services is located in their own class (library) anyway, so the service it self just calls one or more methods in a class.
Now to the question
Whenever someone signs up for a free trial, I add a record to an Admin database I have.
I then have a Windows Service that deploys a new instance of the ASP.NET MVC 3 app to IIS, grants permission to a few folders, runs the database deployment script and updates the record to reflect that it has now been deployed, and finally sends an e-mail to the prospect that their free trial has been created - here's how you access it.
So, how can I deploy a new instance in Windows Azure from a Worker Role? Preferably, I'd just add a new website to an existing Azure instance and create a new SQL Azure database for that particular site to use.
Does this require a lot of work to set up? Is it even possible?
Based on two quotes, I would like to suggest calling this a multi-tenant application:
It is a single instance application, meaning that every customer eventually has their own instance of the app running on our server,
And...
a Windows Service that deploys a new instance of the ASP.NET MVC 3 app to IIS, grants permission to a few folders
If I understand correctly, there is "one" IIS server (well, in Windows Azure, it's one Web Role, scalable to multiple instances), and with each new "tenant", you set up some new stuff to support that tenant.
If that's indeed the case, you can definitely do this from a worker role - just look at Nate Totten's multi-tenant web role blog post and related code. Look at the webdeploy code that actually manipulates IIS.
Further: take a look at Cloud Ninja, a project a few of my teammates published along with Fullscale180. This is a multi-tenant app that demonstrates how to manage multiple customers in a single deployment, as well as monitoring and scaling.
Finally: should you need to actually create brand new service hosts and storage accounts, the latest updates to the Windows Azure Management API support this.
I hope that helps a bit...
I think most of the things you want to achieve are possible.
It will definitely require some work to setup!
For some ideas on how to achieve what you are looking for, take a look at the MS SaaS example - http://www.fabrikamshipping.com/ - especially designed for porting existing apps to SaaS on Azure. Inside this app they have an "onboarding process" - and that process includes setting up new SQL connections and new portals.
There's lots of good blogging (watch the video) about this on http://blogs.msdn.com/b/vbertocci/archive/2010/10/07/new-online-demo-introducing-fabrikamshipping-saas.aspx