RE: Type fidelity - reusing mechanism used by framework to serialize Datasets ??

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Dan Rogers (danro_at_microsoft.com)
Date: 11/24/04


Date: Wed, 24 Nov 2004 17:44:35 GMT

Hi Matt,

The best advice I can offer here is to use datasets inside of your own
applicaiton domains, but not across your web service boundaries. This is
advice centered in maximizing cross-platform, cross tool-version interop
based on well defined data contracts.

As for specific questions about how to decode a dataset, my advice is to
use a dataset to decode a dataset. The WSDL for a contract that involves a
dataset describes an "any" (e.g. an untyped object) - making this a loosely
coupled interface that is not suitable for tool-supported cross platform
interop.

You may wish to consider the WS-I.org basic profile 1.0 guidelines, which
steer you away from using framework specific "smart types" such as the .NET
dataSet, the java Hash table, etc. These require specific implementations
to work with, and thus impede the goals that one would use a web service
interface to solve.

I hope this helps

Dan Rogers
Microsoft Corporation
--------------------
>From: matt_randle@yahoo.com (Matt)
>Newsgroups: microsoft.public.dotnet.framework.aspnet.webservices
>Subject: Type fidelity - reusing mechanism used by framework to serialize
Datasets ??
>Date: 24 Nov 2004 04:20:10 -0800
>Organization: http://groups.google.com
>Lines: 26
>Message-ID: <ccb5c73c.0411240420.109f5333@posting.google.com>
>NNTP-Posting-Host: 80.176.97.106
>Content-Type: text/plain; charset=ISO-8859-1
>Content-Transfer-Encoding: 8bit
>X-Trace: posting.google.com 1101298810 24613 127.0.0.1 (24 Nov 2004
12:20:10 GMT)
>X-Complaints-To: groups-abuse@google.com
>NNTP-Posting-Date: Wed, 24 Nov 2004 12:20:10 +0000 (UTC)
>Path:
cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTFEED02.phx.gbl!tornado.fas
twebnet.it!tiscali!newsfeed1.ip.tiscali.net!news.glorb.com!postnews.google.c
om!not-for-mail
>Xref: cpmsftngxa10.phx.gbl
microsoft.public.dotnet.framework.aspnet.webservices:26799
>X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservices
>
>Hi,
>
>Can anyone please tell me if you can use the same method that
>Microsoft uses to ensure the client/server type fidelity of 'Dataset'
>for custom types ?
>
>i.e. Wsdl.exe somehow knows not to generate a proxy class for the
>Dataset type. Can you use attributes or interfaces on your own
>serialized types that force the same behavior ??
>
>I know that you can edit the wsdl generated proxy to achieve the same
>effect. I also know that using Datasets is not a good thing to do
>from an interoperability view point.
>
>I cannot find any explanation of how this is done. There are plenty
>of explanations of XML serialization over Web Services but the
>mechanism used to ensure type fidelity of Datasets is glossed over.
>
>Surely there is not code hardwired into wsdl.exe and the Remoting
>Framework to specifically handle Datasets?? This would seem to be
>inconsistent with the design of the rest of .net that allows
>extensibility/reuse wherever possible ??
>
>Thanks in advance,
>
>Matt.
>



Relevant Pages

  • Re: how to refernce a folder?
    ... sometimes the best thing to do is attempt to follow the advice and see what happens. ... All advice, strategies, design patterns, etc. in programming are intended to make things _easier_. ... The interface should be general purpose. ... In programming generally, not just OOP, not just MVC, MVP, etc. it is useful to keep in mind the different between API or "interface" and implementation. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Generic Database handling class
    ... private version selectedVersion; ... Web service ... You will use Interfaces which you will find of interest at the service layer in the example on MVP, which you will use at Web service (the Interface pattern). ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Update Web Reference - at run time
    ... If the interface designer "breaks" ... If the breakage is in the programming ... When the creator of your web service adds function, ... because new clients might not work with old servers. ...
    (microsoft.public.dotnet.xml)
  • Re: Returning interfaces from web-services and remoting servers?
    ... You could certainly make it appear like the web service and remoting server ... use the same, well-defined interface. ... you've defined an IDocument interface for. ...
    (microsoft.public.dotnet.framework)
  • Re: .NET Best Practices for Exposing Biz Objects thru Web Services
    ... You can minimize the retyping by abstracting the business object interface ... Web service code-behind (as well as in the business object of course). ... > At the webservice layer you get to add in interface-centric function, ...
    (microsoft.public.dotnet.framework.aspnet.webservices)