2017-08-11 69 views
1

我正在使用Antaris Razor引擎3.10在WebApi(當前版本2017)中開發API。目前的非測試版本。安全問題:Razor Engine可以在內部進行REST呼叫嗎?

有人擔心「Razor引擎功能強大」並可能發起REST呼叫。這可能嗎?

我明白它是一個模板引擎。有可能在編譯階段或運行階段引擎可以進行REST調用?

我沒有在瀏覽器中呈現模板的最終結果。它僅用於格式化JSON/XMl字符串內容以發佈到我正在編譯的已編譯C#API中的後續REST調用。 Antaris Razor引擎是否可以在內部進行REST調用?

+0

我介紹了一些段落並將其標題化了。 – zx485

回答

0

答案是肯定的。 Antaris Razor Engine可以在運行階段進行REST調用。

它基本上可以運行.Net代碼。它不僅僅是數據綁定和令牌替換。它將模型連接到您的模板並運行您可以編譯的任何.Net代碼。

有些事情稍微難以使用,例如,向字符串的隱式轉換實際上不起作用。我發現.ToString()需要在Visual Studio中編寫時調用。此外,即使按照項目建議完成,空檢查有時也會拋出Object Reference錯誤。我發現將對象模型反序列化爲動態生成的null檢查更加可靠。

總而言之,這是一個偉大的項目,擁有大量的權力。有點怪癖不會阻止我使用它。