在我的MVC Web應用程序中,我通過WebClient調用POST到特定的控制器。我需要這個調用是UTF32。但是,每當我使用UTF32執行此操作時,它都不起作用。它返回一個錯誤500.當我切換到UTF8時,它工作得很好。對於UTF32錯誤500,不適用於MVC中的UTF8
這裏是我的UTF32代碼:
var name = SettingsManager.GetScopeAttribute("[Map.Options]", "Name");
using (var client = new WebClient())
{
//client.Encoding = Encoding.UTF8;
client.Headers.Add("Content-Type",
"application/x-www-form-urlencoded; charset=utf-32");
client.UploadData(url, Encoding.UTF32.GetBytes("facebookID="
+ IngamableCommunicator.FacebookProfileID
+ "&name="
+ name
+ "&content="
+ File.ReadAllText(mapPath)));
}
服務器報告此問題:
參數字典包含參數無效項「facebookID「System.Int32」的非可空類型爲'FlamefusionEntertainment.Areas.Scavenius.Controllers.MapCloudController'中的方法'System.Web.Mvc.ActionResult SubmitMap(Int32,System.String,System.String)'。可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。
我與UTF8遇到的問題是,當數據實際上經歷,因爲我有特殊字符(空格不可見等),它保存時,通過實體框架的Microsoft SQL數據庫出錯。
我檢索的數據在某種程度上是畸形的。一些換行符不見了,一些空白不在那裏,等等。
什麼是導致500錯誤的異常?什麼是錯誤細節? – Oded 2011-12-20 21:41:18
就是這樣。它甚至不能執行控制器。即使在控制器第一行的第一個斷點上也沒有。 – 2011-12-20 21:44:30
事件日誌說什麼? – Oded 2011-12-20 21:47:43