Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- speechtoText
- 오류종류
- webkitrecognition
- 이행은이미다른
- R데이터분석
- 장고웹
- javaScriptError
- 자바스크립트날짜형식
- 다른테이블에속해있습니다
- 장고웹프로젝트
- PostgreSQL
- Android
- 자바스크립트forinforof차이
- 자바스크립트for문
- 이행은이미다른테이블에속해있습니다
- cmd명령어
- 자바스크립트수학
- 자바스크립트날짜
- 파이썬
- 자바스크립트날짜get
- speechAPI
- 개발
- 안드로이드
- sqlite
- forof문
- 장고
- 청소년복지론
- Python
- 사례관리
- 장고프로젝트
Archives
- Today
- Total
EMDI는 지금도 개발중
C# : HttpWebRequest sync 동기식, async 비동기식 본문
//------------------------------------------------------------------
// http - sync 동기식
//------------------------------------------------------------------
HttpWebRequest httpReq = (HttpWebRequest)HttpWebRequest.Create(TargetURi);
httpReq.Method = "POST";
httpReq.ContentType = "application/json;";
using (StreamWriter streamWriter = new StreamWriter(httpReq.GetRequestStream()))
{
streamWriter.Write(RequestJson);
streamWriter.Flush();
streamWriter.Close();
}
httpRes = (HttpWebResponse)httpReq.GetResponse();
Stream RESULT_STREAM = httpRes.GetResponseStream();
//------------------------------------------------------------------
// http - async 비동기식
//------------------------------------------------------------------
httpReq = (HttpWebRequest)HttpWebRequest.Create(TargetURi);
httpReq.Method = "POST";
httpReq.ContentType = "application/json;";
// 비동기식 방법을 사용하게 될 경우 두 번이상의 호출 프로세스를 가질 수 있기 때문에
// 런타임 오류 발생 가능성이 있다. 한 UITread에서 하나의 HttpWebRequest를 허용하기 ㄸ때문에
// 그러므로, request가 종료되기 전에 새로운 request가 발생하지 않도록 로직 주의
httpReq.BeginGetRequestStream(new AsyncCallback((IAsyncResult reqAsyncResult) =>
{
try
{
HttpWebRequest request = (HttpWebRequest)reqAsyncResult.AsyncState;
// End the operation
Stream postStream = request.EndGetRequestStream(reqAsyncResult);
// Convert the string into a byte array.
byte[] byteArray = Encoding.UTF8.GetBytes(RequestJson);
// Write to the request stream.
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
}
catch (Exception e)
{
Trace.WriteLine(e.ToString());
}
}), httpReq);
httpReq.BeginGetResponse(new AsyncCallback((IAsyncResult resAsyncResult) =>
{
try
{
using (HttpWebResponse response = (HttpWebResponse)httpReq.EndGetResponse(resAsyncResult))
{
Stream RESULT_STREAM = response.GetResponseStream();
response.Close();
}
}
catch (Exception e)
{
Trace.WriteLine(e.ToString());
}
}), httpReq);
'언어 > C#' 카테고리의 다른 글
C# : 이 행은 이미 다른 테이블에 속해있습니다. System.ArgumentException 오류 (0) | 2021.04.26 |
---|---|
C# : 실행프로그램(exe)만 있어도 BouncyCastle.CryptoExt.dll 참조 가능하도록 설정 (dll을 포함한 단일 exe배포) (0) | 2021.03.30 |
C# : MDIControl TabControl안에 자식 프레임 MDIForm 넣기 (0) | 2021.03.26 |
C# : DataGridView DataSource를 DB에서 가져온 DataTable 정보로 세팅 (0) | 2021.03.11 |
C# : 체크콤보박스 창사이즈 늘리기 CheckedComboBoxEdit Popup Resize (0) | 2021.03.03 |
Comments