में एंडपॉइंट्स स्वयं की मेजबानी की सेवा करने के पहले कुछ प्रयास।डब्ल्यूसीएफ सेल्फ होस्ट सर्विस - सी #
सभी के बारे में अंतिम बिंदु प्रत्येक आधार पते के लिए स्वचालित रूप से बनाया जा रहा है प्रलेखन वार्ता अगर वे एक config में नहीं मिलते हैं: कुछ बनाने के लिए जो एक क्वेरी स्ट्रिंग को स्वीकार करेंगे और कुछ पाठ लौट लेकिन कुछ मुद्दों है की कोशिश कर रहा फ़ाइल। यह मेरे लिए मामला प्रतीत नहीं होता है, मुझे "सेवा शून्य अनुप्रयोग अंतराल ..." अपवाद मिलता है।
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; namespace TestService { [ServiceContract] public interface IHelloWorldService { [OperationContract] string SayHello(string name); } public class HelloWorldService : IHelloWorldService { public string SayHello(string name) { return string.Format("Hello, {0}", name); } } class Program { static void Main(string[] args) { string baseaddr = "http://localhost:8080/HelloWorldService/"; Uri baseAddress = new Uri(baseaddr); // Create the ServiceHost. using (ServiceHost host = new ServiceHost(typeof(HelloWorldService), baseAddress)) { // Enable metadata publishing. ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15; host.Description.Behaviors.Add(smb); host.AddServiceEndpoint(typeof(IHelloWorldService), new BasicHttpBinding(), baseaddr); host.AddServiceEndpoint(typeof(IHelloWorldService), new BasicHttpBinding(), baseaddr + "SayHello"); //for some reason a default endpoint does not get created here host.Open(); Console.WriteLine("The service is ready at {0}", baseAddress); Console.WriteLine("Press <Enter> to stop the service."); Console.ReadLine(); // Close the ServiceHost. host.Close(); } } } }
जब अनुरोध मैं इस SayHello (स्ट्रिंग नाम) में नाम का मान देने के लिए स्थापित करने के बारे जाना होगा thusly: स्थानीय होस्ट: 8080/HelloWorldService/मैन्युअल रूप से नीचे के रूप में एक आधार के अंत बिंदु को निर्दिष्ट इसके समाधान के लिए लगता है SayHello? नाम = केली
मैं चलाने से पहले चलने के लिए कोशिश कर रहा हूँ, लेकिन यह सिर्फ रेंगने की तरह लगता है ...
क्या आप .NET 3.5 या .NET 4 का उपयोग कर रहे हैं ?? "बेस एड्रेस के लिए डिफ़ॉल्ट एंडपॉइंट्स बनाएं" सुविधा .NET 4 में एक नई बात है - 3.5 –