How do you precompile MVC 5 Razor Views in VB.NET? - vb.net

hope this is an easy one. I've googled all over to find the answer to this, but have only come up with C# instructions. I can't seem to correlate/find the files that are mentioned to implement this. Any quick direction?

Publish you web app and change the settings to precompile the application.
Menu->Build->Publish XYZ->Create Profile->Select connection->Settings->File Publish Options->Precompile during publishing (Check), click on configure to configure more.
Edit:
In advanced precompile settings, uncheck the updatable option. Merge all output to single assembly. Check Treat as library component.
Yes I do see some improvement in the first call to website after AppPool starts. Rest all is same.

Related

How To Debug Web API Project From MVC Project In Another Solution

I have a MVC project solution and a separate API project solution (because it is used by different other solutions).
During debugging is it possible to hit the API solution code on debugging?
Both solutions are obviously running, giving correct data and results, the issue is that I am unable to hit the API project code during debugging - the debugger skips over the API and hits only the main solution.
EDIT
I realised that the API is a separate package and is referenced in the main solution as an assembly so I am not sure if it is possible to hit the breakpoint there at all? It's not used via Ajax.
yeah it is possible.
Assuming you use Visual Studio, start a second instance and attach it to the running process of the API. Put a breakpoint in your API and do whatever you need on the MVC side, to hit the correct endpoint in the API. Execution will stop and you can now debug in the second project as well.
This all depends how you run the API, you can even run the API from Visual Studio, using IIS Express in which case your URL will look something like http:\\localhost\api\sbla\bla:50310 for example.
Attaching works very well when the API is run outside of Visual Studio in proper IIS.
Make sure you tick the box which says "Show all processes" and look for a process called w3wp I think, this is all from memory.
You can't debug the API from the MVC project as they are both running under different processes
------ added after extra info ----
if the API stuff is inside a dll then make sure that dll is built in debug mode and then you can step into it. put a break point inside your MVC code right before you have a call which goes into the dll, then step into it and continue from there with normal debugging
Yes, it is possible.
Just open both your solutions in visual studio. Build the API project and add its dll to MVC project. Put break point on your API and run the API project. Now run your MVC project. Hit the API from your MVC project and break point will surely hit in API.

Trying to load opserver

I downloaded opserver that I saw at SQLPass. I can't seem to do anything with it. I tried opening it with VS 2008, VS 2010 and keep getting incompatible errors. What version of VS should I be using? I am a newbie so am in real unfamiliar territory. What do I do after I download it? Are there step by step instructions anywhere?
Opserver targets ASP.NET 4.5 for concurrency features, which I believe requires 2012 or better.
The official Opserver documentation assumes that you know how to build and publish and ASP.NET MVC 4 application. Typically the challenge in building MVC is getting the right dependencies/config setup on IIS the first time. Very easy to update after that. There are many blog posts and good answers on this site on that general subject.
If you want directions specific to Opserver, currently you are limited to third party blog posts such as the following:
Patrick Hyatt: Setting Up StackExchange's Opserver (very useful for the config files)
Danny Sorensen: Using Opserver Will It Build? (my own experience so far)
If this is not familiar territory, I recommend the following:
Use Visual Studio 2012 or 2013 on a machine with ASP.NET 4.5
Only enable the Opserver security file. Modify it for your IP address, or use "alladmin" to start.
Build it. If it doesn't work, use StackOverflow to solve your issue. You're having trouble with ASP.NET MVC 4, not Opserver at this point.
Now enable one additional config file at a time and build it again until you are done. Note, that you will not need to enable all of the config files unless your setup matches that of StackOverflow. Most of the config files are intended to be optional and left disabled.
You should be good with 2010, but you need to have ASP.NET MVC installed before opening the solution and building.

Is it possible to run asp.net mvc 4 from within a folder of a main website?

I have successfully set up an API using ASP.NET MVC 4 on IIS6 (I used Phil's tutorial). When testing, we had it as the "Default website" and so there was no conflict with anything else. I am now being asked to set this up within a FOLDER of an existing website (the existing website is in ASP 1.0...and I cannot modify this...so I would some sort of virtual...something?). So basically, if we have https://www.ourcompany.com, they want the API to be available through https://www.ourcompany.com/api/.
Is this even possible? Phil's tutorial talks about setting up a Virtual Application, but I don't have that option in IIS (and if I had, I'm not knowledgeable enough about IIS to know if that would even allow me to access the API that way). I don't want anything that I set up to mess up the current website either, and there are a couple steps in the tutorial that I'll freely admit I don't fully understand.
If your curious as to WHY, the only advantage (besides being "neat") is so that the same SSL Cert can be used.
Yes that's definately possible at my work we had a similar setup, IIS6, a .NET 3.5 web, with a .NET 4.0 web nested underneath.
You would just set it up as a virtual directory underneath the parent website, point it to your folder, and ensure the value for the "Execute Permissions" dropdown is "Scripts Only" or above, and the correct .NET framework version selected on the ASP.NET tab.
There may be additional values you may need to over-write in your child web.config file, or, alternatively, wrap the entire parent web config with a "Location" attribute.
Forgot to mention, you may need to add manual script mappings for the child web if it doesn't work by default. (This installs the .NET 4.0 script mappings to a specific web) though again not sure if this is required by default. See: http://msdn.microsoft.com/en-us/library/k6h9cz8h.aspx
One more thing - If you're using REST (or an extension less URL mapping which I believe an MVC 4 web will use) - You'll need to add a "wild card" script mapping, which basically tells IIS to serve requests with no extension with the .NET 4.0 framework - See here However where they're referencing .NET 2.0 folders, you'll obviously want to reference the same files but in the .NET 4.0 folders :)
Thanks

How to recognize programmatically that application is installed vs development mode?

I'm trying to get information about license info of my app and MSDN docs (http://msdn.microsoft.com/en-us/library/windows/apps/hh694065.aspx) advice to use Windows.ApplicationModel.Store.CurrentAppSimulator class for that purposes during development/testing and when submitting app to store replace that class with Windows.ApplicationModel.Store.CurrentApp.
I wonder if there is any way to check in code (javascript in my case) if app is already installed from store so my code should use proper class and I won't have to remember every time I submit update of app to store to replacing those classes properly.
As far as I know, I could not find such thing. In fact, LicenseInfo is what provides information about the store listing.
I use a config.js file to keep settings at place which change between development and production. For example - if your app talks to a service, service URL also will likely change between development and production; the service might be running at localhost for development and for production in azure environment. I keep a bool in here and change by hand.
I have not automated it fully. but it is likely possible. need to dig through the msbuild logs for the build created for the store. if there is configuration setting found, then project can have two config.dev.js and config.release.js and msbuild need to conditionally pick the right file. I haven't looked into this yet.
I think I found at solution as described here WinJS are there #DEBUG or #RELEASE directives? . Not ideal, but works for me.

How do I use Struts-menu in Struts project?

I am using Struts for my college of engineering project. I am creating a main page. For that I want Struts-menu for creating a menu, but I didn't find any tutorial for the same. What site can be recommended or how can I otherwise do it?
See the User Guide
Run struts-menu-2.4.3.war in Tomcat and learn. (same with Struts-menu demo)