.Net快速开始

APIUMC

One Code移动开发架构

.net 我们是用是基于.Net Standard 2.0实现UMC协议,因此我们可以用Asp.net Framework和 Asp.net Core宿主,同样也可以用阿里云函数计算C#模式宿主方式来启动,下面我们以此三种方式来快速讲解。
Asp.net Framework 宿主
用Visual Stuido 新建项目,选择ASP.NET应用程序(.Net Framework) ,再.Net Framework中选择4.6.1或更高,如下图:
确认后,添加UMC架构 UMC.Data.dll和实例UMC.Activities.dll,再引用对应的.数据库ADO.Net,如下图:
创建WebHandler类
代码如下:
namespace UMC.Demo
{
    public class WebHandler : System.Web.IHttpHandler
    {
        public bool IsReusable
        {
            get { return true; }
        }
        public void ProcessRequest(System.Web.HttpContext context)
        {
            new Web.WebServlet().ProcessRequest(new WebContext(context));
        }
    }
}
配置Web.config
配置Web.Config的system.webServer/handlers节点如下:
  <system.webServer>
    <handlers>
      <add name="WebHandler" path="*" verb="*" type="UMC.Demo.WebHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
  </system.webServer>
再在解决方案在此项目上右击->生成,则此项目编译成功,我们可以IIS新建站点批把运行目录指向此项目。
这样我们的UMC基于asp.net开发和运行环境就搭建好了。
Asp.net Core 宿主
用Visual Stuido 新建项目,选择ASP.NET Core应用程序(.Net Core) ,再.Net Core中选择2.0或更高,如下图:
再添加UMC架构 UMC.Data.dll和实例UMC.Activities.dll,再引用对应的.数据库ADO.Net。
在Startup.cs代码如下
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }
        public IConfiguration Configuration { get; }
        public void ConfigureServices(IServiceCollection services)
        {
            UMC.Data.Sql.OracleDbProvider.Instance = Oracle.ManagedDataAccess.Client.OracleClientFactory.Instance;
            UMC.Data.Sql.SQLiteDbProvider.Instance = SqliteFactory.Instance;
            UMC.Data.Sql.SqlDbProvider.Instance = System.Data.SqlClient.SqlClientFactory.Instance;

        }
        internal Task Process(HttpContext context)
        {
            return Task.Run(() =>
            {
                new Web.WebServlet().ProcessRequest(new NetContext(context.Request, context.Response, context.Connection.RemoteIpAddress.ToString()));
            });
        }
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.Run(Process);
        }
    }
如果各没有问题,就可以生成,或者调试了
阿里云函数计算宿主
此实例通过阿里云函数计算C# HTTP函数实现无服务器架构,让基于UMC的应用只要关心业务实现,不再关心服务端运维。
在Asp.net Core实例引用函数计算使用C#编写HTTP函数,需要Nuget引入Aliyun.Serverless.Core和Aliyun.Serverless.Core.Http包。UMC.FC.WebServlet继承Aliyun.Serverless.Core.Http.FcHttpEntrypoint,并实现,代码如下:
  protected override void Init(IWebHostBuilder builder)
        {
            builder.UseStartup<Startup>();
        }
        public override Task<HttpResponse> HandleRequest(HttpRequest request, HttpResponse response, IFcContext fcContext)
        {
            if (reflection == null)
            {
                Reflection.PATH = "/home/UMC/";

                String path = Environment.GetEnvironmentVariable("PATH");
                if (String.IsNullOrEmpty(path) == false)
                {
                    Reflection.PATH = String.Format("/home/UMC/{0}/", path.Trim('/'));

                }
                reflection = new Reflection(fcContext.Logger);

            }
            reflection._logger = fcContext.Logger;
            return base.HandleRequest(request, response, fcContext);
        }
再发布,按阿里云要求上传无服务架构。
在各宿主配置运行成功后,并把地址在第一次浏览器打开则会如下图:
点击去安装,安装完成后,请刷新界面,默认管理账号和密码都为admin
到此恭喜你,已经完成UMC的初始化工作,
现在可以在登录在菜单管理界面进行开发调试或者生成原生APP
下载源码
此功能讲解产生的源码如下:

管理员 | 阅读(71) | 评论(0)

评论
点赞
已读
暂无评论