I have an assembly named BusinessLayer. I would like to use its classes as web services. So i have done the following. I created new project (CompanyServices), referenced it to BusinessLayer and specified the following configuration params:
(This is to control security params automatically)HTML Code:<object id="SecureRepository" type="BaseSecureService.SecureRepository, BaseSecureService"> </object> <object id="AuthenticationAdvice" type="BaseSecureService.AuthenticationAdvice, BaseSecureService"> <property name="SecureRepository" ref="SecureRepository"/> <property name="SecureTriggersController" ref="SecureTriggersController"/> </object> <object id="baseServiceProxyFactoryObject" abstract="true"> <property name="InterceptorNames"> <list> <value>AuthenticationAdvice</value> </list> </property> </object> <object id="baseSecureServiceExporter" abstract="true"> <property name="WebServiceBaseType" value="BaseSecureService.SecureWebService, BaseSecureService" /> <property name="MemberAttributes"> <dictionary> <entry key="*"> <object type="System.Web.Services.Protocols.SoapHeaderAttribute, System.Web.Services"> <constructor-arg value="AuthenticationHeader" /> </object> </entry> </dictionary> </property> </object>
A service example:
It works, but the problem is that first call to a web service is too slow.ASP.NET application using BusinessLayer starts significantly faster.HTML Code:<object id="ReportProxy" type="Spring.Aop.Framework.ProxyFactoryObject, Spring.Aop" parent="baseServiceProxyFactoryObject"> <property name="TargetName" value="ReportController"/> </object> <object id="ReportService" type="Spring.Web.Services.WebServiceExporter, Spring.Web" parent="baseSecureServiceExporter"> <property name="TargetName" value="ReportProxy" /> </object>
Is there a way to make CompanyServices start faster?
Or maybe another way to implement this (using BusinessLayer classes as web services)?


Reply With Quote
