首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight4 WebContext

Silverlight4 WebContext
EN

Stack Overflow用户
提问于 2011-04-29 05:24:10
回答 1查看 362关注 0票数 1

我已经构建了一个Silverlight4应用程序,并且遇到了一个问题。

我将我的应用程序拆分为多个xap(不同的子系统),以减少下载/提高性能,因为并非每个用户都需要所有的子系统。

但是,我希望在xap之间共享WebContext,而不是再次进行身份验证并为每个xap设置WebContext。

这个是可能的吗?如果是这样,我如何才能实现它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-29 07:48:38

您需要与所有应用程序共享库。因此,假设您有3个名为Project1.xap、Project2.xap和Project3.xap的XAP项目。所有这些项目都应该引用另一个具有共享逻辑的silverlight类库。在这个共享项目中,您可以创建一个由根应用程序实现的接口。让我们称其为IApplicationContext。

根应用程序是加载所有其他XAP的XAP文件。让我们称它为Root.xap。这个XAP将管理身份验证并创建一个IApplicationContext实现,它将在创建时将该实现传递给其他XAP。

代码语言:javascript
复制
// This is available for all projects (shared.dll)
public interface IApplicationContext
{
    string Username { get; }
    Guid SessionId { get; }
    // ...
}

// This is implemented in the root application (Root.xap)
public class MyAppContext : IApplicationContext
{
    public string Username { get; private set; }
    public Guid SessionId { get; private set; }
    // ...
}

您可以在应用程序之间共享任何内容,这将使您单独的项目保持可测试性,因为您始终可以存根/模拟IApplicationContext。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5825223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档