簡體   English   中英

Silverlight 4,WCF RIA Services生成的代碼不完整

[英]Silverlight 4, WCF RIA Services generated incomplete code

  • 我從Silverlight業務應用程序模板開始
    • 我將稱之為MyApp和MyApp.Web
  • 我添加了一個新的SL應用程序項目。
  • 並添加了一個ria鏈接到現有的Web項目。
    • 我會稱這個裝載機

這個新的SL應用程序是我的解決方案的入口點,基本上從其他xap文件加載主頁。 檢查更新等

  • 我從MyApp中刪除了App.xaml和App.xs文件
  • 因為Loader現在是應用程序
    • 我將相關代碼從MyApp - App.cs復制到Loader - App.cs
    • 我將相關代碼從MyApp - App.xaml添加到Loader - App.xaml
    • 這主要是WebContext的東西。

問題是RIA Services為Loader 生成的代碼與MyApp代碼的代碼不同

生成的MyApp代碼包含以下命名空間:

  • MyApp的
  • MyApp.Web
  • MyApp.Web.Models
  • MyApp.Web.Services

生成的Loader代碼包含命名空間:

  • 裝載機

Loader中的以下代碼行 - App.cs拋出InvalidOperationException

WebContext.Current.Authentication.LoadUser(this.Application_UserLoaded, null);

異常的錯誤消息是:

DomainContextType為null或無效,並且沒有從AuthenticationBase<T>生成的上下文

我今天遇到了同樣的問題(有類似的設置)。 看了一下之后,我在silverlight論壇上找到了這個帖子,它有答案(查看底部的解決方案,因為RIA Services中有一些API更改)。

簡而言之,問題是您的WebContext無法找到在您的情況下處理LoadUser的DomainContext(在本例中為AuthenticationContext )。 要解決此問題,您需要將以下內容添加到App.xaml

<Application.ApplicationLifetimeObjects>
    <dmnsvc:WebContext>
        <dmnsvc:WebContext.Authentication>
            <appsvc:FormsAuthentication>
                <appsvc:FormsAuthentication.DomainContext>
                    <!--Your AuthenticationContext here-->
                </appsvc:FormsAuthentication.DomainContext>
            </appsvc:FormsAuthentication>
        </dmnsvc:WebContext.Authentication>
    </dmnsvc:WebContext>
</Application.ApplicationLifetimeObjects>

希望這可以幫助 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM