Я создаю сайт, на котором я следил за MVC, чтобы управлять своим кодом без использования каких-либо фреймворков. Я поставил все мои запросы внутри CFCs и я инициализирует их в моей Application.cfm, сохраняя их в переменных приложения, как показано ниже:Пользовательские данные немного перепутаны
<cfset aplication.customerProfileObject=
createObject("component","cfc.customerprofile").init()>
Для выполнения каких-либо операций запроса, я сделал функцию, а затем вызвать его в любом месте например:
<cfset selectedCustomerOb =
application.customerProfileObject.getContactCustomerProfileDetail(session.userid)>
Я не знаю, что вызывает проблему, но иногда пользователь обращается к другим данным пользователя. Как это возможно? Является ли это оценкой данных сеанса другого пользователя или я неправильно инициализировал cfc?
Настройки приложения ниже:
<cfapplication name="MyDataSourceName"
sessionmanagement="Yes"
setclientcookies="yes"
setdomaincookies="yes"
loginstorage="session"
sessiontimeout="#CreateTimeSpan(0, 2,0,0)#">
CustomerProfile.cfc
<cfcomponent>
<cffunction name="init">
<cfreturn this>
</cffunction>
<cffunction name="getContactCustomerProfileDetail" returntype="query"
description="Returns customer contact details by contactid"
access="public">
<cfargument name="ccId" type="numeric" required="yes">
<cfquery name="getContactCustomerProfileDetail"
datasource="#Application.ds#"
dbtype="ODBC"
username="#Application.UserName#"
password="#Application.Password#">
<!-------My query here--->
</cfquery>
<cfreturn getContactCustomerProfileDetail>
</cffunction>
</cfcomponent>
Что делать, если 'session.userid' пуст? Ваш CFC вернет первую запись (или, может быть, все) 'customerprofile'? – beercodebeer
У вас есть код для Skyhook 'getContactCustomerProfileDetail()' –
Похоже, что в CFC что-то не так. – ale