问题
I've added a domain service class to the server side project of my SL4 / EF / RIA Services application. I've managed to create all the necessary elements needed in my web.config section. (Btw, why isn't this generated for me when I created my Domain Service Class?)
What I'm missing now is what to put in the contract attribute of my endpoint element:
<service behaviorConfiguration="XXX.Web.RIAServices.MyServiceBehavior" name="XXX.Web.RIAServices.MyService">
<endpoint address="http://localhost:6400/ClientBin/XXX-Web-RIAServices-MyService.svc" binding="basicHttpBinding" bindingConfiguration="LargeData" contract="???">
<identity>
</identity>
</endpoint>
</service>
I would think it should be something like XXX.Web.RIAServices.IMyService
but that interface does not exist in my generated code.
What do I put in the contract attribute?
回答1:
Just for those out there who may use this as a way to config their DomainService with additional settings, here is how you would increase the ObjectGraph to allow WCF RIA Services to marshal more than the default # of objects during an operation:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="ProjectName.Web.Services.YourDomainService" behaviorConfiguration="ProjectName-Web-Services-YourDomainService"></service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ProjectName-Web-Services-YourDomainService">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<!-- Increase ObjectGraph for larger results -->
<dataContractSerializer maxItemsInObjectGraph="655360" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
回答2:
The contract should be the class that extends DomainService
, I think.
回答3:
I solved it by removing the endpoint element entirely. So it became just:
<service behaviorConfiguration="XXX.Web.RIAServices.MyServiceBehavior" name="XXX.Web.RIAServices.MyService">
Basically I just need to let the enpoint get generated dynamically at runtime.
来源:https://stackoverflow.com/questions/5355177/ria-services-domain-service-class-web-config-setting