2010-07-02 2 views
1

원격 요청을 수락하도록 구성된 원격 컴퓨터의 Cassini 웹 서버에 클라이언트의 HTTPWebRequest를 사용하여 POST 요청을 보냅니다. 하지만 URL의 일부로 파일을 지정하지 않았습니다. "http://172.34.142.12:8080/"과 같이 요청을 서버로 직접 보냅니다. 그러나 적절한 응답을 받고 "405 Method not allowed"오류가 발생합니다. 카시니 3.5를 사용하고 있습니다. 이것이 일어날 수있는 이유에 대한 제안?요청 URI가 '/'인 POST 요청을 Cassini 웹 서버에 전송하면 405 오류가 발생합니다. 왜?

+0

당신이 무엇을 의미하는지 확인하기 위해서 - 동일한 원격 호스트에서 같은 URL로 전화를 걸면 제대로 작동합니까? 또한 동일한 기계를 사용하는 경우 POST 호출이 작동합니까? 나는 POST와 PUT가 나를 위해 실패한 Cassini에 대한 호출을 알아 챘다. 그러나 나는 결코 이유를 들어 본 적이 없었다. (이것들은 localhost에 대한 것이었기 때문에 비 관련 이유 일 것이다) –

+0

나는 GET으로 시도하지 않았다. 그러나 POST는 동일한 시스템에서도 작동하지 않습니다. 나는 여전히 같은 문제를 겪고있다. 서버에 직접 데이터를 보내고 있기 때문에 POST를 사용해야하며, 서버 측에서는 데이터를 기반으로 새 프로세스를 만드는 것처럼 보낸 데이터를 처리하도록 Cassini를 수정했습니다. – gofeddy

+0

확인할 사항 : 코드를 수정하고 재생 한 후 GET (원격 컴퓨터)에서 작동했습니다. 그러나 James와 마찬가지로 POST를 사용하여 수행 할 수 없습니다. – gofeddy

답변

1

Cassini는 실행중인 호스트가 아닌 다른 호스트의 요청을 허용하지 않도록 하드 코드되어 있습니다. 보안상의 이유로이 방법으로 프로그래밍되었습니다.

이 기능이 정말로 필요한 경우 자신의 버전을 만들어야합니다. 이를 수행하는 방법에 대한 몇 가지 연습이 있습니다 (here's one). Neokernel은 카시니에 따라 하지입니다 www.neokernel.com

:

+0

내가 사용하고있는 버전이 이것이며 이는 원격 요청도 허용합니다. http://blogs.msdn.com/b/dmitryr/archive/2008/10/03/cassini-for-framework-3-5.aspx – gofeddy

1

우리 회사가 당신을 도울 수 있다는 Neokernel라는 제품을 만든다. 로깅, SSL, 여러 ASP.NET 응용 프로그램 지원, 프로그래밍 방식 구성, 가상 디렉터리 지원 등을 갖춘 작고 독립적 인 어셈블리로 전문적이고 임베드 가능한 ASP.NET 웹 서버이며 IIS가 수행하는 모든 웹 응용 프로그램을 실행합니다. 또한 Mono 프레임 워크와 함께 작동합니다. 우리는 카시니 (그리고 카시니에서 파생 된 다양한 프로젝트)에 많은 문제가 있기 때문에 그것을 개발했습니다.

관련 문제