5

Tôi đã thực hiện sự thất vọng của mình đến mức tối đa trong khi cố gắng triển khai ứng dụng Lightswitch đến máy chủ Windows 2008 R2 chạy IIS 7.5. Khi điều hướng đến việc áp dụng, tôi nhận được sau execrated error:LightSwitch 'Microsoft-LightSwitch-Security-ServerGenerated-Implementation-AuthenticationService.svc' không tồn tại

Load operation failed for query 'GetAuthenticationInfo'. The remote server returned an error: NotFound.

Cả dấu vết NET và máy chủ Event Log có điều này để nói về nó:

Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/63835064 Exception: System.Web.HttpException (0x80004005): The service '/Web/Microsoft-LightSwitch-Security-ServerGenerated-Implementation-AuthenticationService.svc' does not exist.

Cấu hình chi tiết như sau:

  • Tôi đã chọn "Không bật xác thực" trong các tùy chọn Kiểm soát truy cập của tôi.
  • Trong tùy chọn xuất bản "Cấu hình máy chủ ứng dụng" của tôi, tôi chọn hộp kiểm Máy chủ IIS với điều kiện tiên quyết không được chọn.
  • Trong "Xuất bản đầu ra", tôi đang tạo một gói trên đĩa cục bộ của mình. Sau đó, tôi sẽ sao chép gói đó vào máy chủ và chạy .deploy.cmd theo cách thủ công, điều này có vẻ hoạt động tốt.
  • Kết nối cơ sở dữ liệu của tôi trong "Kết nối khác" là chính xác - đó là thông tin đăng nhập SQL hoạt động từ hộp của tôi và các trang web khác trên máy chủ này kết nối với cùng một máy chủ DB mà không gặp sự cố.

Về phía server:

  • Trang web đang chạy trong ứng dụng hồ bơi riêng của mình trong .NET 4.0 Integrated Mode, sử dụng ApplicationPoolIdentity.
  • Chỉ xác thực ẩn danh mới được bật.

Những gì tôi đã cố gắng:

  • cài đặt tất cả những thứ LightSwitch cho năm 2011 và 2012 từ Web Platform Installer.
  • Cài đặt RiaServices.msi.
  • Đã sửa chữa .NET 4.5.
  • Ran aspnet_regiis -i

Không ai trong số những có bất kỳ tác dụng gì cả. Các gợi ý duy nhất tôi có về các lỗi in đậm ở trên là .svc được tạo ra trong thời gian chạy, và rằng nó sẽ ném một lỗi 404 nếu một số vấn đề khác xảy ra vào cuối WCF. (Đó là lý do tại sao tôi đã thử cài đặt RiaServices.msi.)

Tôi có thể "Từ xa xuất bản lên máy chủ ngay bây giờ" tới IIS Express cục bộ của riêng mình và ứng dụng hoạt động tốt. Tuy nhiên, việc sao chép các tệp đó vào máy chủ từ xa mang lại kết quả tương tự như trước đây.

Bất kỳ đề xuất nào về cách khắc phục sự cố này thêm?

Trả lời

4

Vấn đề là ứng dụng Lightswitch đang triển khai với Microsoft.Data.Services 5.0.2.0, nhưng Microsoft.LightSwitch.Server 11.0.0.0 phải tham chiếu Microsoft.Data.Services 5.0.0.0. Khi tôi triển khai 5.0.0.0 lên máy chủ web, ứng dụng chạy như mong đợi.

Tôi đã tìm thấy sự cố này bằng cách cố gắng điều hướng trực tiếp đến /Microsoft.LightSwitch.SecurityData.svc, một dịch vụ tĩnh triển khai với ứng dụng và sau đó làm theo hướng dẫn YSOD.

+1

Tải xuống này là những gì bạn cần cài đặt trên máy chủ để thêm các thiếu Microsoft.Data.XXX 5.0.0.0: http://www.microsoft.com/en-us/download/confirmation.aspx?id=29306 – DCastenholz

+0

Giờ khắc phục sự cố này. Cài đặt WcfDataServices (tải xuống từ liên kết được cung cấp bởi DCastenholz) là giải pháp cho vấn đề cụ thể của tôi. –

2

Tôi đã gặp phải sự cố tương tự. Vào ứng dụng của bạn trên IIS, sau đó kích đúp vào Authentication. Chọn Xác thực Windows và tắt tính năng đó.

+0

Cảm ơn bạn đã phản hồi, nhưng như đã nêu ở trên, chỉ xác thực ẩn danh được bật cho trang web này trong IIS. –

+0

Nếu bạn cố ý vô hiệu hóa Xác thực ẩn danh, hãy kiểm tra câu trả lời bằng Facio Ratio. – DCastenholz

4

Nếu bạn gặp vấn đề này sau khi bạn đã cài đặt Visual Studio 2013 hoặc đã cài đặt phiên bản .NET có OData mới hơn 5.0.0.0 trên hộp phát triển của bạn, sự cố xảy ra vì phiên bản OData mới đã được cài đặt và dự án LightSwitch Server hiện đang sử dụng chúng (không tương thích). Bạn có thể giải quyết vấn đề bằng cách cập nhật Server.csproj (hoặc vbproj) để tham khảo phiên bản trước của các hội đồng OData.

Thêm nút HintPath đến 5 mục lắp ráp sau trong máy chủ của bạn \ Server.CSProj

<Reference Include="Microsoft.Data.Edm"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Edm.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.OData"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.OData.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.Services"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.Services.Client"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Spatial"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\System.Spatial.dll</HintPath> 
    <Private>True</Private> 
</Reference> 

Vấn đề này không xảy ra trên các dự án đã được nâng cấp lên hệ thống dự án V3 (với VS 2012 Cập nhật 2) hoặc các dự án V4 (VS 2013) bởi vì chúng tôi đã giải quyết cách các hội đồng này được tham chiếu như thế nào. Vì vậy, một giải pháp thay thế là nhấp chuột phải vào dự án và chọn "Nâng cấp dự án"

David Kidder | SDET cao cấp | Microsoft | LightSwitch

LightSwitch Forum Post Answer to this Question