2012-12-04 2 views
0

나는 클라이언트에 데이터를 보내기 위해 signalp와 함께 asp.net 웹 API를 구현했다.signal.R을 사용하여 ASP.Net 웹 API의 날짜 형식을 변환하는 방법은 무엇입니까?

페이로드는 Asp.Net 웹 API에서 signalR을 통해 DateTime 값을 브라우저로 푸시 (push)하는 것으로 구성됩니다. 30 : 18하지만 난 즉 microsoftdate 형식의 데이터를 싶다 "\ 날짜 (...)"

데이터가 브라우저 나 ISO 형식 즉 2012-12-04T19 날짜를 점점 오전에 recievied 때

문제는

var json =config.Formatters.JsonFormatter; 
     json.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat; 

을하지만 여전히 같은 일을 받고 "2012-12-04T19 : 30 : 18"이를 위해

내가 asp.net 웹 API의 Global.asax에있는 Application_Start 이벤트에 다음을 시도 작동합니다.

아이디어가 있으십니까?

답변

4

SignalR 1.0을 시작으로, 당신은과 같이 사용자 정의 설정으로 시작 응용 프로그램에 자신의 JsonNetSerializer을 등록 할 수 있습니다 : 나는

using System; 
using System.Web; 
using Microsoft.AspNet.SignalR; 
using Newtonsoft.Json; 

namespace MyApp 
{ 
    public class Global : HttpApplication 
    { 
     protected void Application_Start(object sender, EventArgs e) 
     { 
      var settings = new JsonSerializerSettings(); 
      settings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; 
      var serializer = new JsonNetSerializer(settings); 

      GlobalHost.DependencyResolver.Register(typeof(IJsonSerializer),() => serializer); 
     } 
    } 
} 
+0

감사 halter..thats 원 exaclty. 위의 구현은 효과가있다. – user1213831

0

나는 현재 실행중인 문제에 완전히 따르지 않았지만 서버에서 클라이언트로 현재 DateTime을 전달하고 읽으려고한다고 가정합니다.

당신이 그것을 보낼 수있는 경우/다음 (모든 직렬화 변경 필요 없음)을 통해 분석 : SignalR datetime format

이이 날짜를 읽을 수있는 자바 스크립트 방법입니다.

관련 문제