আমি আমার সমাধানে একটি ডাব্লুসিএফ পরিষেবা গ্রন্থাগার প্রকল্প তৈরি করেছি এবং এর সাথে পরিষেবা উল্লেখ রয়েছে। আমি ক্লাস লাইব্রেরি থেকে পরিষেবাগুলি ব্যবহার করি, তাই ক্লাস লাইব্রেরি ছাড়াও আমার ডাব্লুপিএফ অ্যাপ্লিকেশন প্রকল্পের রেফারেন্স রয়েছে। পরিষেবাগুলি সরাসরি সামনে সেট আপ করা হয় - কেবলমাত্র অ্যাসিঙ্ক পরিষেবা ফাংশন পেতে পরিবর্তিত হয়।
সবকিছু ঠিকঠাক কাজ করছিল - যতক্ষণ না আমি নিজের পরিষেবা উল্লেখগুলি আপডেট করতে চাই। এটি ব্যর্থ হয়েছে, তাই আমি অবশেষে পিছনে ঘুরিয়ে আবার চেষ্টা করেছি, তবে এটি পরেও ব্যর্থ হয়েছিল! সুতরাং - পরিষেবা রেফারেন্স আপডেট করে তাতে কোনও পরিবর্তন না করে ব্যর্থ হয়। কেন ?!
আমি যে ত্রুটি পেয়েছি তা হ'ল:
Custom tool error: Failed to generate code for the service reference
'MyServiceReference'. Please check other error and warning messages for details.
সতর্কতা আরও তথ্য দেয়:
Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: List of referenced types contains more than one type with data contract name 'Patient' in
namespace 'http://schemas.datacontract.org/2004/07/MyApp.Model'. Need to exclude all but one of the
following types. Only matching types can be valid references:
"MyApp.Dashboard.MyServiceReference.Patient, Medski.Dashboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
"MyApp.Model.Patient, MyApp.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']
দুটি অনুরূপ সতর্কতাও বলছে:
Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpBinding_ISomeService']
এবং একই জন্য:
Custom tool warning: Cannot import wsdl:port ..
আমি এই সমস্ত বিভ্রান্তিকর বলে মনে করি .. পরিষেবা রেফারেন্সের মাধ্যমে আমার কাছে আসা ক্লায়েন্ট সাইড ড্যাশবোর্ডে আমার কোনও রোগী ক্লাস নেই। তবে এর অর্থ কি? এবং হঠাৎ কেন এটি দেখায়? মনে রাখবেন: আমিও কিছু পরিবর্তন করিনি!
এখন, এর সমাধানটি এখানে পাওয়া গেল , তবে এর অর্থ কী তা ব্যাখ্যা ছাড়াই। তাই; পরিষেবার জন্য "পরিষেবা রেফারেন্স কনফিগার করুন" তে আমি "রেফারেন্সড অ্যাসেমব্লিসিতে পুনরায় ব্যবহারের ধরণগুলি" চেকবাক্সটি টিক চিহ্ন ছাড়ি। এখনই পুনর্নির্মাণ এটি সমস্যা ছাড়াই দুর্দান্ত কাজ করে। তবে আমি আসলে কী বদলেছি? এটি কি আমার আবেদনে প্রভাব ফেলবে? এবং কখন এই পরীক্ষা করা উচিত? আমি যে ধরণের ডেটা কন্ট্র্যাক্ট সেটআপ করেছি সেগুলি পুনরায় ব্যবহার করতে চাই, কিন্তু আর কিছু নয়। আমি এখনও এই চেক না করে যাদের অ্যাক্সেস পেতে পারি?