3 Replies Latest reply on Feb 28, 2008 10:35 AM by bobmoles

    .NET Integration Performance Anomaly

      Hello All,

      Been struggling with this issue for the past few days. We are instantiating a .Net class object in CF8. This .NET object has methods which call webservices on a Microsoft Provisioning Server.

      The classes work great when being called from a .NET front end
      Ex) a method which gets Active Directory organizations returns in less than 1 second
      For some reason when invoked from CF, they take signifcantly longer (that same call takes over 20 seconds)

      We have run several WireShark traces from both sides (the CF app server and the MPS server receiving the webservice requests) and the delay is occurring on the remote MPS server. For some reason the server waits about 20 seconds to send data back to the CF server and the .NET front end does not wait at all and responds almost instantly. This is also strange because the request sent to the server is identical from both the CF code and the .NET code... which makes sense since JNBridge is just proxying the calls, so it is still being called in the same manner.

      I was wondering if anyone on the CF8 team had any insights on this or possibly anyone in the community has run into a similar issue?

      Also I will mention that the CF8 code and the .NET code are running on the same box (my workstation) so there is no difference in from where they are being called.


      -Tom Fleischer
        • 1. Re: .NET Integration Performance Anomaly
          bobmoles Level 1
          Hello Tom,

          We ran into the same problems when instantiating .net objects with the Create Object calls. Our custom .net assembly goes until TimeOut and then works from then on. The way we have gotten around it is to create this object in the OnApplicationStart call and then assign that object to an APPLICATION Scope variable. This doesn't get rid of the problem, but it does make it invisible to the user and allows us to only have to instantiate the object once. Based on your post, you don't need advice on how to do this, but if you do, don't hesitate to ask. I have also run across a LOT of .net anomolies after installing hotfix 2 for CF8. They were so bad, we gave up and went back to CF8 HotFix 1. Hopefully documentation for the .net integration will become more extensive because right now it is a LOT of trial and Error. We also had to develop a custom conversion app to convert .net datatypes to coldfusion datatypes because we are dealing with datatables of over 4000 rows and ColdFusion would timeout (about 90 Seconds to convert). Using the .net native calls [datatable.select()] and parsing the datatable into a coldfusion query object dropped that down to about 9 or 10 seconds.

          Don't know if this answered your questions, but at least it lets you know there are other feeling the .net integration pain with you. That being said, I LOVE all the new capabilities and suspect the CF team will make it a lot better in the near future.

          • 2. Re: .NET Integration Performance Anomaly
            I'm also having some issues with .Net integration. It's not the same as you describe Tom, but I see the same issue that Bob reports with the first instantiation of the object timing out, then the rest working just fine.

            Bob, Did this issue go away when you went back to HotFix 1?
            • 3. Re: .NET Integration Performance Anomaly
              bobmoles Level 1
              in Hot fix 1, all functionality was there, but we still have to wait for the time out during object instantiation. In Hot Fix 2, there are several processes that quit working completely.