Your opinion - how do you feel about converting BlogEngine from website to web application?

Topics: Business Logic Layer
Jan 23, 2014 at 9:21 PM
Dear BlogEngineers!

As you probably know we in the beginning of new cycle with BE 2.9 finalized and (today!) published to and azure application galleries (feel free to vote us up...

Before we start any coding for the big 3.0, I would love to know your opinion on oldie but goodie topic - how do you feel about converting project to web application instead of website?

Before everyone rejoices, please let me explain implications this action will mean for BE as we know it.

For technical minds, I encourage you to read in-depth here:

For rest of us - any ".cs" file dropped into "/app_code" folder will have no effect on application whatsoever.

It means, when you go to gallery tab and install extension that copy ".cs" file behind the scene - won't work.

You will need to pull your site in Visual Studio or WebMatrix, compile "BlogEngine.NET.dll" and push it back to your site for extension to appear in the list.

Developers can actually build compiled extension and provide them as ".dll" - this should work.

Most themes and some widgets not use ".cs" files - those also will keep working as usual.

So why go into trouble? Well, website for some time now not available as project template in Visual Studio, and MS makes all kind of noises trying to push you off the dynamic compilation trail. We probably one of few OS projects still using it - not cool! State of our extensions library, well, not state of the art right now. So we might have a chance to change it, and moving from old project model makes sense to be part of this transition. There are many other reasons, but I don't want to get into too much details.

So what do you think?

I didn't want to publish it as survey because I want people be able to post their opinions and thoughts in free form.

Still, please try to describe how are you using BE now and what is your position on the topic.

Thank you!

Rtur, project member and coordinator
Jan 23, 2014 at 9:31 PM
I am against it if extensions such as the Authentication won't work anymore,I use it a lot.
Jan 24, 2014 at 12:08 AM
To be clear, it is not about extensions stop working. It is about deployment - they need to be compiled before application uploaded to host. ".dll" instead of ".cs" deployment.
Jan 24, 2014 at 12:21 AM
What about making changes to aspx pages, it would have to recompiled each time a change is made?
Jan 24, 2014 at 12:55 AM
My personal opinion (and I'll probably catch all kinds of flak for this) is that you should just make it an MVC app with all razor pages. Frankly, I stopped writing web-forms apps (and websites) a long time ago and have only developed MVC applications since MVC 3.

Of course, that's just my opinion...
Jan 24, 2014 at 1:36 AM
jerrysdean43 wrote:
What about making changes to aspx pages, it would have to recompiled each time a change is made?
Only files with extension ".cs" need to be compiled, and obviously they not deployed to the server any more. Which is more secure and makes site more stable by the way.
Jan 24, 2014 at 1:39 AM
ydnarnitram wrote:
My personal opinion (and I'll probably catch all kinds of flak for this) is that you should just make it an MVC app with all razor pages. Frankly, I stopped writing web-forms apps (and websites) a long time ago and have only developed MVC applications since MVC 3.

Of course, that's just my opinion...
If you noticed, we already added Web API to the site. We can add MVC controllers some day too :) But we not ready for this radical move yet.
Jan 24, 2014 at 1:54 PM
Looks like website project does not have loud and passionate crowd of supporters :)
Jan 24, 2014 at 2:53 PM
How would it affect users like myself, I am an old computer geek but not a developer? I currently use WebMatrix and Visual Web Developer 3013 to maintain my hiking website.

Would I need to learn a lot of complicated developer stuff?

If it would not make it harder for me to use BE and help the project and current developers then I would not have anything negative to add.
Jan 24, 2014 at 4:50 PM
Web application gets my vote.
Jan 24, 2014 at 8:52 PM
From the perspective of an end user a "web site" is easy to deploy and edit. Is that why BE is a web site or was there some other motivation for taking that route at the outset? The general consensus around the web seems to be that "web apps" were and are technically more sound.

I'm not saying I disagree with the original decision, quite the contrary, being able to drop a cs file into the extensions folder is undeniably convenient, but BE has moved on and maybe now the arguments for going to app are more important(even aside from the fact that that's where Microsoft are steering things).

Touching on the subject of extensions(compiled), how's that going to work with versioning, general deployment of add-ons and such like? Some of the stuff currently sitting in the gallery spans the generations.
Jan 25, 2014 at 5:43 PM
Hi All,

For BE going to the web application model in the long run is the best way to go.

For web developers that already use Visual Studio to edit and update their website there is really no changes made there.

Instead of FTPing all of your codebehinds and etc you just FTP your BlogEngine.NET.dll file.

Going with web application as long you are working with the full source code there won't be any lost in terms of being able to update your website or extensions.

The only additional step would be to Rebuild your website Right click on Solution Explorer --> Rebuild and that is it.

That takes any changes you made with codebehinds for extensions or stand alone webpages or master pages and combines all of that into one file.

That is the BlogEngine.NET.dll file

So in general terms in updating your website nothing would really be lost.

Only thing you won't be able to do any more is FTP your codebehind files to the server.

Which now is really a bad practice really in terms of security.

Leaving source code in the open on your server is not good.

Hackers can hack your FTP login info (Not hard to do) and upload all kinds of scripts into your codebehinds.

With Web application with all of your source code compiled into one file BlogEngine.NET.dll makes
less files on server this reducing this security risk.

The problem I can see with the Web Application model would be for those that don't work with Visual Studio or the source code version of BE.

For those they would have to learn how to use Visual Studio with BE which is not hard.

I think for future releases of BE should go with Web Application model and with Custom Fields believe will help reduce the amount of
actual coding to make common changes to BE to make it work.

I am seeing other people and myself included making source code changes to work around or add functionally to make BE work better.

If those functions were already included the source code changes would not be needed.

So point is in exchange in moving to the Web Application model for BE.

The platform has to be more flexible in terms of customization
that does not require source code changes in order to do it.

Should all be able to do it from with in the Admin panel.

So Rtur and other BE developers you have alot of work cut out for you :) .

So my vote is YES for Web Application model for BlogEngine.Net

In terms of technology and the future moving to Web Application is really not a true choice.

It is a matter of "When" and not "If" when Microsoft will discontinue support for Web Projects.

So at our current time period it is best to go ahead and get ready for that change.

When you weigh all of the Pros Vs. Con Web Application wins.

Now comes the really sad part for me :(

The next one to go is Web Forms.

MVC is starting to kick up even more speed and support from Microsoft.

Even with Microsoft New One Asp.Net concept

It still sides more with MVC and C# than it does Web Form and VisualBasic.

Go look at

You see tutorials and content for MVC are updated and current.

Look at Web Forums most had not been updated since 2010.

Looking at Microsoft Certification exams all for MVC no WebForms.

So I see in about 2-3 years WebForms support will also go away.

But, for now just need to move to Web Application model.

I see may be BE 3.5 or BE 4.0 being Pure MVC.

If anyone needs any help or questions about Web Project vs Web Application model let me know.

My vote is YES for Web Application model for BlogEngine.Net
Jan 26, 2014 at 10:00 PM
Converted to web app (, thanks for your input!
Feb 5, 2014 at 10:54 PM
I am late adding this but - completely agree - MVC. I switched to this and it is the way to go.
Feb 6, 2014 at 8:00 PM
I don't think I'd be able to rebuild a web app. I only use the Express Editions of Visual Studio and would not likely be able to spend the money on the full development suite. If I can't edit the .net code, than customization, besides CSS isn't an option. Already, going from 2.8 to 2.9 is such a major leap due to the Razor code and severe downgrade in the editor component. I get it, the editor is tight and sexy and extensible and angular and all that, but it is so lacking in it's BE 2.9 implementation, that I've had to hack the shit out of it just to make it easier for my client to add picture code snippets, etc. You can't even move a div around without going to the code editor (which I had to integrate CodeMirror into, just to make the output sensible and pretty). So, without being able to change things to my liking, I'd actually be really discouraged with an Application model.
Feb 6, 2014 at 8:32 PM
secretwep wrote:
I don't think I'd be able to rebuild a web app. I only use the Express Editions of Visual Studio
Already, going from 2.8 to 2.9 is such a major leap due to the Razor code and severe downgrade in the editor component.
I think you combining 2 unrelated topics here, so I'll try to address them separately.

VS express works just fine with web app, no need for paid version.

The editor, in 3.0 we should be able to chose between Bootstrap editor 2.9 uses, TinyMCE and, probably, markdown. But as I said it is not related in any way to the website/web app subject. Personally, I prefer very light web editor and go WLW for heavy posts, but totally understand if someone does it differently. So there will be a choice.
Feb 6, 2014 at 9:16 PM
Thanks for the info rtur.

I will need to read up more on dealing with applications in VS express, as I was under the impression I could not build dlls.

I brought up the editor in order to show an example of why I felt I would need access to easy editing of the code, not at all to sidetrack the thread. It was tightly coupled with my initial objections, as I am still breaking into postcontroller.js right now to handle the quirks of that editor.
Feb 6, 2014 at 9:33 PM
Hi SecretWep,

For VS Express versions 2010 and below you are correct can not build .dlls but versions VS Express 2012 and VS Express 2013 you can, and have way more features than previous versions.

You can download 2013 here:

Reason it supports .dlls now in express because eventually they are doing away with web site projects and only support web application projects and in order to do that all versions of Visual Studio have to be able to make .dlls :)
Feb 14, 2014 at 3:25 PM
Thank you kindly for the information. I'm excited to rebuild my dev machines with VS Express 2013. I'd like to rescind my previous objections to the Web Application model.
Feb 14, 2014 at 6:03 PM
I was used to precompile website application before so the biggest change for me is the need to add/remove directories/files to the project explicitly. On the other hand Web Application project is better to avoid unwanted publishing of .orig and .bak files.
Nov 21, 2014 at 11:36 AM
Edited Nov 21, 2014 at 11:42 AM

We use BE with svn/CruiseControl/nant for automated deployments, this helps a lot.
One thing though.. is it possible to have a version of the projects in Visual Studio 2010 format?

Hope this is possible, thanks!

Nov 23, 2014 at 12:58 PM
Edited Nov 23, 2014 at 1:00 PM
Hi Sidli,

Visual Studio 2010 does not support 4.5 so with BE versions 2.5 and above would be almost impossible to use Visual Studio 2010.

But, there is great news!!!

Microsoft is now offering a "Full" {Visual Studio Professional 2013} version of Visual Studio free.

Q: How does Visual Studio Community 2013 compare to other Visual Studio editions?

A: Visual Studio Community 2013 includes all the great functionality of Visual Studio Professional 2013, designed and optimized for individual developers, students, open source contributors, and small teams.

Visual Studio Community 2013

If for some weird reason you must use Visual Studio 2010 then you would have to take BE Version and have it target 4.0, take out all of the code that requires 4.5 version, you will get errors telling you where that is at.

Then save it, then open it up in Visual Studio 2010 and save it.

You will then have the Visual Studio 2010 Solution file.

But, I would not do that.

Way too old.

Visual Studio 2015 is coming soon and lots of major changes are coming from Microsoft!

Don't go backwards :)

Time to go to the future.

With the New versions of Visual Studio and you can edit everything with a command line and a text editor if needed.

So if you have resource issues for your computer running Visual Studio 2013 community, you can go that route with using command line and text editor.

Let me know if the new Community Edition helps.

If not why do you need VS 2010 that is not included with the Community Edition?

Have a great day!

Brian Davis