2010-01-21 6 views
1

기본적으로 원격 클라이언트가 리소스를 검색하고 업데이트 할 수 있도록 GET 및 PUT 요청을 수락하는 HTTPHandler (C#)를 작성했습니다.C# HttpHandler가 콘텐츠 업로드를위한 PUT 요청을 받아들입니다.

처리기는 내 dev 컴퓨터에서 로컬로 정상적으로 작동하지만 서버에서 실행되는 문제가 발생합니다.

웹 서버 서버는 IIS6 (W2K3 서버 상자에서 실행)입니다.

ASPNET 사용자가 웹 사이트의 특정 영역에 쓸 수 있도록 NTFS를 구성하여 ASP.NET이 파일 보안 문제를 해결하지 않아야합니다. "Get, PUT"동사를 모두 추가 한 Web.config를 확인했습니다.

그러나 PUT 요청의 응답은 항상 403 Forbbiden입니다.

HTTP/1.1 403 Forbidden 
Via: 1.1 WMEPROXY 
Connection: Keep-Alive 
Proxy-Connection: Keep-Alive 
Content-Length: 213 
Date: Thu, 21 Jan 2010 14:47:30 GMT 
Content-Type: text/html 
Server: Microsoft-IIS/6.0 
X-Powered-By: ASP.NET 

<html><head><title>Error</title></head><body><head><title>Execute Access Denied</title></head> 
<body><h1>Execute Access Denied</h1>This Virtual Directory does not allow objects to be executed.</body></body></html> 

내가 놓친 아이디어가 있습니까?

답변

2

당신은 IIS에서 ashx 확장에 PUT 동사를 추가해야합니다 : 내 구성을 다시 확인해 때

alt text http://www.15seconds.com/graphics/issue/060406_02.gif

+0

그래, 나는 그것을 발견. 감사. 추신 : Microsoft는 기본적으로 PUT을 활성화하지 않았습니까? – Philip

+0

PUT 요청은 일반적으로 서버의 파일을 수정하는 데 사용되므로 보안상의 이유로 기본적으로 사용하지 않도록 설정되어 있다고 가정합니다. –

관련 문제