该网站图标发电机组装包网站管理员,以便使用具有可用于许多不同的设备的图标.该页面附带一个名为的文件,该文件site.manifest通过网页文档中的以下标记链接<head>:
<link rel="manifest" href="site.webmanifest">
Run Code Online (Sandbox Code Playgroud)
根据Mozilla的说法:"Web应用程序清单在JSON文本文件中提供有关应用程序(如名称,作者,图标和描述)的信息.清单的目的是将Web应用程序安装到设备的主屏幕上,提供用户访问速度更快,体验更丰富."
不幸的是,如果您使用的是Microsoft的Internet信息服务(IIS),如果您尝试访问该site.webmanifest文件,则会收到404.3错误.
确切的错误消息如下:"由于扩展配置,无法提供您请求的页面.如果页面是脚本,请添加处理程序.如果要下载文件,请添加MIME映射."
如何正确地site.webmanifest在IIS中提供文件?
关于在特定项目中需要相互交谈的CFC实例的正确方法,我有一个"最佳实践"问题.
比方说,您有一个Web应用程序,其中包含许多不同的模块:
这些模块中的每一个都组织得很好,以便与每个模块相关的功能包含在单独的CFC文件中:
每个CFC都包含适用于该特定模块的功能.例如,Users.cfc包含与开启/关闭用户,更新帐户信息等有关的功能......有时,CFC可能需要引用另一个CFC中的功能,例如,如果商店(Store.cfc)需要获取信息来自客户(Users.cfc).但是,我不确定实现这一目标的正确方法.我一直在玩几种方式让我的CFC互相引用:
方法1:在CFC中,例如您将需要的其他CFC:
<!--- Store.cfc --->
<cfcomponent>
<!--- instance all the CFC’s we will need here --->
<cfset usersCFC = CreateObject("component","users") />
<cfset filesCFC = CreateObject("component","files") />
<cffunction name="storeAction">
<cfset var customerInfo = usersCFC.getUser(1) />
Run Code Online (Sandbox Code Playgroud)
这种方法似乎大部分时间都有效,除非一些实例化的CFC也实例化了它们的CFC.例如:如果Users.cfc实例Files.cfc和Files.cfc也是Users.cfc实例.由于某种类型的无限递归问题,我偶尔会遇到可怕的NULL NULL错误.
方法2:在CFC的函数范围内实例化所需的CFC(这似乎可以防止递归问题):
<!--- Store.cfc --->
<cfcomponent>
<cffunction name="storeAction">
<!--- create a struct to keep all this function’s variables --->
<cfset var local = structNew() />
<!--- instance all the CFC’s we will …Run Code Online (Sandbox Code Playgroud) 这个问题是StackOverflow上已经回答的问题的扩展/扩展:发票的数据库设计
但是,我想扩展这个想法,并找出允许客户使用某种分期付款(月付款)系统支付发票的正确方法.
在回答的问题中,投票的答案使用了具有以下表格的数据库模式:
(为了简化起见,因为这个问题的重点是表格设计,我省略了触发器等细节)
如何将发票分成每月分期付款?要求如下:
我们非常感谢您提供的任何帮助/指导.谢谢!
- 下午更新 -
在考虑到目前为止的响应并自行修改之后,您如何看待如下的架构:
在上面提出的模式中,所有发票都有一个ScheduledPayments记录.如果发票全部到期(全额付清),那么它将有一条记录.如果发票是分期付款的,则每笔付款都会有X个记录(加上任何预付款).
然后,当进行支付时,将记录添加到支付表,并且将一个或多个记录添加到关系表"ScheduledPaymentsPayments",其将支付连接到发票和每月支付.
您如何看待这个解决方案?您是否预见到它有任何问题,或者您能否提出可能更好的替代方案?
我刚刚安装了ColdFusion 2016(从CF10升级),我注意到每当我尝试访问我的webroot中名为'api'的文件夹时,我都会收到内部500错误.
例如:www.mysite.com/api/
我假设这与新的ColdFusion API REST服务有关,所以我创建了另一个名为'rest'的目录,执行了相同的测试(www.mysite.com/rest/),并收到了另外500个错误.
奇怪的是,我没有使用ColdFusion REST服务,我没有在ColdFusion Administrator中启用它.
我的问题:
您是否允许在您的Web根目录中拥有名为"api"或"rest"的文件夹名称?或者这些是现在保留的文件夹名称?是否有解决方法来禁用特定站点的此功能,以便我可以使用这些文件夹名称?
在这个例子中,我有一个叫做模型对象test.cfc具有相关性testService.cfc.
testWireBox testService通过属性声明注入.该对象如下所示:
component {
property name="testService" inject="testService";
/**
* Constructor
*/
function init() {
// do something in the test service
testService.doSomething();
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
作为参考,testService有一个叫做doSomething()转储出一些文本的方法:
component
singleton
{
/**
* Constructor
*/
function init() {
return this;
}
/**
* Do Something
*/
function doSomething() {
writeDump( "something" );
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,WireBox似乎testService在构造函数init()方法触发之后才会注入.所以,如果我在我的处理程序中运行它:
prc.test = wirebox.getInstance(
name = "test"
);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息: Error building: test …
Cbauth是一个 Forgebox 模块,常用于 Coldbox 应用程序来处理用户身份验证。
要检索有关当前登录用户的信息,您可以调用auth().getUser()。此方法retrieveUserById()在应用程序定义的用户服务类中调用。在我的例子中,retrieveUserById()进入数据库,检索用户数据,然后返回一个组装的User实体对象。
在我的项目中,我想在每个页面上显示当前登录用户的名字和头像。我想避免在每个页面请求时都返回数据库,因为缓存至少一些用户数据(或者甚至整个User实体)会更有效。
Cbauth 中有没有办法在用户的会话范围内存储自定义数据,请求它,然后更新它(例如,如果用户在登录时更新他们的名字)
这是我迄今为止尝试过的:
根据文档,Cbauth 有一个调用的拦截器postAuthentication,它确实sessionStorage作为参数传递。我相信我可以利用它为当前用户存储额外的数据。但是,当我尝试user在拦截器中引用时,我收到一条Element USER is undefined in ARGUMENTS错误消息。
// After a user authenticates, store the user entity in the session (does not work)
function postAuthentication( user, sessionStorage, requestStorage ) {
arguments.sessionStorage.user = arguments.user;
}
Run Code Online (Sandbox Code Playgroud)
此外,一旦存储缓存的会话数据,我就看不到任何方法来检索它。任何帮助或指向成功实施 Cbauth 示例的指针将不胜感激!
新的 HTTP/3 协议应该比 HTTP/2 更快、更安全。如何在运行 IIS 网站的 Windows Server 上启用它?
coldfusion ×4
cfml ×3
iis ×3
coldbox ×2
cfc ×1
http3 ×1
mysql ×1
sql ×1
sql-server ×1
web-manifest ×1
wirebox ×1