Ho lavorato in un progetto MVC e ho visto entrambi utilizzati. Mi stavo chiedendo quale sia la differenza tra loro? È scorretto usare l'uno sull'altro? La mia comprensione è che dovrei usare Url.Content(), ma VirtualPathUtility.ToAbsolute() sembra funzionare altrettanto bene.VirtualPathUtility.ToAbsolute() VS. Url.Content()
risposta
Url.Content()
è una parte del metodo di utilità MVC. Essere lì per uniformare e centralizzare le classi di utilità credo.
VirtualPathUtility.ToAbsolute()
è un metodo .NET Framework. Forse il MVC uno sta usando, avremmo dovuto controllare la fonte ...
Speranza l'aiuta
Se si sta facendo questa conversione all'interno di un controllore, poi mi favore VirtualParthUtility.ToAbsolute() su Url.Content().
Il vantaggio arriva quando si desidera testare le azioni del controllore. Anziché chiamarlo direttamente, definire un'interfaccia IPathUtilities, ad esempio, con un'implementazione che utilizza i metodi VirtualPathUtility per il sito live e un'altra che utilizza una sorta di simulazione durante il test.
Se chiami VirtualPathUtility direttamente, non sarai in grado di testare il metodo di azione (potresti aver pensato che un furbo intelligente di HttpContext avrebbe aggirato questo problema, ma dopo averlo provato personalmente non sono riuscito a trovare un modo per fallo).
- 1. MVC @ Url.Content vs @ Url.Action
- 2. perché l'uso @ Url.Content
- 3. Codice di verifica unità che chiama VirtualPathUtility.ToAbsolute
- 4. asp.net MVC Url.Content() Reindirizzamento CDN
- 5. ResolveUrl/Url.Content equivalente in ASP classico
- 6. Utilizzando Url.Content in ASP.net MVC 2.0
- 7. Perché dovrei usare @ Url.Content ("~/blah-blah-blah")?
- 8. url.content (...) come metodo in jquery o javascript?
- 9. ASP.NET MVC RC torna strada sbagliata per Url.Content
- 10. Qual è la differenza tra Href e Url.Content?
- 11. problema con Url.Content in ASP.NET MVC sulla Route predefinito
- 12. Perché utilizzare Url.Content per le risorse di riferimento?
- 13. Esiste una differenza tra Url.Content ("~/...") e "~ /" per gli URL in ASP.NET MVC?
- 14. @ Url.Content nel file JavaScript separato che utilizza ASPNET MVC 3 e Razor
- 15. ID vs UniqueID vs ClientID vs UniqueClientID vs StaticClientID?
- 16. VS 2008 vs VS 2008 Express
- 17. .NET vs ASP.NET vs CLR vs ASP
- 18. Atomikos vs JOTM vs Bitronix vs?
- 19. Accumulare vs piega vs ridurre vs comprimere
- 20. ACE vs Boost vs Poco vs wxWidgets
- 21. VS 2013 MSTest vs nUnit vs xUnit
- 22. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - AFFIDABILITÀ
- 23. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 24. bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, cosa hanno in comune?
- 25. e vs * e | vs +
- 26. SpiderMonkey vs JavaScriptCore vs?
- 27. * vs ** vs *** in Proguard?
- 28. bundler vs RVM vs gemme vs RubyGems vs gemsets vs system ruby
- 29. Misurare il tempo in Linux - tempo vs orologio vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 30. innerText vs innerHtml vs label vs text vs textContent vs outerText
Url.Content() alla fine chiama VirtualPathUtility ma fa ancora un po 'di più. Modificherei la tua risposta, ma avrei bisogno di inviare bucket pieni di codice. ;) – jfar
Grazie per i chiarimenti jfar! –