문제

레일에 웹 사이트가있는 프로젝트와 동일한 데이터베이스 및 데이터 모델을 사용하는 C# GUI가있는 프로젝트를 진행하고 있습니다. 두 부분 사이에 (활성) 모델을 공유하고 싶습니다. 이것이 어떻게 가능한지에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

Ironruby는 정확히입니다.

Ironruby와 함께 Ruby on Rails를 실행해야합니다 (IIS를 통해도 할 수 있음). 그런 다음 Ruby Libraries와 같은 C# 어셈블리를 호출 할 수 있습니다.

시작하기위한 몇 가지 리소스 :

  • http://ironruby.net - 일부 문서가있는 공식 사이트 (가득 차지는 않지만 좋은 정보를 찾을 수 있습니다)
  • http://www.ironshay.com - Ironruby에 대한 여러 게시물이있는 내 블로그. 더 많은 지시가 필요한 경우 연락 양식을 통해 저에게 연락 할 수도 있습니다.
  • http://www.ruby-forum.com/forum/34 -Ironruby Forum/Mailing List, Ironruby 커뮤니티 회원과 팀원들도 답변 한 질문.

다른 팁

짧은 대답은 C# GUI에서 재정의하지 않고는 할 수 없다는 것입니다. 컨트롤러를 RESTFul 물건 대신 WSDL/SOAP로 노출시킬 수 있으면 Visual Studio가 프록시를 생성 할 수 있습니다. C#은 역동적 인 것들에서 정말 나쁘기 때문에 루비 모델을 가져 와서 컴파일해야하기 때문에 C#에서 재사용 할 수 없습니다.

물론 레일의 "편안한"리소스에 대한 자신의 프록시 생성 도구를 작성할 수 있지만 하루가 끝나면 모델 코드를 어떻게 든 복제해야합니다.

Shay와 마찬가지로 Ironruby를 사용하여 격차를 해소 할 수 있지만 ActivereCord 클래스를 재사용하고 싶습니까? ActiveRecord 모델을 재사용하려면 IronRuby는 데이터베이스와 대화하는 방법입니다 (그러나 C#과 잘 통합하려면 모델 주위에 강력한 유형의 랩퍼를 만들어야하므로 실제로는 보이지 않습니다). .

나를 위해 가장 먼저 떠오르는 것은 노출하는 것입니다 편안한 웹 서비스 Rails 응용 프로그램에서 C# 클라이언트 응용 프로그램에서 해당 서비스를 소비하십시오. C# 응용 프로그램에서 Poco를 원할 경우 복제를 피하는 방법을 모르겠습니다. Schema.rb를 읽고 Poco를 생성하는 Codesmith 또는 T4 템플릿을 작성할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top