當前位置: 首頁>>代碼示例>>C#>>正文


C# ServiceEndpointCollection類代碼示例

本文整理匯總了C#中System.ServiceModel.Description.ServiceEndpointCollection的典型用法代碼示例。如果您正苦於以下問題:C# ServiceEndpointCollection類的具體用法?C# ServiceEndpointCollection怎麽用?C# ServiceEndpointCollection使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ServiceEndpointCollection類屬於System.ServiceModel.Description命名空間,在下文中一共展示了ServiceEndpointCollection類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: AddClient

[System.ServiceModel.ServiceContractAttribute(
    Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface IAdd
{

    [System.ServiceModel.OperationContractAttribute(
        Action = "http://Microsoft.ServiceModel.Samples/IAdd/Add", 
        ReplyAction = "http://Microsoft.ServiceModel.Samples/IAdd/AddResponse")]
    double Add(double n1, double n2);
}

public interface IAddChannel : IAdd, System.ServiceModel.IClientChannel
{
}

public partial class AddClient : System.ServiceModel.ClientBase<IAdd>, IAdd
{

    public AddClient()
    {
    }

    public AddClient(string endpointConfigurationName)
        :
            base(endpointConfigurationName)
    {
    }

    public AddClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress address)
        :
            base(binding, address)
    {
    }

    public double Add(double n1, double n2)
    {
        return base.Channel.Add(n1, n2);
    }
}
開發者ID:.NET開發者,項目名稱:System.ServiceModel.Description,代碼行數:39,代碼來源:ServiceEndpointCollection

示例2: Add

//引入命名空間
using System;
using System.Configuration;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Xml;

namespace Microsoft.ServiceModel.Samples
{
    // Define an add service contract.
    [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
    public interface IAdd
    {
        [OperationContract]
        double Add(double n1, double n2);
    }

    // Implement the add service contract.
    public class AddService : IAdd
    {
        public double Add(double n1, double n2)
        {
            double result = n1 + n2;
            Console.WriteLine("Received Add({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        // Host the add service within an EXE console application.
        public static void Main()
        {
            // Set addresses for the service from configuration.
            Uri baseAddress = new Uri(ConfigurationManager.AppSettings["baseAddress"]);
          
            // Create a ServiceHost for the AddService type at the addAdddress.
            ServiceHost serviceHost = new ServiceHost(typeof(AddService), baseAddress);

            // Enumerate endpoints (defined in the App.config file).
                Console.WriteLine("All endpoints for the service:");
        ServiceDescription desc = serviceHost.Description;
        foreach (ServiceEndpoint endpoint in desc.Endpoints)
                {
                    Console.WriteLine("Endpoint - address:  {0}", endpoint.Address);
                    Console.WriteLine("           binding:  {0}", endpoint.Binding.Name);
                    Console.WriteLine("           contract: {0}", endpoint.Contract.Name);
                    Console.WriteLine();
                }

             // Find a service endpoint using the base address.
                ServiceEndpoint baseEndpoint = desc.Endpoints.Find(baseAddress);
                Console.WriteLine("A service endpoint at the base address:");
                Console.WriteLine("Endpoint - address:  {0}", baseEndpoint.Address);
                Console.WriteLine("           binding name:  {0}", baseEndpoint.Binding.Name);
                Console.WriteLine("           contract name: {0}", baseEndpoint.Contract.Name);
                Console.WriteLine();

             // Find an endpoint for the IAdd type of service.
                ServiceEndpoint addEndpoint = desc.Endpoints.Find(typeof(IAdd));
                Console.WriteLine("A service endpoint of the IAdd type:");
                Console.WriteLine("Endpoint - address:  {0}", addEndpoint.Address);
                Console.WriteLine("           binding name:  {0}", addEndpoint.Binding.Name);
                Console.WriteLine("           contract name: {0}", addEndpoint.Contract.Name);
                Console.WriteLine();

             // Find all of the endpoints for the IAdd type of service.
                Collection<ServiceEndpoint> addEndpoints = desc.Endpoints.FindAll(typeof(IAdd));
                Console.WriteLine("All the endpoints for the service of the IAdd type:");
                foreach (ServiceEndpoint endpoint in addEndpoints)
                {
                    Console.WriteLine("Endpoint - address:  {0}", endpoint.Address);
                    Console.WriteLine("           binding name:  {0}", endpoint.Binding.Name);
                    Console.WriteLine("           contract name: {0}", endpoint.Contract.Name);
                    Console.WriteLine();
                }

             // Find all of the endpoints for the service with the specific qualified contract name.
                XmlQualifiedName contractQName = new XmlQualifiedName("IAdd","http://Microsoft.ServiceModel.Samples");
                Collection<ServiceEndpoint> contractEndpoints = desc.Endpoints.FindAll(contractQName);
                Console.WriteLine("All endpoints for the service with the contract QName\n\t http://Microsoft.ServiceModel.Samples.IAdd");

                foreach (ServiceEndpoint endpoint in contractEndpoints)
                {
                    Console.WriteLine("Endpoint - address:  {0}", endpoint.Address);
                    Console.WriteLine("           binding name:  {0}", endpoint.Binding.Name);
                    Console.WriteLine("           contract name: {0}", endpoint.Contract.Name);
                    Console.WriteLine("           contract namespace: {0}", endpoint.Contract.Namespace);
                    Console.WriteLine();
                }

             // Open the ServiceHostBase to create listeners and start listening for messages.
                serviceHost.Open();

             // The service can now be accessed.
                Console.WriteLine("The service is ready.");
                Console.WriteLine("Press <ENTER> to terminate service.");
                Console.ReadLine();

             // Close the ServiceHostBase to shutdown the service.
                serviceHost.Close();
        }
    }
}
開發者ID:.NET開發者,項目名稱:System.ServiceModel.Description,代碼行數:104,代碼來源:ServiceEndpointCollection

輸出:

All endpoints for the service:
Endpoint - address:  http://localhost:8000/samples/service
           binding:  WSHttpBinding
           contract: IAdd

Endpoint - address:  net.tcp://localhost:9000/samples/service
           binding:  NetTcpBinding
           contract: IAdd

A service endpoint at the base address:
Endpoint - address:  http://localhost:8000/samples/service
           binding name:  WSHttpBinding
           contract name: IAdd

A service endpoint of the IAdd type:
Endpoint - address:  http://localhost:8000/samples/service
           binding name:  WSHttpBinding
           contract name: IAdd

All the endpoints for the service of the IAdd type:
Endpoint - address:  http://localhost:8000/samples/service
           binding name:  WSHttpBinding
           contract name: IAdd

Endpoint - address:  net.tcp://localhost:9000/samples/service
           binding name:  NetTcpBinding
           contract name: IAdd

All endpoints for the service with the contract QName
         http://Microsoft.ServiceModel.Samples.IAdd
Endpoint - address:  http://localhost:8000/samples/service
           binding name:  WSHttpBinding
           contract name: IAdd
           contract namespace: http://Microsoft.ServiceModel.Samples

Endpoint - address:  net.tcp://localhost:9000/samples/service
           binding name:  NetTcpBinding
           contract name: IAdd
           contract namespace: http://Microsoft.ServiceModel.Samples

The service is ready.
Press  to terminate service.


注:本文中的System.ServiceModel.Description.ServiceEndpointCollection類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。