Print Page | Close Window

BOS Sample

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=1986
Printed Date: 21-Apr-2026 at 11:45pm


Topic: BOS Sample
Posted By: namnl
Subject: BOS Sample
Date Posted: 20-Jul-2010 at 11:45pm
Hi DevForce Support Team, i am new to DevForce BOS application. Please help me a sample of BOS application and how to access from Silverlight and WPF.
Thanks in advance.



Replies:
Posted By: davidklitzke
Date Posted: 21-Jul-2010 at 4:55pm
We don't have a large collection of complex BOS applications.  That is not our goal.  Rather,we try to show you how to take any application and deploy it in a BOS environment.  Look in the Learning Resources for the material on Deployment. 


Posted By: namnl
Date Posted: 21-Jul-2010 at 9:14pm
Understand what you mean. But when i tried to develop silverlight application and DevForce. I got problem with deployment.
I post my web.config,app.config and ServiceReferences.ClientConfig here. Please help me correct it. Thanks in advance.
web.config
<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="ideablade.configuration" type="IdeaBlade.Core.Configuration.IdeaBladeSection, IdeaBlade.Core"/>
    </configSections>
    <connectionStrings>
        <add name="sics_natoEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\sql2008;Initial Catalog=sics_nato;Persist Security Info=True;User ID=sa;pwd=DB4#06;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
    </connectionStrings>
    <ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
        <logging logFile="log\DebugLog.xml"/>
        <!-- Additional configuration can be added to override defaults.
         See the sample config files in the Learning Resources for more information.
    -->
    </ideablade.configuration>
    <system.serviceModel>
        <!-- Set this to true to allow use of ASP.NET security features. -->
        <serviceHostingEnvironment aspNetCompatibilityEnabled="false"/>
        <services>
            <!-- The default EntityService and EntityServer services.  -->
            <service name="EntityService">
                <!--- Endpoint for non-Silverlight clients -->
                <endpoint address="" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.EntityModel.IEntityServiceContract"/>
                <!--- Endpoint for Silverlight clients -->
                <endpoint address="sl" binding="customBinding" bindingConfiguration="customBinaryBindingSL" contract="IdeaBlade.EntityModel.IEntityServiceContract"/>
            </service>
            <service name="IdeaBlade.EntityModel.Server.EntityServer">
                <!--- Endpoint for non-Silverlight clients -->
                <endpoint address="" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.EntityModel.IEntityServerContract"/>
                <!--- Endpoint for Silverlight clients -->
                <endpoint address="sl" binding="customBinding" bindingConfiguration="customBinaryBindingSL" contract="IdeaBlade.EntityModel.IEntityServerContract"/>
            </service>
        </services>
        <bindings>
            <customBinding>
                <!-- Default binding for non-Silverlight clients - compressed binary format.  Quotas are at maximum values
        but can be reduced based on your needs.  -->
                <binding name="compressedBinaryBinding">
                    <gzipMessageEncoding>
                        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
                    </gzipMessageEncoding>
                    <httpTransport maxReceivedMessageSize="2147483647"/>
                </binding>
                <!-- Default binding for Silverlight clients - binary format. Quotas are at maximum values
        but can be reduced based on your needs.  -->
                <binding name="customBinaryBindingSL">
                    <binaryMessageEncoding>
                        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
                    </binaryMessageEncoding>
                    <httpsTransport maxReceivedMessageSize="2147483647"/>
                </binding>
            </customBinding>
        </bindings>
        <extensions>
            <!-- The gzipMessageEncoding binding element is used to provide compressed binary encoding.
       The IdeaBlade.Core assembly must be available in the bin folder.
     -->
            <bindingElementExtensions>
                <add name="gzipMessageEncoding" type="IdeaBlade.Core.Wcf.Extensions.GZipMessageEncodingElement, IdeaBlade.Core"/>
            </bindingElementExtensions>
        </extensions>
    </system.serviceModel>
    <system.web>
        <compilation debug="true" targetFramework="4.0"/>
    </system.web>
</configuration>


app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
    <objectServer remoteBaseURL="http://localhost"
                  serverPort="9009"
                  serviceName="EntityService.svc/sl"
                  />
  </ideablade.configuration>
</configuration>


ServiceReferences.ClientConfig
<configuration>
  <system.serviceModel>
    <client>
      <endpoint name="EntityService"
                address="http://203.150.225.172:9009/EntityService.svc"
                binding="customBinding" bindingConfiguration="customBinaryBinding"
                contract="IdeaBlade.EntityModel.IEntityServiceContractAsync"
                />
      <endpoint name="EntityServer"
                address="http://203.150.225.172:9009/EntityServer.svc"
                binding="customBinding" bindingConfiguration="customBinaryBinding"
                contract="IdeaBlade.EntityModel.IEntityServerContractAsync"
                />
    </client>
    <bindings>
      <basicHttpBinding>
        <!-- Basic binding using http, text encoding, no security -->
        <binding name="basicBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />

        <!-- Basic binding for use with SSL - see this article for more information:
        http://timheuer.com/blog/archive/2008/10/14/calling-secure-services-with-silverlight-2-ssl-https.aspx
        -->
        <binding name="secureBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
          <security mode="Transport"/>
        </binding>
      </basicHttpBinding>

      <customBinding>
        <!-- Custom binding using http, binary encoding, no security -->
        <binding name="customBinaryBinding">
          <binaryMessageEncoding/>
          <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
        </binding>
      </customBinding>

    </bindings>
  </system.serviceModel>
</configuration>





Posted By: ting
Date Posted: 22-Jul-2010 at 3:00pm
Hi, unless you're trying to do something fancy, you don't need the app.config or ServiceReferences.ClientConfig.
 
Try deploying a simple application that was created with the DevForce Silverlight Template.  It has all the correct settings that you need.  The server-side configuration is all set up, and you don't require any client-side configuration.


Posted By: eniben
Date Posted: 15-Aug-2010 at 12:15am
Hi,

I maintain an application that's sort of a shared infrastructure.  Three companies in the same group host their databases on the same server; the BOS filters connections to this via datasource extensions. 

Currently, we use DevForce 5.x and are planning to move to DevForce 6.x.  Are you saying these service configuration issues go away?  One new feature of .NET 4 is not having to have physical .svc files?



Posted By: ting
Date Posted: 16-Aug-2010 at 7:25pm

In DevForce 2010, we make a call to RegisterVirtualPathProvider in the Global.asax to dynamically create the services, so you don't need the .svc files any more.  You would still have your database and database extensions defined in the <connectionStrings> section of the web.config though.



Posted By: eniben
Date Posted: 17-Aug-2010 at 3:48am
Hi again,

How about datasource keys?  Do we still get to define those?

Would you mind giving a sample of the key components of the app.config file will look like as well as the web.config file?

Say COA, COB, COC are the three companies in the group and EBODomainContext is the generated EntityManager Name and DataSourceKey (you encouraging uniformity in convention here, kind of cool though?).  What will the keys look like on either end?

Guess I am being lazy?


Posted By: ting
Date Posted: 17-Aug-2010 at 3:14pm
Instead of defining the <edmKeys> in a separate (and redundant) element, you now just use the <connectionStrings> element created by the Entity Framework.  Your settings should look something like this:
 
  <connectionStrings>
    <add name="EBODomainContext_COA" connectionString="metadata=..." providerName="System.Data.EntityClient" />
    <add name="EBODomainContext_COB" connectionString="metadata=..." providerName="System.Data.EntityClient" />
    <add name="EBODomainContext_COC" connectionString="metadata=..." providerName="System.Data.EntityClient" />
  </connectionStrings>



Print Page | Close Window