Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. MVC and RazorEngine rant

MVC and RazorEngine rant

Scheduled Pinned Locked Moved The Lounge
rubyasp-nethelpannouncementhtml
25 Posts 10 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C charliebear24

    Registration page....why not go with static html and grab the data in the controller? (Use knockout if you need to). Be careful with MongoDB. If you need indexes on sub-forms (usually array fields) it will bog down when collection grows. For the right project MongoDB is awesome. Cheers (but I feel the pain).

    M Offline
    M Offline
    Marc Clifton
    wrote on last edited by
    #15

    charliebear24 wrote:

    Be careful with MongoDB. If you need indexes on sub-forms (usually array fields) it will bog down when collection grows.

    I hope to go to my grave without ever having to use a NoSQL database.

    charliebear24 wrote:

    Registration page....why not go with static html and grab the data in the controller? (Use knockout if you need to).

    Ah, so many different solutions, so little time. ;) Marc

    Imperative to Functional Programming Succinctly Higher Order Programming

    1 Reply Last reply
    0
    • M Marc Clifton

      Fabio Franco wrote:

      Ain't string.Replace, simple enough?

      You're absolutely right, but I thought I might see how this is done for something simple (where string.Replace would indeed work much less painfully) in case I want to use RazorEngine for something more complicated later on. So, in some ways, it's good I learned about this now. Marc

      Imperative to Functional Programming Succinctly Higher Order Programming

      F Offline
      F Offline
      Fabio Franco
      wrote on last edited by
      #16

      Got ya, I'm sorry I can't give you any advice on a good tool for that. I never had to do anything overly complicated

      To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

      1 Reply Last reply
      0
      • P Pete OHanlon

        As long as you use Mongo for the right problem, it's very powerful and remarkably straightforward to use, especially if you use the Mongoose package. Certain problems require you to go outside of Mongo - for instance, when it comes to full text, I tend to use ElasticSearch instead because the full text support in Mongo isn't that clever. The hardest thing is to stop thinking of data in the way you think of it for an RDBMS. Once you get around that, and understand what concepts like map-reduce actually means, then you're well on your way to developing a good understanding of it. I'm delivering a talk on Socket.IO next month where I'll show MEN part of that stack (I'm not using Angular for the demo), and I'll hopefully be showing how easy it is to use this stack.

        J Offline
        J Offline
        jschell
        wrote on last edited by
        #17

        Pete O'Hanlon wrote:

        As long as you use Mongo for the right problem,

        Yep.

        Pete O'Hanlon wrote:

        Once you get around that, and understand what concepts like map-reduce actually means, then you're well on your way to developing a good understanding of it.

        Keeping in mind of course that this is only true if it is still based on your first requirement that it is used for right problem in the first place. If it isn't used for the right problem then one tends to end up with 'solutions' that are similar to medieval surgery (hack and hope it lives.)

        P 1 Reply Last reply
        0
        • J jschell

          Pete O'Hanlon wrote:

          As long as you use Mongo for the right problem,

          Yep.

          Pete O'Hanlon wrote:

          Once you get around that, and understand what concepts like map-reduce actually means, then you're well on your way to developing a good understanding of it.

          Keeping in mind of course that this is only true if it is still based on your first requirement that it is used for right problem in the first place. If it isn't used for the right problem then one tends to end up with 'solutions' that are similar to medieval surgery (hack and hope it lives.)

          P Offline
          P Offline
          Pete OHanlon
          wrote on last edited by
          #18

          jschell wrote:

          Keeping in mind of course that this is only true if it is still based on your first requirement that it is used for right problem in the first place

          Oh, definitely. There is a temptation to see everything as a document shaped problem if you aren't too rigorous with yourself.

          1 Reply Last reply
          0
          • M Marc Clifton

            So, on the advise of SO, I installed RazorEngine so that I could generate some HTML directly from a template to create the body of a registration email. Why this can't be done in some simple way with Razor directly is beyond me, but nooo, one of the suggestions was to use RazorEngine. So I use the package manger to install it, it does a couple updates and I get this effing message: Inheritance security rules violated by type: 'System.Web.WebPages.Razor.WebPageRazorHost'. Derived types must either match the security accessibility of the base type or be less accessible. So I google around and everyone tells me to remove the dependency in web.config. Sure enough, that works. But NOW, after I deploy the app to WinHost (I don't think this is their fault), I get: Could not load file or assembly 'System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) But of course. That makes total sense. NOT. :mad: So then I figure I ought to fix the root cause of the problem locally and not just delete the dependency in web.config. So I find this post.[^] Useful. Especially this (regarding my original error): Which could not be resolved by the solution listed in the reference, however after doing some research I found my answer in the update release notes. The "Removal of security transparent attribute. Note: This is a breaking change, and makes Razor 3 incompatible with MVC4 and earlier, while Razor 2 is incompatible with MVC5 or assemblies compiled against MVC5". OMFG. Really? So how the eff do I install Razor 2, I really don't give a rat's arse about compatibility with MVC5 (which, when reading about how to install that, looks like yet another rabbit hole of a nightmare I don't want to go down.) Wow Microsoft. In attempting to copy the garbage that is Ruby on Rails, I believe you have taken what was a slightly smelly pile of refuse and turned it into something that looks like

            P Offline
            P Offline
            Peter Shaw
            wrote on last edited by
            #19

            I guess i gotta step in and save all your asses then :-) Swig.JS[^] Does everything that Razor can do in pure JS... I use it all the time when converting solutions from MVC to Larvel/PHP, the programming model is almost identical.. Shawty

            M 1 Reply Last reply
            0
            • P Peter Shaw

              I guess i gotta step in and save all your asses then :-) Swig.JS[^] Does everything that Razor can do in pure JS... I use it all the time when converting solutions from MVC to Larvel/PHP, the programming model is almost identical.. Shawty

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #20

              Peter Shaw wrote:

              I guess i gotta step in and save all your asses then

              :) Swig looks cool, but I really do not want to be coding in JavaScript as the primary language, especially on the server-side, which is also why I'm not particularly interested in node.js, though at some point I'll take a poke at is. Marc, the Biased :)

              Imperative to Functional Programming Succinctly Higher Order Programming

              P 1 Reply Last reply
              0
              • M Marc Clifton

                Peter Shaw wrote:

                I guess i gotta step in and save all your asses then

                :) Swig looks cool, but I really do not want to be coding in JavaScript as the primary language, especially on the server-side, which is also why I'm not particularly interested in node.js, though at some point I'll take a poke at is. Marc, the Biased :)

                Imperative to Functional Programming Succinctly Higher Order Programming

                P Offline
                P Offline
                Peter Shaw
                wrote on last edited by
                #21

                It's not as bad as it looks Marc :-) and this is coming from someone who'd still write everything directly in ASM if it was an accepted route...

                M 1 Reply Last reply
                0
                • P Peter Shaw

                  It's not as bad as it looks Marc :-) and this is coming from someone who'd still write everything directly in ASM if it was an accepted route...

                  M Offline
                  M Offline
                  Marc Clifton
                  wrote on last edited by
                  #22

                  Peter Shaw wrote:

                  and this is coming from someone who'd still write everything directly in ASM if it was an accepted route...

                  Heh. I'm with you there! I did take a closer look, and yes, it doesn't look that bad. What I'd love though is for a proper "page designer" that would just figure out all the damn CSS, HTML, model, and "view-code" for whatever view engine I want to use. Doing web development is like going back to the stone ages. Or probably more accurately, being thrown into the cockpit of a 747 and told to land the plane with a 50 MPH crosswind on instruments alone. Marc

                  Imperative to Functional Programming Succinctly Higher Order Programming

                  P 1 Reply Last reply
                  0
                  • M Marc Clifton

                    Peter Shaw wrote:

                    and this is coming from someone who'd still write everything directly in ASM if it was an accepted route...

                    Heh. I'm with you there! I did take a closer look, and yes, it doesn't look that bad. What I'd love though is for a proper "page designer" that would just figure out all the damn CSS, HTML, model, and "view-code" for whatever view engine I want to use. Doing web development is like going back to the stone ages. Or probably more accurately, being thrown into the cockpit of a 747 and told to land the plane with a 50 MPH crosswind on instruments alone. Marc

                    Imperative to Functional Programming Succinctly Higher Order Programming

                    P Offline
                    P Offline
                    Peter Shaw
                    wrote on last edited by
                    #23

                    I might actually be able to help you there... well if I ever get the project I started finished :-) one of my many temporarily abandoned ones.

                    M 1 Reply Last reply
                    0
                    • P Peter Shaw

                      I might actually be able to help you there... well if I ever get the project I started finished :-) one of my many temporarily abandoned ones.

                      M Offline
                      M Offline
                      Marc Clifton
                      wrote on last edited by
                      #24

                      Peter Shaw wrote:

                      I might actually be able to help you there...

                      Landing a 747? ;) Actually, I'm using Razor at the moment for a fun little pro-bono project, putting together a website for the Dartmouth MA Department of Public Works -- did we talk about that before? If you want to get involved, the code base is here[^] and the website is here[^] -- takes forever to spin up. I'm looking into Razor Generator[^] to speed up the first-time page loads. Marc

                      Imperative to Functional Programming Succinctly Higher Order Programming

                      P 1 Reply Last reply
                      0
                      • M Marc Clifton

                        Peter Shaw wrote:

                        I might actually be able to help you there...

                        Landing a 747? ;) Actually, I'm using Razor at the moment for a fun little pro-bono project, putting together a website for the Dartmouth MA Department of Public Works -- did we talk about that before? If you want to get involved, the code base is here[^] and the website is here[^] -- takes forever to spin up. I'm looking into Razor Generator[^] to speed up the first-time page loads. Marc

                        Imperative to Functional Programming Succinctly Higher Order Programming

                        P Offline
                        P Offline
                        Peter Shaw
                        wrote on last edited by
                        #25

                        That too.... :laugh:

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups