2008-11-13 75 views
26

Tôi có ứng dụng Web .NET 3.5 trên VS 2008 SP1 chạy trên Vista Ultimate 32 SP1. Tôi đã tạo một Ứng dụng dưới Trang Web Mặc định. Vì vậy, url cho ứng dụng là "http://localhost/mysite". Thư mục ứng dụng trỏ đến thư mục giải pháp và nó nằm ngoài thư mục iisroot. Vô danh và tích hợp Auth (Windows) được kích hoạt trong IIS7 cho ứng dụng web này "mysite".Máy chủ Web không thể tìm thấy tài nguyên được yêu cầu

Tôi đã cấp toàn quyền cho người dùng "Dịch vụ mạng" vào thư mục ứng dụng (nằm ngoài iisroot).

Khi tôi nhấn F5 để gỡ lỗi sao, tôi nhận được thông báo "Không thể bắt đầu gỡ lỗi trên máy chủ web. Máy chủ web không thể tìm thấy tài nguyên được yêu cầu". lỗi.


Tôi đã kích hoạt TcpView (Sysinternals) để xem ứng dụng nào đang thực sự chạy và giữ tay cầm trên cổng đó và tôi phát hiện ra không có ứng dụng nào đang nghe trên cổng đó. Điều này thực sự lạ ... Bất kỳ ý tưởng sáng tạo nào?


Tôi có thể nhấn URL "http://localhost/mysite" mà không gặp sự cố. Ứng dụng web đó được thiết lập để trở thành dự án khởi động và Default.aspx là trang khởi động.

Có dịch vụ .asmx trong phần nhả. Default.aspx đang sử dụng dịch vụ asmx đó. AutoCompleteExtender (Từ AJAX Control Toolkit) đang sử dụng dịch vụ asmx này.

Mọi thứ hoạt động bằng cách này. Vấn đề là gỡ lỗi ... Tôi nghi ngờ dịch vụ asmx đang gây ra điều này nhưng tôi không biết. Điều này đang thúc đẩy tôi hạt ...

+0

@Pradeep: Tôi đang chạy Visual Studio làm Quản trị viên. Trong thực tế, nó sẽ không chạy một ứng dụng web dưới IIS của bạn không chạy VS trong admin người dùng. Và có debug = true trong tệp web.config. – harropriiz

Trả lời

1

Đó không phải là vấn đề - bạn làm gì khi làm trang khởi động? Ngoài ra, trong 'Tuỳ chọn Bắt đầu' cho trang web (trong trang thuộc tính), hãy đảm bảo rằng bạn đã chọn 'URL Bắt đầu' và đặt vào Url bạn đã đề cập ở trên.

Lỗi bạn đang gặp phải không được cho phép cụ thể, vì vậy tôi sẽ tìm ở nơi khác - cũng kiểm tra xem bạn có thể nhấn url thành công trước khi gỡ lỗi không (đặt thủ công url trong trình duyệt của bạn) "http://localhost/mysite".

+0

Tuyệt vời! làm việc của nó –

0

Các bạn đã thử:

  • Bật của UAT
  • Thêm người dùng trang web đang chạy dưới (và/hoặc chính bạn) đến Debuggers hoặc nhóm Administrators (tạm thời)
  • Bật IIS khai thác gỗ
+0

Bạn có ý nghĩa gì bởi UAT? Bạn có nghĩa là UAC? Nếu vậy, nó không có gì để làm với vấn đề này. Ghi nhật ký IIS được bật theo mặc định. – harropriiz

0

Chỉ cần đảm bảo, bạn đã thiết lập Debug = true trong web.config chưa. Nói chung khi bạn đang sử dụng máy chủ web sẵn có của VS, sau đó nó có thể phát hiện ra rằng bạn đang cố gắng để gỡ lỗi nhưng cờ gỡ lỗi là tắt và nó cảnh báo bạn. Nhưng trong trường hợp của bạn, bạn đã thiết lập IIS và VS có thể không thể thực hiện việc kiểm tra này.

Một điểm khác là bạn đang chạy trên Vista. Trong vista ngay cả khi bạn là quản trị viên của hệ thống, Vista không coi bạn là Quản trị viên. Mã thông báo bảo mật của bạn được tạo từ người dùng thông thường. Để thực hiện việc gỡ lỗi IIS lưu trữ trang web (lưu ý: khi sử dụng máy chủ web sẵn có, VS 2008 quản lý gỡ lỗi), chạy VS 2008 là quản trị viên. Điều đó có thể giải quyết vấn đề.

+0

Tôi đang chạy Visual Studio với tư cách Quản trị viên. Trong thực tế, nó sẽ không chạy một ứng dụng web dưới IIS của bạn không chạy VS trong admin người dùng. Và có debug = true trong tệp web.config. – harropriiz

0

Tôi đang gặp vấn đề tương tự, nhưng tôi có thể gỡ lỗi nếu tôi đi qua trình đơn Công cụ -> Đính kèm với Quy trình rồi chọn quy trình aspnet_wp.

6

Chỉ cần quản lý để khắc phục điều này trên máy dev của tôi: Tôi đã cài đặt UrlScan và phải thêm DEBUG vào danh sách AllowVerbs. Hy vọng rằng điều này có thể cung cấp cho bạn một cái gì đó khác để đi về?

7

Tôi gặp sự cố tương tự và đã giải quyết vấn đề. Bạn có thể thử làm theo: điều hướng đến thư mục gốc của ứng dụng web của bạn và tìm tệp có quảng cáo mở rộng ".csproj.user" xóa tệp đó. Đóng mọi phiên bản của Visual Studio và bắt đầu lại. Sau đó nhấn F5. Nếu không nhấn CTRL + ALT + P và đính kèm vào quá trình w3wc.exe. Hy vọng điều đó sẽ hữu ích.

+2

CTRL-ALT-P Làm việc một sự quyến rũ. trong windows 2008 r2, vs2010 xóa tệp .user không làm gì cả. – rizzle

+0

Xóa tệp .csproj.user cũng hoạt động cho tôi (không cần khởi động lại trong trường hợp của tôi, bản cập nhật VS2013 4). Chỉ cần làm rõ lý do tại sao nó hoạt động: trước đây tôi đã chọn IIS Express cho dự án của mình, và sau đó chuyển sang IIS. Các .tệp người dùng có cài đặt gỡ lỗi cụ thể cho lựa chọn trước đó của tôi. –

2

Cài đặt Urlscan và thay đổi urlscan.ini bằng những thay đổi này đã giải quyết được sự cố.

Trong ALLOWEXTENSIONS Phần thêm .aspx và trong ALLOWVERBS Phần thêm DEBUG.

Đừng quên khởi động lại IIS.

2

Tôi đã gặp vấn đề tương tự với XP sp3 và tôi đã phải vật lộn trong nhiều ngày. Thêm .aspx và DEBUB vào urlscan.ini đã giải quyết được sự cố.

Xin cảm ơn các bạn.

2

Trong trường hợp của tôi, tôi đã phải sửa chữa Dịch vụ Web Extentions

cụ Adminitrative -> Quản lý máy chủ của tôi -> IIS -> Web Service Extensions

ASP.NET 2.0 đã bị cấm bằng cách nào đó, cố định và nó bắt đầu làm việc.

Chúc mừng!

+4

lol, tôi phải đối mặt với vấn đề đó một lần nữa và tôi đã thử mọi thứ nhưng không may mắn. Trở lại câu trả lời của riêng tôi để tìm kiếm nó. Cảm ơn SO, bạn là bộ não thứ hai của tôi. :) –

+0

Đây chính là vấn đề của tôi. Theo mặc định, ASP 4.0 được cài đặt với bộ này bị cấm. –

0

Chuyển đến thuộc tính của dự án web, sau đó nhấp vào tab "web", sau đó đảm bảo rằng bạn đang sử dụng Visual Studio Development Server chứ không phải Local IIS hoặc máy chủ web tùy chỉnh. Tôi đang ở trên VS2010 với Win7 và một nhà phát triển khác đang phát triển bằng URL máy chủ web tùy chỉnh và không phải là máy chủ VS Dev Server

16

mở IIS7 (chạy> inetmgr) và chuyển đến chế độ xem Tính năng. Mở phần Hạn chế ISAPI và CGI và kiểm tra xem phiên bản .Net của bạn có hạn chế chính xác không (ví dụ: nếu bạn đang làm việc với 4.0 phải là "Được phép")

+0

Trong visual studio 13, công việc này cho tôi .. Đóng tất cả các giải pháp trong Visual Studio mở IIS7 (chạy> inetmgr) Nhấp vào nút trên cùng của bạn (tên máy tính) Mở tùy chọn "ISAPI và CGI Restrictions" kiểm tra xem Phiên bản .Net có hạn chế chính xác (ví dụ: nếu bạn đang làm việc với 4.0 phải là "Được phép") – Refael

1

Tôi đang sử dụng Windows 7 32 bit VS2005 và IIS 7.5. Web.config của tôi đã gỡ lỗi = "true" theo mặc định. Tôi thiết lập đường dẫn vật lý IIS để trỏ đến thư mục phát triển, và làm theo các mẹo trên. Tôi không sử dụng UrlScan. Tôi đang chạy VS2005 với tư cách là quản trị viên. Tôi vẫn không thể làm cho nó hoạt động.

Điều gì khiến nó hoạt động là thêm tài khoản IIS_IUSRS w/toàn quyền truy cập vào thư mục gốc của trang web phát triển và sử dụng CTRL + ALT + P (Đính kèm với quy trình) để đính kèm vào w3wp.exe.

8

Một vấn đề phổ biến khác là trang web hoặc đường dẫn ứng dụng không được bắt đầu.

+2

Aaaaargh! +1 ... Tại sao nó không nói điều này !? –

1

Giải pháp cho vấn đề này khá đơn giản. Nếu trang Web trỏ đến một vị trí khác và nếu Thư mục ảo trỏ đến một thư mục khác, bạn sẽ nhận được lỗi này.

Tôi đề nghị bạn trỏ trang Web vào cùng thư mục với Thư mục ảo và vấn đề sẽ đủ.

36

Đối với những người gặp phải điều này với Visual-Studio 2012 hoặc 2013 và/hoặc Windows 8 hoặc 10 hãy làm như sau.

Bạn phải thêm .Net 3.5 (hoặc 4.5) vào Bật hoặc tắt tính năng của Windows cửa sổ. Bạn có thể nó thông qua:

Control Panel -> Programs -> Turn Windows Features on or off

enter image description here

Nhấp vào Asp.Net 3.5 và hộp Asp.Net 4.5 kiểm tra trong thư mục IIS > WWW Service > Application Development Features.

+0

yep, chỉ cần dành 15 phút cho việc này ... – xandercoded

+1

Tôi đã bị vô hiệu hóa! Đã có thể tìm kiếm lứa tuổi nếu không cho điều này, cảm ơn! +1 –

+0

Làm việc cho tôi. Cảm ơn rất nhiều. –

1

Tôi vừa gặp sự cố tương tự này và không có đề xuất nào hoạt động.

Vấn đề của tôi là URL dự án của tôi đã được đặt thành http://localhost/service. Thay đổi điều này thành địa chỉ IP của tôi đã hoạt động.

+0

đã hoạt động, nhưng tôi cần thay đổi tệp lưu trữ của mình để sử dụng địa chỉ IP của mình. – RayLoveless

2

Trong trường hợp của tôi, tôi phải đăng ký lại ASP.NET cho IIS. Bạn có thể làm điều đó bằng cách chạy lệnh sau đây từ command prompt

systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i 

ví dụ:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i

0

Đảm bảo rằng các Url dự án trong tab Web của các thuộc tính dự án không chứa các ký tự không hợp lệ. Trong trường hợp của tôi, ký tự "+" đã khiến lỗi này xuất hiện.

0

phần trong web.config của tôi này gây ra lỗi:

<security> 
    <requestFiltering> 
     <hiddenSegments> 
      <add segment="......" /> 
      <add segment="....." /> 
      ........ 
     </hiddenSegments> 
    </requestFiltering> 
</security> 

Cẩn thận rewiew nó - có thể tập tin gỡ lỗi của bạn bị hạn chế để xem trực tiếp trong trình duyệt đó.

1

Tôi cũng đang sử dụng trang Web mặc định trên IIS, nhưng không thể khởi chạy nó bằng cách gỡ lỗi hoặc chỉ bằng cách duyệt đơn giản.

Hóa ra Trang web mặc định đã bị dừng !! Bắt đầu nó, và tất cả tốt.

1

Đối với tôi, ai đó đã cập nhật web.config cho Yêu cầu lọc, cụ thể là họ chỉ cho phép động từ GET và POST. Để sử dụng IIS cục bộ, bạn cũng cần phải cho phép động từ DEBUG.

<verbs allowUnlisted="false"> 
    <add verb="GET" allowed="true" /> 
    <add verb="POST" allowed="true" /> 
    <add verb="DEBUG" allowed="true"/> 
</verbs> 
0

Tôi đã thử mọi thứ để không có kết quả, nhưng sau khi tôi nhận được csproj.user, hãy xem và tải trang web xuống. Đừng lo lắng về việc xóa nó, ngay sau khi tải trang web, nó sẽ tạo một trang mới.

2

đối với tôi, trang web mặc định trong IIS đã bị ngừng, sau khi bắt đầu, tôi quản lý để làm cho nó hoạt động

+0

Có. Đảm bảo rằng IIS đang chạy và nhóm ứng dụng thích hợp cũng đang chạy. –

+0

Cảm ơn. nó cũng làm việc cho tôi – MansinhDodiya

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