1,CSLA框架文件部署位置:
文件名 客户端 服务端
Csla.dll 是 是
2, Phenix框架文件部署位置:
文件名 客户端 服务端
Phenix.Core.dll 是 是
Phenix.Business.dll 是 是
Phenix.Services.Contract.dll 是 是
Phenix.Services.Library.dll 否 是
Phenix.Services.Host.exe 否 是
Phenix.Services.Client.dll 是 否
Phenix.Windows.dll 是 否
3,应用系统文件部署位置:
文件名 客户端 服务端
业务逻辑类(XXX.XXX.Business.XXX.dll) 是 是
业务规则类(XXX.XXX.Rule.dll) 是 是
客户端登录程序(XXX.XXX.Client.exe) 是 否
客户端主界面(XXX.XXX.Windows.Main.dll) 是 否
窗体类(XXX.XXX.Windows.XXX.dll) 是 否
窗体公用控件、第三方控件 是 否
4,服务端安装方法:
前提是服务器已安装好DB客户端、.net3.5SP1运行环境。
在服务器上建一目录,将上述服务端文件XCOPY到此目录里,运行Phenix.Services.Host.exe,根据提示配置成功DB连接串。
5,客户端升级文件存放位置:
在Phenix.Services.Host.exe所在目录上建一子目录:ClientLibrary,将需要下载到客户端的文件都存放在此。
注意,如果按照下文的方案部署客户端的话,此目录中除了应用系统文件外,仅需存放Phenix.Windows.dll,其余框架文件可自动部署和升级到客户端。
6,客户端登录程序编写方法及部署方案:
新建一程序工程:XXX.XXX.Client.exe
在Program.cs中编写类似代码:
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(“zh-CN”);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(“zh-CN”);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//登陆
Phenix.Services.Client.Security.LogOn logOn = new Phenix.Services.Client.Security.LogOn();
logOn.Caption = “登录 XXX”;
logOn.UpgradeFileFilters.Add(“*.dll”);
IPrincipal user = logOn.Execute();
if (user != null && user.Identity.IsAuthenticated)
Phenix.Core.Plugin.PluginHost.Default.SendSingletonMessage(“XXX.XXX.Windows.Main”, “XXX.XXX.Windows.Main”, null);
}
}
在XXX.XXX.Client.csproj的<ItemGroup>子节点中增加如下代码:
<Reference Include=”Csla” />
<Reference Include=”Phenix.Business” />
<Reference Include=”Phenix.Core” />
<Reference Include=”Phenix.Services.Client” />
<Reference Include=”Phenix.Services.Contract” />
在App.config的<appSettings>子节点中增加如下代码:
<appSettings>
<add key=”ServicesAddress” value=”服务器IP地址” />
</appSettings>
如此,仅需利用ClickOnce将程序发布到网站上即可。
本方案利用ClickOnce升级框架的客户端DLL和XXX.XXX.Client程序,当这些文件运行在客户端后,其余的文档就完全交由框架自动下载和升级了,所以整套业务系统的部署是非常方便的,仅需将网站地址公布给终端用户即可。
当终端用户登录网站并下载安装启动后,XXX.XXX.Client程序会弹出登录界面,而缺省的登录地址就是上面App.config中记录的地址。
那么登录界面弹出后,系统主界面并没有启动,这就需要利用Phenix框架的自动加载功能了,主界面XXX.XXX.Windows.Main.dll的设计方案由下文提供,部署时仅需将此文件XCOPY到服务端的ClientLibrary目录里即可。
7,客户端主程序编写方法:
新建一工程:XXX.XXX.Windows.Main.dll
加入Main.cs:
using Phenix.Core.Plugin;
namespace XXX.XXX.Windows
{
public class Main : PluginBase<Main>
{
public override object AnalyseMessage(object message)
{
return MainForm.Execute();
}
}
}
可见,XXX.XXX.Client.exe是通过插件方法调用XXX.XXX.Windows.Main.dll中的Main插件,Main再开启主界面。如此,登录程序XXX.XXX.Client.exe无需绑死XXX.XXX.Windows.Main.dll,可无缝升级(启动XXX.XXX.Client.exe登录服务时),其他业务窗体DLL也可以采取同样的方法,由XXX.XXX.Windows.Main.dll调用各自的插件按需加载。
8,ClickOnce部署注意事项
如果局域网内域名服务存在故障的时候,特别是VPN方式登录网站的情况下,终端安装时会出现无法下载的情形,此时需要修改本机文件C:/WINDOWS/system32/drivers/etc/hosts,加入映射关系,比如:
加入项目:192.168.248.238 Server-7cf7f8301
今天的文章phoenix安装_kylin系统安装教程分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67875.html