में वेबहट्प बाइंडिंग एंडपॉइंट का पर्दाफाश करें मैंने एक डब्ल्यूसीएफ सेवा बनाई और तीन एंडपॉइंट्स का पर्दाफाश किया जो मूल हैंप्टिंग बाइंडिंग, wsHttp बाइंडिंग और वेब एचटीपी बाइंडिंग। यह डब्ल्यूसीएफ के साथ मेरे प्रयोगों के लिए एक परीक्षण सेवा है। लेकिन, जब भी मैं .svc फ़ाइल का उपयोग कर सेवा संदर्भ जोड़ता हूं, मुझे केवल दो (मूल और ws) अंतराल मिलते हैं। ऐसा लगता है कि किसी कारण से तीसरा (webHttpBidning) एंडपॉइंट प्रकट नहीं हुआ है।डब्लूसीएफ सेवा
इस समस्या को पुनः करने के लिए, एक WCF आवेदन परियोजना बनाने, Service1 सेवा को मिटाने, नया आइटम> TestService नामित WCF सेवा जोड़ने के लिए, और निम्न के कॉन्फ़िग फ़ाइल बदलने के लिए:
<system.serviceModel>
<services>
<service name="WcfTestService.TestService" behaviorConfiguration="TestServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost/WcfTestService/TestService.svc"/>
</baseAddresses>
</host>
<endpoint address="basic"
binding="basicHttpBinding"
contract="WcfTestService.ITestService" />
<endpoint address="ws"
binding="wsHttpBinding"
contract="WcfTestService.ITestService" />
<endpoint address="web"
binding="webHttpBinding"
contract="WcfTestService.ITestService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="TestServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
यहाँ
[ServiceContract]
public interface ITestService
{
[OperationContract]
[WebInvoke]
Boolean ValidateUser(User user);
}
[DataContract]
public class User
{
[DataMember(Name = "Name")]
public String UserName { get; set; }
[DataMember]
public String Password { get; set; }
}
और TestService.svc
के लिए: ITestService.cs के लिए कोड हैpublic class TestService : ITestService
{
public bool ValidateUser(User user)
{
if (user.UserName == "User" && user.Password == "123")
{
return true;
}
return false;
}
}
मैंने वेबइवोक पैरामीटर और वेबगेट पैरामीटर के विभिन्न संयोजन की कोशिश की, लेकिन असफल रहा।
क्या कोई मुझे बता सकता है कि डब्ल्यूएसडीएल फ़ाइल में तीसरा एंडपॉइंट क्यों नहीं दिख रहा है?
तो, क्लाइंट कैसे पता लगाता है कि कौन सी विधियों/प्रकारों का खुलासा होता है जब WebHttp बाइंडिंग का उपयोग करने वाला केवल एक अंतराल होता है? – decyclone
मुझे वास्तव में पता नहीं है (कैसे jQuery मेटाडेटा स्थानांतरित करता है)। एक और सवाल हो सकता है। –
@decyclone: नीचे दिए गए अपने अनुवर्ती प्रश्न का उत्तर देखें। – BillVo