Tôi đã có cùng một vấn đề, đó là một dự án asp.net sử dụng signalR, nó hoạt động đúng trước khi tôi xuất bản nhưng khi tôi lưu trữ nó trong IIS, nó không.
Sau khi tôi kiểm tra tôi nhận ra địa chỉ/signalr/hub là không đúng, hãy để tôi giải thích thêm, chỉ cần làm theo các bước sau:
Mở ứng dụng web của bạn trong trình duyệt (Sử dụng IIS), bạn thấy giao diện bạn thiết kế, phải không? bây giờ nhấn ctrl+U
hoặc nhấp chuột phải vào trang chọn Nguồn trang Xem.
Bạn sẽ thấy nhiều liên kết bắt đầu bằng <script>
thẻ ở đầu trang, tìm nội dung như <script src="/signalr/hubs"></script>
bây giờ nhấp vào nó, nếu bạn được đưa đến trang có liên quan đến "404 - Tệp hoặc thư mục không tìm thấy". có một số sai lầm khi xác định địa chỉ, tìm địa chỉ thực và thay đổi địa chỉ trong thanh địa chỉ để quan sát kết quả thực sự
Trong trường hợp của tôi, tôi cần thêm tên dự án ở đầu địa chỉ, vì vậy tôi phải thay đổi địa chỉ từ:
<script src="/signalr/hubs"></script>
để
<script src="/MoveShape/signalr/hubs"></script>
trong đó MoveShape là tên dự án của tôi, bây giờ sau khi nhấn ctrl+U
trong trình duyệt và theo các bước nói trên, bạn nhấp vào liên kết và lần này bạn sẽ thấy kết quả đúng, mã hiển thị trang bắt đầu bằng:
/*!
* ASP.NET SignalR JavaScript Library v2.2.2
* http://signalr.net/
*
* Copyright (c) .NET Foundation. All rights reserved.
* Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
*
*/
yeah! đó là nó, nó hoạt động đúng, ghi nhớ rằng nó không có vấn đề khi tôi đã thử nghiệm nó bằng cách sử dụng Visual studio nhưng không sau khi lưu trữ trong IIS, như những người khác đã đề nghị thực hiện một địa chỉ chính xác bằng cách áp dụng <%= ResolveUrl("~/") %>
hoặc các phương pháp khác.
Nguồn
2018-01-15 07:16:10
Ah Có! điều này làm việc tuyệt vời, cảm ơn! –
nó cũng làm việc cho tôi! cảm ơn Chridam rất nhiều. Vấn đề của tôi là máy chủ đang tìm kiếm "localhost/signalr/hubs" sau đây (được xác định bằng bảng điều khiển dành cho nhà phát triển Chrome). Trong thực tế, url là động và do đó, điều này sẽ không nhận được tệp js cần thiết. –