<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : hiding the serverside assemblies</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce Classic : hiding the serverside assemblies</description>
  <pubDate>Wed, 13 May 2026 16:50:11 -700</pubDate>
  <lastBuildDate>Tue, 11 Sep 2007 23:59:53 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=419</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>hiding the serverside assemblies : Hi, Edit: by 14.09 it is not possible...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1152#1152</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=60" rel="nofollow">Dominique</a><br /><strong>Subject:</strong> 419<br /><strong>Posted:</strong> 11-Sep-2007 at 11:59pm<br /><br />Hi,<br /><strong>Edit</strong>: by 14.09 it is not possible to call a ServerRpcPersistenceDelegate by invoking the classname. The clientcode must therefor call the delegate directly which means that the clientcode must hold a reference to the server side code.<br />end edit<br /><br />Thank you for your answer. I will call the methods with the strings name as I emailed you. The main reason for using the delegate was the ease of use with the intellisens in Visual Studio.<br />just for information.<br />I tried to split the server side dll in to assemblies, one holding the "interface" of the service (does the parsing of args()..) and one with the implementation (and the sensitive DB info). It was then possible to not deploy the one holding the actual implementation. That will require to exclude the DLL from the publish list in a click once deployement. Any way it feels a bit overkill to have 2 assemblies for 5 methods. :)<br /><br />Dominique<span style="font-size:10px"><br /><br />Edited by Dominique - 14-Sep-2007 at 12:03am</span>]]>
   </description>
   <pubDate>Tue, 11 Sep 2007 23:59:53 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1152#1152</guid>
  </item> 
  <item>
   <title>hiding the serverside assemblies : I&amp;#039;m not sure I fully understand...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1146#1146</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=11" rel="nofollow">kimj</a><br /><strong>Subject:</strong> 419<br /><strong>Posted:</strong> 11-Sep-2007 at 11:09am<br /><br />I'm not sure I fully understand your question, but here's a little background information.<DIV>&nbsp;</DIV><DIV>- On the client side, the InvokeServerMethod has several overloads to allow you to pass either a delegate to your method or just a&nbsp;type name.&nbsp; So, if you pass the type name (eg, <FONT color=#000000>"<FONT size=2>Demo.Entities.Employee, Demo.Entities") you don't need to reference the assembly on the client.</FONT></FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>- The InvokeServerMethod call is as secure as any other BOS call.&nbsp; A SessionBundle is passed from the client to the BOS, and is validated on the BOS before calling your method.&nbsp; The IPrincipal for the client is also extracted from the session bundle and passed to your method so you can do further validation.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>- Your server-side method can do whatever validation you require, and can also call other server-side logic to do the bulk of the work, and that other logic can reside in server-side only assemblies too.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Not sure if this answers your question.</FONT></DIV>]]>
   </description>
   <pubDate>Tue, 11 Sep 2007 11:09:47 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1146#1146</guid>
  </item> 
  <item>
   <title>hiding the serverside assemblies : Hi, I am calling som server methods...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1131#1131</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=60" rel="nofollow">Dominique</a><br /><strong>Subject:</strong> 419<br /><strong>Posted:</strong> 10-Sep-2007 at 2:41am<br /><br />Hi,<br />I am calling som server methods from my client through the BOS. By now I have to reference the assembly where the statics mtehods lives because of the way I am calling them. please see code snipet under.<br /><table width="99%"><tr><td><pre class="BBcode"><br /> Dim pDelegate As New IdeaBlade.Persistence.ServerRpcDelegate( _<br />AddressOf  MyMiddleWareNamespace.MyMiddlewareService.MyMethod)<br />  Dim pArgs(1) As Object ' the arguments required by the method<br />...<br />'calling the service:<br /> result = CType(mpersistMng.InvokeServerMethod(pDelegate, pArgs), MyReturnType)<br /></pre></td></tr></table><br />My question is how can I hide the implementation of those methods? is it enough to refactor them out in another assembly? (I have some connection string etc)<br /><br />my server code looks like this:<br /><table width="99%"><tr><td><pre class="BBcode"><br /> &lt;DFp.AllowRpc()&gt; _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Public Shared Function MyMethod( _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal pPrincipal As Security.Principal.IPrincipal, _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal pResolver As DFp.DataSourceResolver, _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByVal ParamArray pArgs() As &#091;Object&#093;) _<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As &#091;Object&#093;<br />dim result as new MyReturnType()<br />if CheckPrecond(pArgs) then <br /> dim myArg as Atype = WriteAtype(pArgs)<br /> result = MyMethod(myArg)<br />end if<br />return result<br />end class<br /></pre></td></tr></table><br />so I think it wouldn't be so much work to do such a refactoring :-)<br /><br />Dominique<br /><span style="font-size:10px"><br /><br />Edited by Dominique - 10-Sep-2007 at 2:43am</span>]]>
   </description>
   <pubDate>Mon, 10 Sep 2007 02:41:15 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=419&amp;PID=1131#1131</guid>
  </item> 
 </channel>
</rss>