프로그래밍/C# & .NET 17

WorkFlow에서 CustomActivity 메모

- 각 Activity에서 State나 Static 변수등은 저장되지 않음. ThreadLocal도 마찬가지. Context에 저장해야 한다. - DBActivity가 곧 나올 예정 (DataBaseActivity Pack이라는 형태로 제공될 예정) * 트렌젝션 Scope 및 관리 기능 있음 - CustomActivity는 NativeAcitivity,CodeActivity 등이 있음. CodeActivity는 Constraint가 심함, NativeActivity는 자유도가 제일 높음 Activity Designer - Custom Activity에 대한 UI 디자이너. AppFabric이 들어오면서 IIS 기반 프로그래밍 모델이 꽤 바뀌는 듯. 이런 자체는 좋은데, Context 객체를 통한 데이타 ..

.NET 4 WCF를 이용하여 REST 컴포넌트 개발하기

WCF 4.0으로 REST 서비스 구현하기 윈도폰 7 스터디 하다가, 다음 단계로 서버와 연결하려는 걸 하려고 생각하다 보니, REST 컴포넌트가 필요해서 어찌어찌하다가 .NET으로 REST 컴포넌트 를 구현해봤는데, 자바쪽에서 JAX-RS (Jersey)로 구현해봤던 경험때문인지 약 2일 정도만에 상당히 완성도 있는 REST 컴포넌트를 구현해낼 수 있었다. REST의 개념과 디자인 방법에 대해서는 다른 문서를 참고하고. .NET에서 REST 구현 방법에 대해서 알아보도록 하자 기본 REST 서비스 구현 만들고자 하는 애플리케이션은 간단하다. 이메일을 KEY로하고, 이름과 전화번호를 저장하는 REST서비스를 만들것이다. Visual Studio 2010에서는 WCF(Windows Communication..

WF (Workflow Foundation)

.NET에서 WCF와 함께 관심이 가는 것이 WF (Workflow Foundation)인데 말그대로 프로세스를 그릴 수 있는 프레임웍이다. BPM,Orchestration 등등의 모든 프로세스를 디자인할 수 있는데, 흥미로운것중의 하나가, 이 WorkFlow 디자인 GUI를 떼어내서 다른 툴에서 쓸 수 있다는 것이다. 즉 Custom WorkFlow Designer를 만들 수 있다는 말씀.(Workflow Designer Re-Hosting)이라고 함. 사실 Mesh up 도구나 SDP의 SDE (Service Development Environment)등을 만들때 이 프로세스 디자이너를 구현하는게 꽤나 복잡한 부분인데, 이를 이용하면 해결할 수 있을듯. [참고:http://msdn.microsoft...

AppFabric (ESB + DataGrid) - 윈도우즈서버 새 기능

Oracle Coherence나 Open source memcached와 같은 메모리 그리드 솔루션은 아키텍쳐를 그리는 데 상당한 효과를 발휘한다. 메모리 그리드랑, 간단하게 이야기 하면 Java의 HashTable이 무제한 용량으로 확대 가능하고, 어느 server instance에서도 접근이 가능하며, 장애시 Fail over를 통해서 고가용 서비스가 가능한 솔루션을 이야기 한다. 물론 Oracle Coherence가 .NET도 지원하기는 하는데, 이왕이면 MS도 이런게 있었으면 했는데, 새 윈도우즈 Server에 나왔다. AppFabric이라는 일종의 윈도우즈 미들웨어인데, 일단 데이타 그리드의 성격을 가지고 무제한 클러스터링이 가능하다.. (물론 열어봐야 알겠지만..) 데이타 그리드로써도 의미가 ..

WCF REST 구현시 URL Rewriting

URL rewriting이란, WebServer에 들어온 Request의 URI를 변경해서 WAS에 전달하는 것이다. 예를 들어 http://localhost/service/Customer 이런것을 http://localhost/Customer 식으로 특정 문자열을 빼거나 더할 수 도 있고 http://www.store.com/products.aspx?category=books 게 들어온 요청을 http://www.store.com/products/category/books 이렇게 바꿀 수 도 있다... RESTful 설계시에 매우 유용한데, 예전에 WebLogic으로 구현했을때는 Apache Proxy Plug in 을 이용했는데, IIS에서도 비슷한 형태로 구현이 가능할듯.. 자료 원본 : http:..

WCF REST 프레임웍에서 Http Header Control하기

당연히 될줄 알았지만 생각보다 쉽게 된다. == 15 private void SetCaching(WebOperationContext context, DateTime lastModifiedDate, Int32 maxCacheAge){ 16 17 // set CacheControl header 18 HttpResponseHeader cacheHeader = HttpResponseHeader.CacheControl; 19 String cacheControlValue = String.Format("max-age={0}, must-revalidate", maxCacheAge); 20 context.OutgoingResponse.Headers.Add(cacheHeader, cacheControlValue); 21 ..

WCF로 REST 개발이 된다. VS 2010에서 세팅하기

WCF가 예전에 REST 지원한다는 이야기가 생각나서, SDP 플랫폼 구현 가능성 체크해볼라고 간략하게 체크해봤다. WCF에서 REST개발은 별도의 라이브러리가 필요하다. VS2010환경에 낮선 나로써는 좀 더 쉬운 방법을 찾아야 했는데, Project Template이 REST용으로 세팅되어 있는게 있다. New > Project에서 Online Template을 선택한후에, WCF REST C# 템플릿을 선택하면 된다. 자동으로 생성된 코드를 체크하고, 간단하게 테스트를 해봤는데... 일단 잘된다. 프로그래밍 모델도 자바의 Jersey나 Apache CXF와 비슷하다 (JAX-RS 스펙과 유사) [ServiceContract] [AspNetCompatibilityRequirements(Requirem..

WCF가 몬가 했더니..

간단하게 튜토리얼 보고 테스트 프로그램 하나 짜서 송수신 전문을 봤더니... 송신 전문 http://tempuri.org/IEvalService/GetEvals urn:uuid:489b8c48-e094-418e-8f6b-60321ffc9d38 http://www.w3.org/2005/08/addressing/anonymous 수신 전문 http://tempuri.org/IEvalService/GetEvalsResponse urn:uuid:dfac6ed4-fbcc-46d6-9fd8-38ed4604aa4c 2010-06-25T02:50:53.419Z 2010-06-25T02:55:53.419Z 0 24 pxd/ozyLoq7PsUk2mw2X2A== 3eijqwLZYaqrBjcduAkjow== OHkE4mba4..