我使用Xamarin中的脫機同步功能在我的移動應用程序和託管在Azure上的MobileAppService之間同步數據。 我使用了Entity Framework(V6.1.3),使用Visual Studio包管理器使用代碼優先的遷移創建了我的數據庫。數據庫是Azure上託管的Microsoft SQL Server。 當我使用脫機同步時,數據插入到數據庫中沒有問題。但是,當我直接調用web API和JSON發送對象,執行InserAsync
當服務器拋出未知異常(我連接調試器在Azure上運行MobileAppService找出哪些命令導致的問題):ASP .Net - 實體框架 - MobileAppService - 將實體對象推送到後端時出錯
拋出異常:「System.Web.Http.HttpResponseException」在mscorlib.dll
的API端點代碼只是如下:
public async Task<IHttpActionResult> PostUser([FromBody] User item)
{
User current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id , CreatedAt = System.DateTime.Now }, current);
}
這是我如何打電話在我的API Xamarin客戶端:
var JsonContent = JsonConvert.SerializeObject(user);
var httpContent = new StringContent(JsonContent, System.Text.Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync("tables/User/PostUser", httpContent);
令人震驚的是,如果我使用郵遞員調用相同的api入口點,一切工作正常。我很困惑,不能將其他任何事情視爲這個問題的根源。
我發現了web api拋出的異常,並檢查了值。這裏是監視窗口中遠程調試模式下的截圖:
錯誤可能與AzureVersion的價值,但我沒有任何想法如何解決它,因爲版本的請求消息設置爲1.1(當我通過郵遞員調用API時也是如此)。
你能發表一些代碼嗎?你使用的是什麼版本的實體框架?什麼類型的數據庫? –