Coder Social home page Coder Social logo

newlifex / newlife.cube Goto Github PK

View Code? Open in Web Editor NEW
582.0 29.0 152.0 88.76 MB

Web快速开发平台,搭建管理后台,灵活可扩展!内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块,在真实项目中经历过单表100亿数据添删改查的考验。

Home Page: https://newlifex.com/cube

License: MIT License

C# 6.86% CSS 24.89% JavaScript 61.90% HTML 6.36% Shell 0.01% Dockerfile 0.01%
net-mvc newlife cube admin asp-net-core csharp

newlife.cube's People

Contributors

abbetwang avatar arlenxiao avatar cdyong avatar codekgithub avatar darkmice avatar djswcn avatar e4ky avatar flyeagle32 avatar gadgj avatar gzhcyk avatar hbh8945 avatar hogenwang avatar m446883859 avatar nnhy avatar nygula avatar qcjxberin avatar rebider avatar skyisland avatar t18724723333 avatar xi3892 avatar xueshaoyu avatar xusp avatar xxred avatar yanbin688 avatar yannking avatar yunfeiyang1916 avatar yynnb avatar z8125230 avatar zshankang avatar zwllh123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newlife.cube's Issues

数据权限

设计:区域以行政区划代码如37,3713,3723,371312,371322,根据区域划分数据权限,在用户表用扩展字段Ext4录入区域代码,通过该字段来取业务表中的相应区域的数据。
问题:1.没有地方能够添加 数据权限的值,自带的userId是在ControllerBaseX中添加的, HttpContext.Items["userId"] = user.ID; 自己定义的区域代码变量不知道在哪加。
2.数据权限能否设置成 StartWith,这样上级可以看下级,同级只能看自己, like '37%'能看3713、3723、371312、371322;而like '3713%'只能看3713、371312、371322这样

字典参数修改报错

在字典参数模块,添加一个条数据后,再对该数据进行修改,就会报错误。
数据内容为:类别( AdminType)、名称(部门用户)、数值(3)、种类(整数),基他默认。
报错内容:
[NullReferenceException: 未将对象引用设置到对象的实例。]
XCode.EntityTree2.FindAllParents(IEntityTree entity, Boolean includeSelf) +64 XCode.EntityTree2.<get_AllParents>b__21_0(String e) +38
XCode.EntityExtend.Get(String key, Func2 func) +429 XCode.EntityTree2.get_AllParents() +115
XCode.EntityTree`2.get_Deepth() +45

[TargetInvocationException: 对象“XCode.Membership.Parameter”上的属性访问器“Deepth”发生以下异常:'未将对象引用设置到对象的实例。']
System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component) +378
System.Web.Mvc.<>c__DisplayClass7_0.b__0() +18
System.Web.Mvc.ModelMetadata.get_Model() +17
System.Web.Mvc.DataAnnotationsModelValidator.Validate(Object container) +127
System.Web.Mvc.d__2.MoveNext() +216
System.Web.Mvc.DefaultModelBinder.OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext) +121
System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model) +68
System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +1210
System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) +333
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +335
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +105
System.Web.Mvc.Async.<>c__DisplayClass3_1.b__0(AsyncCallback asyncCallback, Object asyncState) +640
System.Web.Mvc.Async.WrappedAsyncResult1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +14 System.Web.Mvc.Async.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +346
System.Web.Mvc.<>c.b__152_0(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState) +27
System.Web.Mvc.Async.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30 System.Web.Mvc.Async.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +494
System.Web.Mvc.<>c.b__151_1(AsyncCallback asyncCallback, Object callbackState, Controller controller) +16
System.Web.Mvc.Async.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +20 System.Web.Mvc.Async.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +403
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +16
System.Web.Mvc.<>c.b__20_0(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState) +54
System.Web.Mvc.Async.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30 System.Web.Mvc.Async.WrappedAsyncResultBase1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +427
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +103
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +48
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +159

datetime in mssql is not support new DateTime(1, 1, 2),

a bug from method
public UserOnline SetStatus(String sessionid, String page, String status, UserAgentParser userAgent, Int32 userid = 0, String name = null, String ip = null)
in this file UserService.cs
code like:
LastError = new DateTime(1, 1, 2),

字典参数 修改报错

在xcode源码里
XCode\Tree\EntityTree.cs
将FindAllParents方法的第一行加个try catch就不报错了
try
{
if (entity == null || IsNull((TKey)entity[Setting.Parent]) || entity.Parent == null) return new List();
}
catch (Exception)
{
return new List();
}

id到前端后数据精度损失

因ID字段是int64类型,通过json格式传到前端后会出现精度损失,希望能增加参数,以字符串类型序列化 int64 数据

关于魔方源码下载后报错的问题

之前在群里就有很多人再问这个问题,我当时用的老版本,以为是小问题就没有在意。结果我在更新到新的版本的时候也出现了这个问题,而且还找不到解决的办法。。。
下面是报错信息

未能加载文件或程序集“XCode, Version=9.11.7044.42317, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件
源文件: D:\NewLife.Cube\NewLife.Cube\PreApplicationStartCode.cs 行: 34
`

if (set.SslMode >= SslModes.Full)
HttpApplication.RegisterModule(typeof(CubeModule));
}
}

`
程序集加载跟踪: 下列信息有助于确定程序集“XCode, Version=9.11.7044.42317, Culture=neutral, PublicKeyToken=null”未能加载的原因。

管理系统中文件上传报错

1.报错操作

image

2.报错截图

image

3.具体报错信息如下

[Exception: 找不到目录!] NewLife.Cube.Admin.Controllers.FileController.Upload(String r, HttpPostedFileBase file) in D:\X\NewLife.Cube\NewLife.Cube\Areas\Admin\Controllers\FileController.cs:263 lambda_method(Closure , ControllerBase , Object[] ) +147 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) +157
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +27 System.Web.Mvc.Async.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System.Web.Mvc.Async.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0() +58 System.Web.Mvc.Async.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2() +228 System.Web.Mvc.Async.<>c__DisplayClass7_0.<BeginInvokeActionMethodWithFilters>b__1(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass3_6.<BeginInvokeAction>b__4() +35 System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) +100 System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +11 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +45 System.Web.Mvc.<>c.<BeginExecute>b__151_2(IAsyncResult asyncResult, Controller controller) +13 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +22
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +28 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +577 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +132 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +163

4. .net版本信息jie截图

image

登陆错误

yj_16q2sh w wgxb r u

在登陆时候遇到这个错误,数据库已经生成了数据库,是否数据库生成的表少了?
ohkv7re1 d5vxg90x7_mbo

而且想自己生成user表时,发现
y44 wt dr3g0 7r _ swe 0
user的实体竟然是被编译过的,求指导

1111版本编译时缺少Build.cs

在拉取最新的1111版本后,编译项目时报错,分别缺少Build.cs 和Build_netcore.cs文件。
————
错误 CS2001 未能找到源文件“E:\Git Repository\Newlife\NewLife.Cube\NewLife.Cube\Entity\Build.cs”。 NewLife.Cube E:\Git Repository\Newlife\NewLife.Cube\NewLife.Cube\CSC 1 活动
错误 CS2001 未能找到源文件“E:\Git Repository\Newlife\NewLife.Cube\NewLife.Cube\Entity\Build_netcore.cs”。 NewLife.Cube E:\Git Repository\Newlife\NewLife.Cube\NewLife.Cube\CSC 1 活动

魔方记住密码功能失效

魔方记住密码功能失效,导致重新打开后会再次提醒登录。
示例令牌 eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJTdG9uZSIsImV4cCI6MTcxMTgwMzU4MCwiaWF0IjoxNjgwMjY3NTgwfQ.SFLvvHFK-VWlJzHupott60Cgg1YGNplwDFvbeVGGWHY

魔方在记住密码登录时,后端会把令牌写入cookie,有效期1年。
经查,再次提醒登录时,cookie的确是1年有效期。
有可能时候cookie的有效期不足(默认7200秒)。
需要深入分析

模板覆盖部分生效问题

魔方视图 覆盖失败 webconfig已经添加程序集 视图也导出了 覆盖无效
在根目录/views覆盖生效
在Areas/area/views覆盖无效
RazorGenerator 已经安装并生成Generator.cs文件

调整对接SSO后的默认角色

魔方Cube对接sso后,根据“魔方设置”->“默认角色”修改为0或者-1,实现强制使用源端角色。
方便了开发与集成。

一年多以来,逐渐发现,有些场合需要混合使用sso和本地登录,然后“默认角色”被修改为-1,导致本地注册用户无法取得角色。

因此,拟调整魔方,恢复“默认角色”为以前的3(普通用户),对接SSO则强制使用源端角色,不再需要配置。

NullReferenceException

在教务系统demo那个里面,点击添加学生报错了。错误信息如下:

System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 System.Object.GetType()
   在 NewLife.Cube.HtmlExtensions.ForEnum(HtmlHelper Html, String name, Object value, String label) 位置 D:\X\NewLife.Cube\NewLife.Cube\Common\HtmlExtensions.cs:行号 431
   在 NewLife.Cube.HtmlExtensions.ForEditor(HtmlHelper Html, String name, Object value, Type type, String format, Object htmlAttributes) 位置 D:\X\NewLife.Cube\NewLife.Cube\Common\HtmlExtensions.cs:行号 53
   在 NewLife.Cube.HtmlExtensions.ForEditor(HtmlHelper Html, FieldItem field, IEntity entity) 位置 D:\X\NewLife.Cube\NewLife.Cube\Common\HtmlExtensions.cs:行号 107
   在 ASP._Views_Shared__Form_Item_cshtml.Execute() 位置 D:\X\NewLife.Cube\NewLife.Cube\Views\Shared\_Form_Item.cshtml:行号 33
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   在 System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   在 ASP._Views_Shared__Form_Group_cshtml.Execute() 位置 D:\X\NewLife.Cube\NewLife.Cube\Views\Shared\_Form_Group.cshtml:行号 14
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   在 System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   在 ASP._Views_Shared__Form_Body_cshtml.Execute() 位置 D:\X\NewLife.Cube\NewLife.Cube\Views\Shared\_Form_Body.cshtml:行号 12
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   在 System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   在 ASP._Views_Shared_Form_cshtml.Execute() 位置 D:\X\NewLife.Cube\NewLife.Cube\Views\Shared\Form.cshtml:行号 21
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   在 System.Web.WebPages.StartPage.ExecutePageHierarchy()
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
   在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
   在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
   在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
   在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult)

菜单乱码

image
尚未设置本地化

//依然失败
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)

生成的列表和表单页面在.net7+VS2022下报错

Severity Code Description Project File Line Suppression State
Error CS0246 The type or namespace name 'FieldCollection' could not be found (are you missing a using directive or an assembly reference?) DotNet.NewLife.Cube C:\Users\Will\source\repos\DotNet.NewLife.Cube\Areas\Cube\Views\PrincipalAgent_Form_Body.cshtml 8 Active

要增加一个:@using NewLife.Cube;

oJhaYsc1FT

.NetCore版本中关于注入使用的讨论

魔方的 .Net Core版本已经迁移过来,但是仍然保留大量以前的用法,这跟Core推崇的依赖注入用法格格不入。现在使用的对象容器源于XCode,2011年开始使用,已经很老了。萌新同学提出了此问题,确实是个需要正视的问题。现在面临的问题就是:继续使用对象容器,还是全面改成Core那样的写法。

讨论范围不仅限于魔方Cube,同时涉及到XCode。在这里讨论此问题,大家有好的想法或者解决方案可以在此提出,大家共同讨论。

PagerHelper的GetFormAction方法有错误

第49行 var forms = new HashSet(req.Form.AllKeys, StringComparer.OrdinalIgnoreCase);
第53行 foreach (var item in query.AllKeys)

这两个AllKeys在nfx里都是正常的,但是在netcore里报错,因为req.Form和query都不是NameValueCollection类型

修复获取当前操作系统版本不正确

https://github.com/NewLifeX/NewLife.Cube/blob/master/NewLife.Cube/Areas/Admin/Views/Index/Main.cshtml#L86 第86行换为判断.Net Framework 大于4.7.1即可更换为 @System.Runtime.InteropServices.RuntimeInformation.OSDescription 方法获取当前操作系统版本,并同时兼容.NET Framework与.NET Core 双平台 示例如下:

if (att.FrameworkName.IndexOf("Core") > 0) { //System.Runtime.InteropServices.RuntimeInformation.OSDescription; } else if (att.FrameworkName.IndexOf("v4.7.1") > 0) { //System.Runtime.InteropServices.RuntimeInformation.OSDescription; } else if (att.FrameworkName.IndexOf("v4.7.2") > 0) { //System.Runtime.InteropServices.RuntimeInformation.OSDescription; } else if (att.FrameworkName.IndexOf("v4.8") > 0) { //System.Runtime.InteropServices.RuntimeInformation.OSDescription; } else { // 此时已经非.NET Core和Fx了,总不会有人去用Xamarin.Android/IOS/MAC去搭建Web平台 //Environment.OSVersion; }

后话
System.Runtime.InteropServices.RuntimeInformation.OSDescription 方法适用于
.NET Core
3.0 2.2 2.1 2.0 1.1 1.0
.NET Framework
4.8 4.7.2 4.7.1
.NET Standard
2.1 2.0 1.6 1.4 1.3 1.2 1.1
Xamarin.Android
7.1
Xamarin.iOS
10.8
Xamarin.Mac
3.0

新引用NewLife.Cube,启动异常

由于在群里没人回答,只好来这里了
admin现在刚刚引入cube的时候是被锁的,所以我用qq登陆
然后是普通游客权限,所有页面都打不开。。‘
暴力解决方法是下SQLite Expert 一个修改sqllite文件的东西,把相应的登陆着改为管理员。话说你们是故意挖的坑吗

魔方具体应用的一些问题

1.魔方中有没有办法进行横切编程,例如我要给所有的控制器的动作方法加上统一的数据权限,或者讲解一下在魔方中实现多租户的思路。
2.请补充讲解一下集成第3方登录以及SSO在魔方中的应用,例如部署自己的SSO服务器。
3.控制器在魔方中想自动注册为不可见,应该如何配置?

静态资源问题

主要问题:静态资源自动从插件服务器下载,解压到wwwroot资源文件夹,开发的时候解压路径是在bin目录,但是静态资源路径默认的设置是在项目源码的wwwroot,所以会导致bin目录有静态资源,项目源码目录wwwroot却没有。

解决:
1、开发的时候,在bin目录复制一份资源到项目wwwroot目录
2、设置静态资源目录与dll文件目录一致

Registration prompt exception

System.Data.SQLite.SQLiteException (0x80004005): constraint failed
UNIQUE constraint failed: User.Name
在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
在 System.Data.SQLite.SQLiteDataReader.NextResult()
在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteScalar(CommandBehavior behavior)
在 XCode.DataAccessLayer.DbSession.ExecuteScalar[T](DbCommand cmd) 位置 E:\X\Src\XCode\DataAccessLayer\Common\DbSession.cs:行号 472

单点登录回调地址生成不正确

image
没有跳转到https,解决:

  1. 根据魔方设置,生成https协议的回调地址
  2. 强制http跳转https
  3. 如果使用了Nginx,可添加http重定向https

NewLife.Cube模板修改不生效

问题描述: 项目环境为最新版Xcode,NewLife.Cube,NewLife.Core,运行CubeDemo,修改NewLife.Cube的login.cshtml,单独运行NewLife.Cube页面修改生效,通过项目引用NewLife.Cube的CubeDemo不生效,断点可进,但仍会加载旧的cshtml。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.