Điều này phải là một cái gì đó thực sự câm nhưng tôi không thể nghĩ phải làm gì khác.api web hiển thị lỗi 403.14 khi localhost: số cổng nằm trong địa chỉ trình duyệt trong iis express
Sử dụng Visual Studio 2013 - Cập nhật 1, tôi đã tạo một dự án api 2 web trống trong một giải pháp hiện có, thêm gói hỗ trợ gốc (cors) và tạo bộ điều khiển api web cơ bản.
Lớp WebApiConfig có vẻ là tốt:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*","*","*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Và cũng Global.asax
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
sau đó tôi chạy các ứng dụng, IIS khởi động nhanh thường và trình duyệt bắt đầu với url của ứng dụng nhưng không có gì có vẻ hiệu quả.
Nếu URL là "localhost: port number" tôi nhận được Lỗi HTTP 403.14 - Bị cấm Máy chủ web được định cấu hình để không liệt kê nội dung của thư mục này.
Nếu tôi thử "localhost: port number/api" tôi nhận được Lỗi HTTP 404.0 - Không tìm thấy Tài nguyên bạn đang tìm kiếm đã bị xóa, tên của nó đã thay đổi hoặc tạm thời không khả dụng.
Tôi đã xem một số blog, hướng dẫn, ví dụ và tôi chưa từng thấy bất kỳ nơi nào đặc biệt cần được thực hiện. Ai đó có thể vui lòng làm sáng tỏ một số thứ tôi có thể bị thiếu?
Tôi cũng đã cố gắng đó và tôi nhận được nhà thám hiểm "Trang web không thể hiển thị trang" và là nguyên nhân "Trang web này có một lỗi lập trình" –
Can bạn đăng một số lớp điều khiển của bạn để chúng tôi có thể xem những gì các phương pháp của bạn trông như thế nào? – jensendp
Hóa ra tôi đã cố gắng sử dụng tên tùy chỉnh cho các phương thức và sau đó nhận ra rằng api này chỉ thừa nhận các động từ http tiêu chuẩn trừ khi định nghĩa tuyến đường được thay đổi mà không phải là yêu cầu của tôi. Cảm ơn bạn đã dành thời gian trả lời câu trả lời của bạn đã làm cho tôi nhận ra điều này. –