2012-03-13 2 views
-1

정보를 수집하기 위해 입력 장치를 사용하고, 다른 장치와 통합하고, 보고서를 구성하는 등의 클라이언트 측 기능을 많이 포함하는 COM 컨트롤이 있습니다. 이것을 일종의 .NET 컨트롤 안에 넣고 ASP.NET 응용 프로그램에 추가하십시오. 랩퍼는 서버에있는 데이터베이스와 대화 할 책임이 있으며 작은 비즈니스 로직도 포함합니다. 누구든지 내가 잘 가야 할 좋은 장군이나 더 나은 방향을 가지고 있습니까? .NET에서 C#을 사용하고 있으며 COM 객체는 C++입니다.ASP.NET 응용 프로그램에서 .NET 컨트롤 호스팅

나는 Windows Forms 컨트롤 라이브러리를 만들고 ASP 웹 응용 프로그램에서 호스팅하려고했지만 그만큼 성공하지 못했습니다.

+3

그건 작동하지 않습니다. HTML 및 Javascript로 처음부터 다시 작성해야합니다. – SLaks

+0

현재, .NET 4.0을 사용 중입니다. – user1266976

+0

컨트롤을 다시 쓰는 것은 옵션이 아닙니다. – user1266976

답변

0

Windows OS에서 데스크톱에서 실행되는 System.Windows.Forms (WinForms)와 매우 다른 보안 환경에서 IIS에서 실행되는 System.Web.UI (WebForms)의 차이점을 혼동스럽게 보입니다. ASP.NET. 폼 프로퍼티와 같은 것들이 비슷하게 생겼기 때문에 내부적으로 무엇이든 작동한다는 것을 의미하지는 않습니다. 실제로는 그렇지 않습니다. ASP.NET에서 WebForms의 작동 방식을 자세히 살펴보고 SLaks가 이미 지적한 바와 같이 시도하려는 작업이 사용자가 제안하는 방식으로 작동하지 않는 이유를 이해해야합니다.

2

웹 페이지 내에 ActiveX를 호스팅 할 수 있습니다. ActiveX는 COM입니다. 그러나 브라우저 내부에서 호스팅 될 때 활성 컨트롤이 수행 할 수있는 제한 사항이 있습니다. 브라우저는 일반적으로 샌드 박스를 염두에두고 개발되었으므로 보안 설정과 관련하여 심각한 문제가 발생하여 으로 실행될 수 있습니다. 또 다른 측면은 크로스 브라우저 기능입니다. WinForms는 분명히 또 다른 세계이기 때문에 간단한 양식을 표시하는 방법을 찾더라도 혼란과 붐의 사이에서 가장 확실하게 끝을 맺을 것입니다.

귀하가 궁금한 점에서 고전적인 데스크톱 응용 프로그램을 사용하는 것이 가장 좋습니다. 분명히이 방법이 효과가 있으며 응용 프로그램의 동작 방식을 변경하는 것은 사실 외에도 재 작성 작업에 비용이 너무 많이 소요된다는 옵션이 아닙니다. 제한된 양의 리소스 (돈 및/또는 인간)와 함께 사용하지 않는 다소 복잡한 앱을 웹으로 마이그레이션하면 기존 데스크톱 애플리케이션에 비해 획기적인 프로그래밍 방식을 사용하게됩니다. 말했다

, 당신이 혼란과 붐의 부담을거야 경우, 해당 정보를보고 할 수 있습니다 :

http://codebetter.com/petervanooijen/2007/06/18/including-a-winforms-user-control-in-an-asp-net-web-page/

http://www.codeproject.com/Articles/4953/Simple-way-to-expose-a-NET-WinForm-control-as-an-A

참고 기사를 오히려 오래되었고 문제를 해결하지 못합니다. 양식에서 사용하는 ActiveX/COM 항목은 클라이언트 컴퓨터에 등록되어야합니다 (더 이상 같은 네트워크에 있거나 없을 수도있는 서버에 액세스하는 것과 같은 문제). 보안 설정에 대해 확신 할 수 없습니다.

관련 문제