Last active
March 14, 2016 22:51
-
-
Save nikitaeverywhere/e761473b7933a1beb204 to your computer and use it in GitHub Desktop.
Перед вами - пример веб-приложения Caché, которое устанавливает себя самостоятельно после импорта XML-файла. Сохраните архив, нажав вверху на "Download ZIP", разархивируйте и импортируйте его в Caché. Затем, откройте http://localhost:[port]/myWebApp/ (не забудьте добавить косую черту в конце!) и убедитесь, что приложение работает.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Export generator="Cache" version="25" zv="Cache for Windows (x86-64) 2016.2 (Build 590U)" ts="2016-03-15 00:40:16"> | |
<Class name="MyPackage.Installer"> | |
<CompileAfter>MyPackage.REST</CompileAfter> | |
<Super>%Projection.AbstractProjection</Super> | |
<TimeChanged>63992,1953.207424</TimeChanged> | |
<TimeCreated>63992,1916.587195</TimeCreated> | |
<Parameter name="WebAppName"> | |
<Type>%String</Type> | |
<Default>/myWebApp</Default> | |
</Parameter> | |
<Parameter name="DispatchClass"> | |
<Type>%String</Type> | |
<Default>MyPackage.REST</Default> | |
</Parameter> | |
<Projection name="Reference"> | |
<Type>Installer</Type> | |
</Projection> | |
<Method name="CreateProjection"> | |
<ClassMethod>1</ClassMethod> | |
<FormalSpec><![CDATA[cls:%String,¶ms]]></FormalSpec> | |
<ReturnType>%Status</ReturnType> | |
<Implementation><![CDATA[ | |
set currentNamespace = $Namespace | |
write !, "Changing namespace to %SYS..." | |
znspace "%SYS" // необходимо изменить пространство имён на %SYS, так как класс Security.Applications существует только там | |
write !, "Configuring WEB application..." | |
set cspProperties("AutheEnabled") = $$$AutheUnauthenticated // общедоступное приложение | |
set cspProperties("NameSpace") = currentNamespace // приложение для области, куда производится импорт | |
set cspProperties("Description") = "A test WEB application." // описание приложения | |
set cspProperties("IsNameSpaceDefault") = $$$NO // это приложение не является основным для области | |
set cspProperties("DispatchClass") = ..#DispatchClass // ранее написанный класс-обработчик | |
return ##class(Security.Applications).Create(..#WebAppName, .cspProperties) | |
]]></Implementation> | |
</Method> | |
<Method name="RemoveProjection"> | |
<ClassMethod>1</ClassMethod> | |
<FormalSpec><![CDATA[cls:%String,¶ms,recompile:%Boolean]]></FormalSpec> | |
<ReturnType>%Status</ReturnType> | |
<Implementation><![CDATA[ | |
write !, "Changing namespace to %SYS..." | |
znspace "%SYS" | |
write !, "Deleting WEB application..." | |
return ##class(Security.Applications).Delete(..#WebAppName) | |
]]></Implementation> | |
</Method> | |
</Class> | |
<Class name="MyPackage.REST"> | |
<Super>%CSP.REST</Super> | |
<TimeChanged>63992,1906.100316</TimeChanged> | |
<TimeCreated>63992,1906.100316</TimeCreated> | |
<XData name="UrlMap"> | |
<Data><![CDATA[ | |
<Routes> | |
<Route Url="/" Method="GET" Call="Index"/> | |
</Routes> | |
]]></Data> | |
</XData> | |
<Method name="Index"> | |
<ClassMethod>1</ClassMethod> | |
<ReturnType>%Status</ReturnType> | |
<Implementation><![CDATA[ | |
write "I am installed!" | |
return $$$OK | |
]]></Implementation> | |
</Method> | |
</Class> | |
</Export> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment