![](/img/trans.png)
[英]WebApp/SQL Server - Encrypted connection string vs. trusted connection
[英]ContentResult vs. string
最近有人問我為什么要使用ContentResult
而不是返回string
。 不幸的是,我無法給出比“這是最佳實踐”更好的答案。
有人有更好的答案嗎?
為了更好地理解這個問題。 有什么不同?
public ActionResult Foo(){
return Content("Some string");
}
public string Bar(){
return "Some string";
}
如果您返回除ActionResult
以外的其他內容,則默認行為是創建一個ContentResult
將調用ToString()
的結果包裝在您返回的任何內容上(如果返回null
EmptyResult
)。 我能想到的明確返回ContentResult
:
ToString()
調用。 如果您返回string
,這無關緊要,但返回復雜類型可能會產生意外結果。您不能在返回 ActionResult 的方法上返回字符串,因此此時您可以使用 ContentResult 返回一個純字符串,如下所示:
public ContentResult Hello()
{
return Content("hello world!");
}
ContentResult 默認返回一種text/plain
類型。 如果您只需要返回一個字符串,那么您將使用該方法返回一個字符串
返回 ContentResult 有助於保護您的應用程序。
例如,如果您的應用程序允許來自用戶的輸入,惡意用戶可能會嘗試解析 javascript 文本。 這將阻止 javascript 在您的應用程序中執行
我所知道的一個區別是:
如果需要,內容返回結果不帶引號。
字符串返回結果一直在引號中。
另一個區別是內容結果可以返回不同內容的結果。 如字符串、Html、JavaScript 結果等。
但字符串只返回字符串結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.