2011-11-04 3 views
1

이 응용 프로그램에는 Performance이라는 하나의 클래스가있는 ServiceStack 응용 프로그램이 하나 있습니다.원격 응용 프로그램에서 DLL의 참조를 가져 옵니까?

이제 최종 사용자가 사용하는 다른 응용 프로그램이 있습니다. 이 콘솔 응용 프로그램은 최종 사용자가 다운로드하고 백그라운드 작업으로 실행됩니다.

해당 응용 프로그램의 성능 데이터를 내 REST 웹 서비스에 POST하고 데이터베이스에 저장하려고합니다. 내 클라이언트 응용 프로그램에서 Performance 클래스가없는

JsonServiceClient client = new JsonServiceClient("http://localhost/RestIntro"); 
     var res = client.Post<Performance>("/Performance", c); 

: 내가 JSON 형식으로 내 ServieStack 응용 프로그램에 게시물 성능 데이터를 내 클라이언트 응용 프로그램이 실행해야하는 내용은

. 변경을해야하는 경우 모든 클라이언트를 업데이트 할 수 있도록 클라이언트에 클래스가있는 것을 원하지 않습니다.

알고 싶습니다. Performance 클래스 또는 DLL을 클라이언트 응용 프로그램에 동적으로 가져올 수 있습니까? 그래서 클라이언트가 실행될 때 웹 서비스에 게시하기 위해 클래스가 생깁니다.

+2

-1 나는 실제로 당신이 말하는 것이 "정말로 까다 롭다"고 생각하지 않습니다. 먼저로드 된 업데이트 프로그램을 확인하고 응용 프로그램 디렉토리에 복사 한 다음 종료합니다. – briantyler

+0

이봐, 난 그냥 당신이 정말로 그냥 애플 리케이션을 업데이 트에 대한 곧장 앞으로 생각하는 것 같아요,이 솔루션을 알고 있지만,이 업데이 트에 대한 내 경우에는 실행중인 exe를 중지하고 대체 싶지 않아요 몇 초 동안 데이터를 중지하고 심지어 네트워크 문제가 발생할 경우에도 새로운 문제가 발생합니다. "mythz"(아래 사용자 프로필 참조)는 내 질문에 답합니다. 서비스 스택의 작성자/개발자이기 때문입니다. 응용 프로그램. (자신의 프로필을 확인하십시오.) –

답변

0

SOAP 서비스를 사용하면 실제로 무엇을 말하는지 알 수 있습니다. 또는 클라이언트에서 "성능"클래스를 만들고 해당 클래스에 JSON 결과를 deserialize해야합니다.

+0

예, 물론 SOAP 서비스에서 사용할 수 있다는 것을 알고 있지만 이것은 제가 찾던 해결책이 아닙니다. –

1

나는 이것이 당신의 서비스의 계약 또는 API을 나타내는 것입니다 당신이 종속성이없는 프로젝트에 ServiceStack 웹 서비스의 DTO들을 유지 분리하는 것이 좋습니다. 자체 어셈블리에있는 경우 클라이언트 또는 유닛 테스트 등과 쉽게 공유 할 수 있습니다.

dll을 복사하는 아이디어가 마음에 들지 않는다면 당신은 참조/메타 데이터 페이지에서 XSD를에서이 질문에 자신의 DTO를 생성 할 수 있습니다. "이 더 높은 우선 순위를 취득하기 투표하세요"에 대한

How can i convert XSD file to C# Class