Silverlight 4,WCF RIA服务生成的代码不完整 我从Silverlight业务应用程序模板开始 我会把这个叫做MyApp和MyApp.Web 我添加了一个新的SL应用程序项目 并向现有web项目添加了ria链接。 我会叫这个加载器

Silverlight 4,WCF RIA服务生成的代码不完整 我从Silverlight业务应用程序模板开始 我会把这个叫做MyApp和MyApp.Web 我添加了一个新的SL应用程序项目 并向现有web项目添加了ria链接。 我会叫这个加载器,silverlight,wcf-ria-services,Silverlight,Wcf Ria Services,这个新的SL应用程序是我的解决方案的入口点,基本上从另一个xap文件加载主页。检查更新等 我从MyApp中删除了App.xaml和App.xs文件 因为Loader现在是应用程序 我将相关代码从MyApp-App.cs复制到Loader-App.cs 我将MyApp-App.xaml中的相关代码添加到Loader-App.xaml中 主要是网络内容 问题是RIA服务为加载程序生成的代码与MyApp的代码不同 为MyApp生成的代码包含以下命名空间: MyApp MyApp.Web My

这个新的SL应用程序是我的解决方案的入口点,基本上从另一个xap文件加载主页。检查更新等

  • 我从MyApp中删除了App.xaml和App.xs文件
  • 因为Loader现在是应用程序
    • 我将相关代码从MyApp-App.cs复制到Loader-App.cs
    • 我将MyApp-App.xaml中的相关代码添加到Loader-App.xaml中
    • 主要是网络内容
问题是RIA服务为加载程序生成的代码与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


我今天也遇到了同样的问题(类似的设置)。在环顾四周之后,我找到了答案(在底部查找解决方案,因为RIA服务中有一些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>

希望这有帮助:)