我们正在使用 DotNetNuke 作为框架和我们为所需功能定制的模块来开发 Web 应用程序。问题是,当您对代码进行任何更改时,加载网站需要很长时间。每次重新启动时,我最多需要 1 分钟,这确实非常缓慢。这导致非常缓慢的开发-重建-测试周期。
我们同时使用控制台项目和 winforms 项目作为新功能的试验场,以加快开发速度,但仍有许多 UI 功能必须通过浏览器完成。
有没有人有任何关于如何加速/防止在 Web 应用程序的 bin 文件夹中发生变化时发生的 appdomain 重新启动的提示?
任何人都可以了解为什么DotNetNuke配置了请求验证和禁用事件验证?对于默认安装,它们都处于web.config级别,这似乎是一种回归方法.这有什么合理的理由吗?如果它们被重新打开,对DotNetNuke的功能影响是什么?
显然,应该在代码中进行适当的输入验证,但原生的.NET框架行为始终是一个很好的后备.
更新:请求验证,DotNetNuke和设计乌托邦的进一步想法
我有一个DNN任务,只需运行一些Javascript来根据几个输入字段计算价格.这个模块在我们的生产网站上运行良好,但我们有一家公司为我们做了一个改善网站外观的模型,并且模块在这个新系统下失败了.(DNN 05.06.00(459)虽然之前已经是5.5了......但我还是徒劳地希望这是旧修订版中的一个错误.)
令人难以置信的是,当我登录DNN并以管理员身份使用编辑模式时,模块工作正常.在这种情况下,JavaScript的小片段加载很好并填充字段导致价格.
另一方面,我点击"查看"(或者更重要的是,如果我根本没有登录),页面会加载缓存副本.甚至更奇怪,我发现生成了\ Portals\2\Cache\Pages中的缓存文件,然后只使用了缓存数据.
加载缓存副本时,JavaScript不会出现(通常是通过Page.ClientScript.RegisterClientScriptBlock()创建的.另外,将数据发布到服务器的按钮不会执行任何服务器端代码(用调试器确认)但只是重新加载缓存的副本.
如果我手动删除\ Portals\2\Cache\Pages中的文件,那么一切正常,但我必须在每次加载页面后执行此操作:如果不这样做,只需加载上次重复生成的页面.
重置应用程序(通过UI或编辑web.config)不会更改此设置,并且从"主机设置"页面清除缓存实际上并不会清除这些缓存的页面.
我猜测编辑模式以某种方式绕过了缓存,但我已经关闭了网站上的所有缓存(这对于性能而言非常糟糕)并且缓存版本仍然被加载.
有没有人见过这样的东西?不应该清除缓存清除文件(我正在使用文件提供程序进行缓存)?如果用户回帖,即使缓存的页面也不应该返回服务器?
编辑:我应该指出权限似乎不是缓存目录中的问题... 其他页面缓存输出从此文件夹中删除,只是此页面有此问题.
编辑2:澄清我没有提供的一些设置和条件.首先,该模块在DNN 5.6.0下的生产中工作正常.在我们的测试环境中,咨询公司的更改失败了(仅在理论上改变了皮肤和页面布局:模块源本身验证为未更改).两者之间的所有缓存设置等都已经过相同的验证,我们只能在找不到问题的其他原因时将模块缓存设置为0和-1(并完全禁用测试站点的缓存).我已经在测试中的许多其他页面上看到了缓存正常工作:这个页面有一些导致问题的原因.
我们已经根据顾问的工作制定了一个可安装的皮肤,因为我怀疑它们已经以某种方式损坏了DNN安装(我认为数据库方面).
对于在DotNetNuke(05.01.01)中开发的自定义模块,我在设置页面上添加了其他设置,如果我有"模块设置"和"页面设置",但我无法弄清楚如何为此组添加标题设置.
我该如何添加标题?
请附上一个屏幕抓取,显示我需要标题的确切位置:

我的模块的Page_Load事件为每个"实际"负载触发两次.在初始加载时,两个加载的Page.IsPostBack属性都为false.
我已重命名Page_Load为Module_Load验证名称不是问题.我已确认该方法不能同时处理Me.Load和MyBase.Load,这已经在过去的情况.
我唯一不同寻常的是我的模块继承自中间基类.这可能是罪魁祸首吗?
我的模块:
Namespace Modules.RedactedNamespace
Public Class List
Inherits RedactedModuleBase
Protected Sub Module_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.Page.IsPostBack Then
BindList()
End If
End Sub
End Class
End Namespace
Run Code Online (Sandbox Code Playgroud)
我的基地:
Namespace Modules.RedactedNamespace
Public MustInherit Class RedactedModuleBase
Inherits DotNetNuke.Entities.Modules.PortalModuleBase
End Class
End Namespace
Run Code Online (Sandbox Code Playgroud)
编辑(修复它) - 我有一个没有ImageUrl的图像.据推测,这是由我的CollapsiblePanelExtender设置的,但是使用空白的src进行渲染.
我在我的页面上使用了验证码控件:
<dnn:CaptchaControl ID="CaptchaControl1" runat="server" CaptchaHeight="50px" CaptchaWidth="150px" ErrorMessage="incorrect" />
Run Code Online (Sandbox Code Playgroud)
如果验证码不正确,将显示错误消息,但如果它留空,则表示没有错误.有什么办法让它在空白时显示错误?
谢谢
试想3-4不同的域(例如somesite.co.uk,somesite.com,somesite.com.sg)和他们每个人都会支持他们在不同的语言.所有页面的页数和内容类型都相同(只有内容会有所不同).
因此,除了内容之外,用户还需要指定区域和语言.(我们可能还需要使用我们的一些控件来编辑CMS后端).
我们无法确定哪种.NET CMS能够满足我们的需求.
任何帮助将不胜感激.
谢谢
.net asp.net-mvc dotnetnuke umbraco content-management-system
我想对 DNN 角色的 API 调用应用授权。这样 DNN 本身就会检查登录的用户是否有权访问特定的 API 调用。我得到了一种解决方案,但不完全是我想要的。=>如何在基于 DNN 的 Web API 上处理安全/身份验证。此链接建议使用单独的模块进行 API 授权,以便我们可以为该模块分配角色,并通过在 API 调用上使用 [SupportedModules("ModuleName")] 属性来限制授权。我检查了这个例子,但没有运气......请建议我正确的方法来做到这一点。
我是dotnetnuke的新手,所以我不知道如何将js文件与模块链接,在dotnetnuke中控制模板.
任何人都可以帮助我...
我使用 DNN 的客户端资源管理将 javascript 和 css 加载到主题(皮肤)中,这样我可以利用缩小和复合文件,但我需要它们是异步的(非阻塞)。如何才能做到这一点?
dotnetnuke ×10
asp.net ×3
javascript ×2
.net ×1
appdomain ×1
asp.net-mvc ×1
asynchronous ×1
caching ×1
captcha ×1
jquery ×1
module ×1
performance ×1
security ×1
skin ×1
themes ×1
umbraco ×1
vb.net ×1