locked
Astoria and net tcp? RRS feed

  • Question

  • Are there any plans on making Astoria services work with other transports, such as net tcp?

    Is there a way I could go about extending the current CTP to support this?
    Wednesday, March 5, 2008 9:21 AM

Answers

  • Correct, we do not support this type of extensibility on the client side.  I've added this to our DCR list, but we are entering the end game for V1 of Astoria so its unlikely this will be in version 1.

    Monday, March 31, 2008 11:30 PM

All replies

  • Dejan, we don't currently have any plans to make the services work directly over other transports.

     

    What other transports are you interested in, and what do you hope to get out of them?

     

    For now, your two best bets would be to customize the WCF bindings on the service, or as a lower-level last resort, you can implement a custom host for the service, attach it with a call to AttachHost and then call ProcessRequest.

    Thursday, March 6, 2008 11:00 PM
  • We've looked at this a few times, but as Marcelo notes dont have plans in this area in V1.  Please do share your scenario..

    Friday, March 7, 2008 2:19 AM
  • Hi Mike, thanks on your prompt answer. Dejan is my colegaue and I will answer on his behalf.

    We plan to use Astoria services as Entity Services(named by Shy Cohen Service Taxonomy) and to use them in intranet environment. Their only task is going to be data manipulation. We are building service oriented system that consists of various types of services(capability, entity, bus...) and we have requirement that Astoria services implement common service requirements that implement all services.

     

    This means that we would like that:

    - Astoria services work with binary serializer on tcp because we have performance requirement, and we do not want to be interoperable in any way on that fast endpoint. This is the most important requirement that we need to support.

    - Astoria services emit same tracing, logging and performance counter informations as every wcf service. We found that we can trace performance of Astoria service but only on one method that Astoria implements

     

    Please comment on our ideas and plans,

    Indigo Cowboy

    Friday, March 7, 2008 8:18 AM
  • Thank you both for your responses.

     Marcelo Lopez Ruiz - MSFT wrote:

    Dejan, we don't currently have any plans to make the services work directly over other transports.

     

    What other transports are you interested in, and what do you hope to get out of them?

     

    For now, your two best bets would be to customize the WCF bindings on the service, or as a lower-level last resort, you can implement a custom host for the service, attach it with a call to AttachHost and then call ProcessRequest.



    I took the second approach and managed to implement a custom host. I also derived a class from WebDataService<T> and had it implement my service contract that I exposed on a net.tcp endpoint. From this operation I attached the custom host and invoked the ProcessRequest() method.


    It seems to be working for now, though I haven’t tested it with a wide range of operations (just did some queries using GET method).


    However, I now have a problem connecting this back to the client. As far as I could tell, unlike the service side, there aren’t any spots on the client side (Microsoft.Data.WebClient)  where I could replace your implementation with my own and receive the response from my operation instead of using HttpWebRequest / HttpWebResponse. Correct me if I am wrong.


    Friday, March 7, 2008 3:53 PM
  • Correct, we do not support this type of extensibility on the client side.  I've added this to our DCR list, but we are entering the end game for V1 of Astoria so its unlikely this will be in version 1.

    Monday, March 31, 2008 11:30 PM
  • Hello,

    Is there any news for the futur version of ADO.Net Data Service to net.tcp compliant?
    Friday, June 12, 2009 9:44 AM