Print Page | Close Window

Deploy using the Client browser stack

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce 2010
Forum Discription: For .NET 4.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=2754
Printed Date: 28-Apr-2024 at 5:39am


Topic: Deploy using the Client browser stack
Posted By: cseils
Subject: Deploy using the Client browser stack
Date Posted: 10-Jun-2011 at 7:13pm
When deploying my Silverlight 4 application which works on the dev machine, I get the following error when accessing the entity server:

"There is no endpoint listening on  http://localhost:9009/EntityService.svc - http://sbs2008/EntityService.svc  that could accept calls from this application. If running in Visual Studio, make sure CopyLocal=true is set for all IdeaBlade assembly references in the web project to ensure that these assemblies are copied to the bin folder. To check if the service is running, open your internet browser and navigate to 'http://sbs2008/EntityService.svc'. If the service page shows errors, these should help diagnose the problem with the service. If the service is running, then also make sure that the endpoint bindings match between client and server, and that the server's ClientApplicationType is either 'Silverlight' or 'Both'.  Check the server's debug log file for more information." error message.

If I browse to http://sbs2008/EntityService.svc, then it works fine.

However, if I have the following code before I load the main page of the app:
WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp);
Then the application works fine on the production server.  I have heard somewhere that I should use the browser stack for production, but this appears to fix the problem.  Could someone explain why this corrects the problem (or maybe I should just be happy and accept this solution)

I have no app.configs in the xaps and the web.config is as follows:
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="ideablade.configuration" type="IdeaBlade.Core.Configuration.IdeaBladeSection, IdeaBlade.Core" />
  </configSections>
  <ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
    <logging logFile="log\DebugLog.xml" />
    <objectServer>
      <serverSettings supportedClientApplicationType="Silverlight" />
    </objectServer>
    <notificationService enabled="true" />
  </ideablade.configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpHandlers>
      <add verb="*" path="UXFileUploadHandler.ashx" type="Intersoft.UXFileUpload.Server.UXFileUploadHandler, Intersoft.UXFileUpload.Server" />
    </httpHandlers>
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false" />
    <behaviors>
      <serviceBehaviors>
        <behavior name="EntityServiceBehaviour">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="EntityService" behaviorConfiguration="EntityServiceBehaviour">
        <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>
  </system.serviceModel>
  <connectionStrings>removed</configuration>

I have removed the logging entry and set  the includeExceptionDetailsInFaults="false" but this still shows the error on the production machine when I leave it set to the Browser stack.

Thanks
Chris



Replies:
Posted By: kimj
Date Posted: 13-Jun-2011 at 11:29am
DevForce itself doesn't have any requirements for browser vs. client stack, and except with the Push feature, we haven't seen any problems with the browser stack. If only the client stack is working for you, and you're not using ASP.NET security, there shouldn't be any problems with using it.
 
Curious, though, that the browser stack doesn't work. What browser are you using?
 
The "no endpoint" error can unfortunately mask many connection-related failures. Is your client application able to connect or login, or does it fail with any attempt to reach the server? The inner exception(s) can sometimes help trap the problem, as well as the server's debug log if any server code is throwing an exception.


Posted By: cseils
Date Posted: 13-Jun-2011 at 3:05pm
Hi Kimj,

My application is using the push feature and  I am not using ASP.net security but may in the future.

My app has multiple xaps, and both use the push feature calling RegisterCallback and different points, but this is not when the endpoint failure happens.

It happens during the first call to ExecuteAsync on the EntityManager.

The debuglog on the server shows no issues.

I am not using any security at the moment so I guess it is logging on as a guest.  I will be implementing some sort of authentication in future but haven't gotten to it yet. 

Also I have tested using ie8 and ie9 when this error occurred.


Posted By: kimj
Date Posted: 13-Jun-2011 at 5:55pm
Are you using a ServiceReferences.ClientConfig, or a custom ServiceProxyEvents or ServiceHostEvents class?  I don't really know what to look at next, since I can't reproduce this.  One thing to try is deploying one of the simple DevForce samples (such as the Tour of Silverlight) to your server, and see if the problem also occurs in the sample. 


Posted By: cseils
Date Posted: 14-Jun-2011 at 3:57pm
No, I am not using ServiceReferences.ClientConfig or any customer ServiceProxyEvents or ServiceHostEvents class.
It is pretty much standard, except for the push notifications.

I will deploy one of the simple Devforce samples and see how that runs.

I am also doing a lot of refactoring on my application, so I will revisit this issue once this is complete.

Thanks
Chris



Print Page | Close Window