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.
  • 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

    C Offline
    C Offline
    charliebear24
    wrote on last edited by
    #12

    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 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

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

      Marc Clifton wrote:

      I installed RazorEngine so that I could generate some HTML directly from a template to create the body of a registration email.

      Ain't string.Replace, simple enough? I never had any problems with Razor the way it is meant to be used with MVC (rendering views).

      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

      M 1 Reply Last reply
      0
      • F Fabio Franco

        Marc Clifton wrote:

        I installed RazorEngine so that I could generate some HTML directly from a template to create the body of a registration email.

        Ain't string.Replace, simple enough? I never had any problems with Razor the way it is meant to be used with MVC (rendering views).

        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

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

        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 1 Reply Last reply
        0
        • 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