gpt4 book ai didi

Silverlight 4、WCF RIA 服务生成不完整的代码

转载 作者:行者123 更新时间:2023-12-03 03:40:37 25 4
gpt4 key购买 nike

  • 我从 Silverlight 业务应用程序模板开始
    • 我将其命名为 MyApp 和 MyApp.Web
  • 我添加了一个新的 SL 应用程序项目。
  • 并添加了一个指向现有 Web 项目的 ria 链接。
    • 我将调用此加载程序

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

  • 我从 MyApp 中删除了 App.xaml 和 App.xs 文件
  • 因为 Loader 现在是应用程序
    • 我将相关代码从 MyApp - App.cs 复制到 Loader - App.cs
    • 我将相关代码从 MyApp - App.xaml 添加到 Loader - App.xaml
    • 这主要是 WebContext 的内容。

问题在于 RIA 服务为 Loader 生成的代码与 MyApp 的代码不同

为 MyApp 生成的代码包含以下命名空间:

  • 我的应用程序
  • MyApp.Web
  • MyApp.Web.Models
  • MyApp.Web.Services

Loader 生成的代码包含命名空间:

  • 装载机

Loader 中的以下代码行 - App.cs 抛出 InvalidOperationException

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

异常的错误消息是:

The DomainContextType is null or invalid and there are no contexts generated from AuthenticationBase<T>

最佳答案

我今天也遇到了同样的问题(使用类似的设置)。环顾四周后,我发现this post on the silverlight forums其中有答案(请在底部查找解决方案,因为 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>

希望这有帮助:)

关于Silverlight 4、WCF RIA 服务生成不完整的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3158753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com