This is my second deployment to Azure.
First was a simple MVC4 Website with a Database, which I deployed via git. Worked like a charm.
Now I’ve got the following:
A solution containing three projects.
- Web -> Which is the MVC4 Frontend
- Models -> Contains the Models and the DB Context
- Backend -> MVC4 Project for data administration
All projects are MVC4 (didn’t know how to manage this better for the Models project).
In my models project I’m running the code-firt migrations.
The backend is running in the virtual directory: localhost:80/Backend
(works perfect on localhost)
Both the Web and Backend project have references to the Models Project.
Folder structure:
Solution folder contains:
Web / Models / Backend / MySolution.sln
The first time I deployed I’ve created a git repo in the Projects folder (cause it was a single project). Now my repo is in the solution folder.
I’m also uploading files in the Backend and move it to the other project (Web) via the following path:
Directory.GetParent(HttpContext.Current.Server.MapPath("~")).ToString() + DirSeperator + "Web" + DirSeperator + "Store" + DirSeperator;
Is this going to a problem on Azure?
So my loose question is now, how am I deploying this solution?
I’ve created a Website with Source control in Azure and added a SQL Database to it.
I’ve managed to push the solution to Azure,
but on Azure there’s the messsage
Found solution … with no deployable projects. Deploying files instead.
now.
Do you have any good tutorials for me on this problem?
Am I doing it completely wrong? (I think so)
I’m relatively new to ASP.NET and Azure, so it’s a bit hard for me to understand.
Thanks,
Tobi
I’ve managed to solve my problem.
Sorry, that I’m answering my own question – hope this doesn’t offend anyone.
What I wanted to achieve is not possible with Azure Web Sites, but with Web Roles.
As seen here on CloudCover and on StructureTooBig.
So I’ve created a new Azure Cloud Application (provided by the Azure Tools) in Visual Studio, with a default Web Role, which is my Web Frontend project.
I’ve added a VirtualApplication to the Web Role with the name “backend” and the physicalDirectory set to my Backend Project path.
Then I’ve added a VirtualDirectory “store”, which I could access from both projects for file uploads.
My WebRole looks like this now:
I’m accessing (read+write) the store now via:
instead of
Which works perfectly on both projects.
So, this solution works and I’ve already deployed it to production!
Emerging problems:
Ciao