日期:2014-05-20  浏览次数:20790 次

一个关于CAB的问题,在类似BankTeller示例的BankShell项目中,如何调用BankTellerModule项目中的Service进行用户验证?
您好!您将解决我一个困扰多天的问题!
        我对CAB还不是十分熟悉,仿照了BankTeller建立了一个解决方案。
        我看到敏捷框架(http://www.agilelabs.cn/agileframework/)的登录窗体是在WinShellApp中的,那么,
    1.如果我在WinApp中登录的时候,如何调用Module项目中的Service来判断用户是否登录成功呢?
    2.我如何在Module项目中关闭登录窗体呢?
    3.Module项目中,除了WorkItem的这些控件,还能包括弹出窗体吗?

我的解决方案结构如下:

======================================================

WinAppShell   项目(Windows应用程序,启动项)

WinAppShell   //   Forms   //   LoginForm.cs

WinAppShell   //   Program.cs

WinAppShell//WinShellApplication.cs         ==> public   class   WinShellApplication:FormShellApplication <WorkItem,   MainForm>

-----------------

MyModule项目(类库,待加载的模块项目)

MyModule//Services//CommonService.cs   这个可以获取到远程服务,其中也包括登录的合法性验证.

----------------

CommonLibrary项目(公共类型库项目,包括Entity都在其中)

MyBusiness项目(业务逻辑层)

 



------解决方案--------------------
up
------解决方案--------------------
帮你顶
------解决方案--------------------
继承AuthenticationService,在这个Service中加载Login验证部分

在ShellApplication的AfterShellCreated中调用这个service,如果验证成功,继续加载,失败则退出;验证成功会记录用户到Principal中去

我们项目用CAB
------解决方案--------------------
来学习下