ไฟล์แหล่งข้อมูลอ้างอิงบริการ WCF คืออะไร


90

ไฟล์. dataource ที่ "Create Service Reference" สร้างขึ้นโดยอัตโนมัติใน Visual Studio คืออะไร ความคิดเห็นในไฟล์คือ:

ไฟล์นี้สร้างขึ้นโดยอัตโนมัติโดย Visual Studio .Net ใช้เพื่อจัดเก็บข้อมูลคอนฟิกูเรชันแหล่งข้อมูลออบเจ็กต์ทั่วไป
การเปลี่ยนชื่อนามสกุลไฟล์หรือแก้ไขเนื้อหาของไฟล์นี้อาจ
ทำให้โปรแกรมไม่รู้จักไฟล์

อย่างไรก็ตามดูเหมือนว่าไฟล์เหล่านี้เป็นทางเลือกดังนั้นฉันจึงสงสัยว่าไฟล์เหล่านี้ใช้ทำอะไร ฉันยังสงสัยว่าการลบมันปลอดภัยจริงหรือไม่เนื่องจากมักทำให้เกิดปัญหาความยาวเส้นทางใน XP

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

ใครช่วยชี้ฉันไปที่เอกสาร MS อย่างเป็นทางการในไฟล์เหล่านี้ได้ไหม

คำตอบ:


39

เท่าที่ฉันจำได้มันถูกสร้างขึ้นเพื่อให้คุณสามารถใช้สัญญาข้อมูลที่ใช้ในบริการเป็นแหล่งข้อมูลออบเจ็กต์สำหรับการผูกข้อมูลกับการควบคุม UI


16
คุณสามารถปิดการสร้างอัตโนมัติได้หรือไม่? ถ้าเป็นเช่นนั้นอย่างไร?
Auri Rahimzadeh

2
@AuriRahimzadeh เมื่อคุณเพิ่มการอ้างอิงบริการจะมีตัวเลือกเช่น "Reuse types in referenced assemblies" วิธีนี้จะป้องกันการสร้างวัตถุเหล่านี้โดยอัตโนมัติในไคลเอนต์ (แน่นอนว่าคุณควรมีข้อมูลอ้างอิงสำหรับ DataContract dll และเวอร์ชันของ dlls ควรจะเหมือนกันในโปรเจ็กต์บริการและโปรเจ็กต์ไคลเอนต์)
sotn

ดังนั้นมันจึงสร้างไฟล์เป็นพันล้านไฟล์ฉันไม่จำเป็นต้องสนับสนุนการออกแบบที่ไม่ดี
xr280xr

19

ไฟล์. dataource เป็นทางเลือก แต่สามารถใช้ในแอปไคลเอ็นต์ของคุณเพื่อผูกสัญญาข้อมูลกับตัวควบคุม ui ได้อย่างง่ายดาย นี่คือบทความอธิบายวิธีการใช้งาน:

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


14

ฉันสามารถลบออกจากโครงการของเราได้ โครงการสร้างขึ้นได้ดีและโหลดสิ่งต่างๆจากฐานข้อมูลได้ดีดังนั้นฉันคิดว่ามันปลอดภัย ฉันอยากได้ยินคนที่รู้มากขึ้นเกี่ยวกับพวกเขาให้ความสำคัญกับองค์ประกอบของเรื่องนี้


ฉันมีประสบการณ์เดียวกัน ถูกลบโดยไม่มีปัญหาหลังจากได้รับแจ้งว่าชื่อไฟล์ยาวเกินไป
JacobIRR

2

ขยาย Reference.svcmap ของคุณจาก Visual Studio

อัปเดตข้อมูลอ้างอิง

และลบแหล่งข้อมูลคำเตือนสีเหลือง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.