2011-07-13 39 views
9

Dự án Visual Studio 2010/ASP.NET/ASP.NET Máy chủ phát triểnKhông thể kết nối máy chủ phát triển ASP.NET (VS2010) qua địa chỉ IP

Tôi có thể chạy và gỡ lỗi dự án VS2010 ASP.NET từ máy tính phát triển của mình (nơi VS2010 chạy). URL: http://localhost:port/MyApp.htm hoạt động tốt.

Vì tôi muốn thử nghiệm ứng dụng từ một IPad là tốt, tôi cần phải gọi các ứng dụng với địa chỉ IP của nó như http://192.168.0.132:port/MyApp.htm

Trước sự ngạc nhiên của tôi điều này không làm việc, không phải từ IPad, cũng không phải từ dev. máy tính. Nó không phải là vấn đề kết nối, địa chỉ là đúng/ping là có thể.

(Lưu ý rằng tôi không có IIS được cài đặt trên máy tính này, trên thực tế các ứng dụng ASP.NET là đồng bằng HTML + JS, tôi sử dụng VS2010 chỉ để gỡ lỗi.)

Bất kỳ workaround cho điều này?

+0

bạn đã thử thay đổi nó để chạy IIS nhanh thay vì Cassini? Cassini không nên được sử dụng nữa nó không phải là tương tự đủ để IIS trong khi IIS express về cơ bản là IIS. –

+0

Máy chủ phát triển Cassini (được gọi là) "?" Tôi không có IIS cài đặt trên máy tính này, nhưng ý tưởng tương tự vượt qua tâm trí của tôi. Tuy nhiên tôi đã tò mò vấn đề là gì ... và nếu nó có thể được giải quyết. –

+0

Ok, đó là: http://en.wikipedia.org/wiki/Cassini_Web_Server –

Trả lời

10

Visual server Development Studio sẽ chỉ phục vụ trang để máy cục bộ:

Từ Web Servers in Visual Web Developer:

Nếu bạn không thể hoặc không muốn sử dụng IIS làm máy chủ web của bạn, bạn có thể vẫn kiểm tra các trang ASP.NET của bạn bằng cách sử dụng ASP.NET Phát triển phục vụ r. Máy chủ phát triển ASP.NET, được bao gồm trong Visual Web Nhà phát triển, là một máy chủ Web chạy cục bộ trên các hệ điều hành Windows , bao gồm Windows XP Home Edition. Nó được đặc biệt xây dựng để phục vụ, hoặc chạy, các trang Web ASP.NET theo kịch bản máy chủ cục bộ (duyệt từ cùng một máy tính với máy chủ Web). Nói cách khác, Máy chủ Phát triển ASP.NET sẽ phân phát các trang theo yêu cầu của trình duyệt trên máy tính cục bộ. Nó sẽ không phục vụ các trang đến một máy tính khác. Ngoài ra, nó sẽ không phân phối các tệp nằm ngoài phạm vi áp dụng . ASP.NET Development Server cung cấp một cách hiệu quả để kiểm tra các trang cục bộ trước khi bạn xuất bản các trang đến một máy chủ sản xuất chạy IIS.

Máy chủ phát triển ASP.NET chỉ chấp nhận yêu cầu được xác thực trên máy tính cục bộ. Điều này yêu cầu rằng máy chủ có thể hỗ trợ NTLM hoặc Xác thực cơ bản.

Nếu bạn muốn kiểm tra các trang từ xa, bạn sẽ cần phải sử dụng IIS hoặc IIS Express.

+0

+1 để sử dụng iisexpress –

1

Bạn cần phải thiết lập một trang web trong IIS, và triển khai các giải pháp cho thư mục ảo cho các ứng dụng để có thể truy cập thông qua một địa chỉ IP bên ngoài của localhost (127.0.0.1)

2

Tôi đã gặp phải sự cố tương tự này và đã tìm ra giải pháp tuyệt vời. Bạn có thể sử dụng SPI Port Forwarder (hoặc một công cụ tương tự) để chuyển tiếp các yêu cầu bên ngoài đến máy chủ web phát triển VS. Nó hoạt động rất tốt và bạn có thể bật và tắt nó khi cần thiết.

Kiểm tra các thông tin ở đây: Accessing the Visual Studio ASP.NET Development Server from iPhone & iPad

+0

Đây là một ý tưởng hay, cảm ơn –

+0

BTW, bạn có vô tình bỏ phiếu câu hỏi này xuống không chính xác với câu trả lời của bạn đã được bình chọn. Vì nó không có khả năng downvote và trả lời cùng một câu hỏi tôi chỉ tò mò. –

+0

Tôi đang sử dụng SPI Port Forwarder nhưng vẫn nhận được 'Bad Request - Invalid Hostname HTTP Error 400' Bất cứ điều gì khác tôi cần phải làm khác hơn là chỉ chuyển tiếp cổng? – epalm

2

http://opensource.oxyva.nl/simple-development-proxy dường như làm việc xung quanh Visual Studio Express 2012 cho Web không cho phép các kết nối từ các thiết bị khác như iPhone, iPad vv mà dẫn đến "Lỗi HTTP 400: Bad Request - Hostname không hợp lệ"

dường như có một giải pháp khác như mô tả trong: visual web developer Web service on debug HTTP/1.1 400 Bad Request

+0

Bạn đang rung chuyển @osi. Đơn giản nhất của tất cả các giải pháp tôi đã thử. Cảm ơn một tấn. Ước gì tôi có thể cho bạn +10 :) –

Các vấn đề liên quan