Was sind die .datasource-Dateien der WCF-Dienstreferenz?

85

Welche .datasource-Dateien werden automatisch von "Create Service Reference" in Visual Studio generiert? Der Kommentar in der Datei lautet wie folgt:

Diese Datei wird automatisch von Visual Studio .Net generiert. Es wird zum Speichern allgemeiner Konfigurationsinformationen für Objektdatenquellen verwendet.
Das Umbenennen der Dateierweiterung oder das Bearbeiten des Inhalts dieser Datei kann dazu
führen, dass die Datei vom Programm nicht erkannt wird.

Es hört sich jedoch so an, als wären diese Dateien optional, daher frage ich mich, wofür sie verwendet werden. Ich frage mich auch, ob es wirklich sicher ist, sie zu löschen, da sie unter XP häufig Probleme mit der Pfadlänge verursachen.

http://www.eggheadcafe.com/conversation.aspx?messageid=34104031&threadid=34104026

Kann mich jemand auf eine offizielle MS-Dokumentation zu diesen Dateien verweisen?

Andy White
quelle

Antworten:

38

Soweit ich mich erinnere, werden sie nur generiert, damit Sie die im Service verwendeten Datenverträge als Objektdatenquellen für die Datenbindung an UI-Steuerelemente verwenden können.

tomasr
quelle
16
Können Sie ihre automatische Generierung deaktivieren? Wenn das so ist, wie?
Auri Rahimzadeh
1
@AuriRahimzadeh Wenn Sie eine Servicereferenz hinzufügen, gibt es eine Option wie "Typen in referenzierten Assemblys wiederverwenden". Auf diese Weise wird die automatische Generierung dieser Objekte im Client verhindert. (Natürlich sollten Sie eine Referenz für haben , dass Datacontract dll und Version der DLLs sollte gleich in Service - Projekt und Client - Projekt)
SOTN
So entstehen zig Dateien, die ich nicht brauche, um schlechtes Design zu fördern.
xr280xr
18

Die .datasource-Dateien sind optional, können jedoch in Ihrer Client-App verwendet werden, um einen Datenvertrag einfach an ein UI-Steuerelement zu binden. Hier ist ein Artikel, der erklärt, wie man sie benutzt:

http://msdn.microsoft.com/en-us/library/ee373840.aspx

Chris Schroll
quelle
12

Ich konnte sie aus einem unserer Projekte löschen. Das Projekt wurde einwandfrei erstellt und es wurde einwandfrei aus der Datenbank geladen. Ich gehe also davon aus, dass es sicher war. Ich würde gerne hören, dass jemand, der mehr über sie weiß, dieses Element des Themas abwägt.

Adam Nofsinger
quelle
2

Erweitern Sie Ihre Reference.svcmap in Visual Studio.

Referenz aktualisieren.

Und löschen Sie gelbe Warnungsdatenquellen .

elfekz
quelle