本文整理汇总了C#中System.ServiceModel.Web.WebServiceHost.AddServiceEndpoint方法的典型用法代码示例。如果您正苦于以下问题:C# WebServiceHost.AddServiceEndpoint方法的具体用法?C# WebServiceHost.AddServiceEndpoint怎么用?C# WebServiceHost.AddServiceEndpoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceModel.Web.WebServiceHost
的用法示例。
在下文中一共展示了WebServiceHost.AddServiceEndpoint方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
WebServiceHost webServiceHost = new WebServiceHost(typeof(PartyService.Service));
WebHttpBinding serviceBinding = new WebHttpBinding(WebHttpSecurityMode.TransportCredentialOnly);
serviceBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
ServiceEndpoint ep = webServiceHost.AddServiceEndpoint(
typeof(PartyService.IService),
serviceBinding,
"http://localhost:8000/service");
ep.Behaviors.Add(new PartyService.ProcessorBehaviour());
WebHttpBinding staticBinding = new WebHttpBinding(WebHttpSecurityMode.None);
ServiceEndpoint sep = webServiceHost.AddServiceEndpoint(
typeof(PartyService.IStaticItemService),
new WebHttpBinding(),
"http://localhost:8000");
webServiceHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode = UserNamePasswordValidationMode.Custom;
webServiceHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = new PartyService.Validator();
webServiceHost.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;
webServiceHost.Open();
Console.WriteLine("Service is running - press enter to quit");
Console.ReadLine();
webServiceHost.Close();
Console.WriteLine("Service stopped");
}
示例2: HurricaneServiceManager
public HurricaneServiceManager()
{
_serviceHost = new NinjectWebServiceHost(typeof(FileService));
ServiceEndpoint se = _serviceHost.AddServiceEndpoint(typeof(IFileService),
new WebHttpBinding(), "http://0.0.0.0:18081/FileService/");
ServiceEndpoint se1 = _serviceHost.AddServiceEndpoint(typeof(IFileService),
new NetNamedPipeBinding(), "net.pipe://localhost/FileService/");
se.Behaviors.Add(new WebHttpBehavior());
//se.Behaviors.Add(new ProtoEndpointBehavior());
WebHttpServiceEndpoint = se;
NetNamedPipeServiceEndpoint = se1;
}
示例3: QueryServiceHost
public QueryServiceHost(Uri address, object service)
{
host = new WebServiceHost(service);
host.AddServiceEndpoint(typeof(IQueryService), new WebHttpBinding(), address);
WebHttpBehavior behavior = new WebHttpBehavior();
host.Description.Endpoints[0].Behaviors.Add(behavior);
}
示例4: TestDataService
public TestDataService(string baseUrl, Type serviceType)
{
for (var i = 0; i < 100; i++)
{
var hostId = Interlocked.Increment(ref _lastHostId);
this._serviceUri = new Uri(baseUrl + hostId);
this._host = new DataServiceHost(serviceType, new Uri[] { this._serviceUri });
var binding = new WebHttpBinding { MaxReceivedMessageSize = Int32.MaxValue };
_host.AddServiceEndpoint(typeof(System.Data.Services.IRequestHandler), binding, _serviceUri);
//var endpoing = new ServiceEndPoint
//this._host.Description.Endpoints[0].Binding
//this._host.AddServiceEndpoint(serviceType, binding, this._serviceUri);
try
{
this._host.Open();
break;
}
catch (Exception)
{
this._host.Abort();
this._host = null;
}
}
if (this._host == null)
{
throw new InvalidOperationException("Could not open a service even after 100 tries.");
}
}
示例5: Start
public void Start(string[] args)
{
HomeModule.Container = AppContext.Container;
PackagesModule.Container = AppContext.Container;
InstallationsModule.Container = AppContext.Container;
LogModule.Container = AppContext.Container;
ActionsModule.Container = AppContext.Container;
ConfigurationModule.Container = AppContext.Container;
Nancy.Json.JsonSettings.MaxJsonLength = 1024*1024*5; // 5mb max
try
{
WebUiAddress = new Uri("http://localhost:9999/");
_host = new WebServiceHost(new NancyWcfGenericService(), WebUiAddress);
_host.AddServiceEndpoint(typeof (NancyWcfGenericService), new WebHttpBinding(), "");
_host.Open();
}
catch (Exception ex)
{
_logger.Fatal(ex, "could not start listening");
}
_logger.Info("Hosting Web interface on: " + WebUiAddress);
}
示例6: Main
static void Main(string[] args)
{
Uri baseAddress = new Uri("http://localhost:8000/");
ServiceHost selfHost = new WebServiceHost(typeof(MonitorService), baseAddress);
try
{
// Step 3 Add a service endpoint.
var t = new WebHttpBinding();
selfHost.AddServiceEndpoint(typeof(IMonitorService), t, "test");
WebHttpBehavior whb = new WebHttpBehavior();
// Step 4 Enable metadata exchange.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
// Step 5 Start the service.
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
}
示例7: Main
static void Main(string[] args)
{
ItemCounter counter = new ItemCounter();
using (WebServiceHost host = new WebServiceHost(new StreamingFeedService(counter), new Uri("http://localhost:8000/Service")))
{
WebHttpBinding binding = new WebHttpBinding();
binding.TransferMode = TransferMode.StreamedResponse;
host.AddServiceEndpoint(typeof(IStreamingFeedService), binding, "Feeds");
host.Open();
XmlReader reader = XmlReader.Create("http://localhost:8000/Service/Feeds/StreamedFeed");
StreamedAtom10FeedFormatter formatter = new StreamedAtom10FeedFormatter(counter);
Console.WriteLine("Reading stream from server");
formatter.ReadFrom(reader);
SyndicationFeed feed = formatter.Feed;
foreach (SyndicationItem item in feed.Items)
{
//This sample is implemented such that the server will generate an infinite stream of items;
//it only stops after the client reads 10 items
counter.Increment();
}
Console.WriteLine("CLIENT: read total of {0} items", counter.GetCount());
Console.WriteLine("Press any key to terminate");
Console.ReadLine();
}
}
示例8: Main
static void Main(string[] args)
{
// Before running replace the servicebus namespace (next line) and REPLACESERVICEBUSKEY (app.config)
string serviceNamespace = "jtarquino";
string serviceBusKey = "REPLACEKEYHERE";
Console.Write("Your Service Namespace: ");
// Tranport level security is required for all *RelayBindings; hence, using https is required
Uri address = ServiceBusEnvironment.CreateServiceUri("https", serviceNamespace, "Timer");
WebServiceHost host = new WebServiceHost(typeof(ProblemSolver), address);
WebHttpRelayBinding binding = new WebHttpRelayBinding(EndToEndWebHttpSecurityMode.None, RelayClientAuthenticationType.None);
host.AddServiceEndpoint(
typeof(IProblemSolver), binding, address)
.Behaviors.Add(new TransportClientEndpointBehavior
{
TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", serviceBusKey)
});
host.Open();
Console.WriteLine(address + "CurrentTime");
Console.WriteLine("Press ENTER to close");
Console.ReadLine();
host.Close();
}
示例9: Run
public async Task Run(string hostName, string listenToken)
{
string httpAddress = new UriBuilder("http", hostName, -1, "svc").ToString();
using (var host = new WebServiceHost(GetType()))
{
host.AddServiceEndpoint(
GetType(),
new WebHttpRelayBinding(
EndToEndWebHttpSecurityMode.None,
RelayClientAuthenticationType.None) {IsDynamic = true},
httpAddress)
.EndpointBehaviors.Add(
new TransportClientEndpointBehavior(
TokenProvider.CreateSharedAccessSignatureTokenProvider(listenToken)));
host.Open();
Console.WriteLine("Starting a browser to see the image: ");
Console.WriteLine(httpAddress + "/Image");
Console.WriteLine();
// launching the browser
System.Diagnostics.Process.Start(httpAddress + "/Image");
Console.WriteLine("Press [Enter] to exit");
Console.ReadLine();
host.Close();
}
}
示例10: Create
public static WebServiceHost Create(Uri baseUri, AppDelegate app)
{
var host = new WebServiceHost(new GateWcfService(app), baseUri);
host.AddServiceEndpoint(typeof (GateWcfService), new WebHttpBinding(), "");
host.Open();
return host;
}
示例11: Two
private static void Two()
{
Console.WriteLine("Starting service...");
// Configure the credentials through an endpoint behavior.
TransportClientEndpointBehavior relayCredentials = new TransportClientEndpointBehavior();
relayCredentials.TokenProvider =
TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "fBLL/4/+rEsCOiTQPNPS6DJQybykqE2HdVBsILrzMLY=");
// Create the binding with default settings.
WebHttpRelayBinding binding = new WebHttpRelayBinding();
binding.Security.RelayClientAuthenticationType = RelayClientAuthenticationType.None;
// Get the service address.
// Use the https scheme because by default the binding uses SSL for transport security.
Uri address = ServiceBusEnvironment.CreateServiceUri("https", "johnsonwangnz", "Rest");
// Create the web service host.
WebServiceHost host = new WebServiceHost(typeof(EchoRestService), address);
// Add the service endpoint with the WS2007HttpRelayBinding.
host.AddServiceEndpoint(typeof(IEchoRestContract), binding, address);
// Add the credentials through the endpoint behavior.
host.Description.Endpoints[0].Behaviors.Add(relayCredentials);
// Start the service.
host.Open();
Console.WriteLine("Listening...");
Console.ReadLine();
host.Close();
}
示例12: Form
public Form()
{
try
{
InitializeComponent();
DBProvider.CreateDBIfNotExist();
dataGridView.DataSource = Source;
SystemEvents.SessionSwitch += Tracker.SessionSwitch;
SystemEvents.SessionSwitch += LoadGridSource;
Tracker.SessionSwitch(null, new SessionSwitchEventArgs(SessionSwitchReason.SessionLogon));
LoadGridSource(null, null);
SetViewSettings();
//init host for test client
var host = new WebServiceHost(typeof(Service), new Uri("http://localhost:8001/"));
var ep = host.AddServiceEndpoint(typeof(IService), new WebHttpBinding(), "");
host.Open();
}
catch (Exception ex)
{
Logger.Log(ex);
}
}
示例13: OnStart
protected override void OnStart(string[] args)
{
var host = new WebServiceHost(new NancyWcfGenericService(),
new Uri("http://localhost:1234/base/"));
host.AddServiceEndpoint(typeof(NancyWcfGenericService), new WebHttpBinding(), "");
host.Open();
}
示例14: Run
public async Task Run(string httpAddress, string listenToken)
{
using (var host = new WebServiceHost(this.GetType()))
{
var webHttpRelayBinding = new WebHttpRelayBinding(EndToEndWebHttpSecurityMode.Transport,
RelayClientAuthenticationType.RelayAccessToken)
{IsDynamic = false};
host.AddServiceEndpoint(this.GetType(),
webHttpRelayBinding,
httpAddress)
.EndpointBehaviors.Add(
new TransportClientEndpointBehavior(
TokenProvider.CreateSharedAccessSignatureTokenProvider(listenToken)));
host.Open();
Console.WriteLine("Copy the following address into a browser to see the image: ");
Console.WriteLine(httpAddress + "/Image");
Console.WriteLine();
Console.WriteLine("Press [Enter] to exit");
Console.ReadLine();
host.Close();
}
}
示例15: OnStart
protected override void OnStart(string[] args)
{
var sn = "Facturador Fiscal Winks Hotel";
try
{
Uri baseAddress = new Uri(ConfigurationManager.AppSettings["BaseAddress"]);
var webHost = new WebServiceHost(typeof(ServiceSelector), baseAddress);
var endpoint = webHost.AddServiceEndpoint(typeof(IServiceSelector), new WebHttpBinding(WebHttpSecurityMode.None), baseAddress);
//add support for cors (both for the endpoint to detect and create reply)
endpoint.Behaviors.Add(new CorsBehaviorAttribute());
foreach (var operation in endpoint.Contract.Operations)
{
//add support for cors (and for operation to be able to not
//invoke the operation if we have a preflight cors request)
operation.Behaviors.Add(new CorsBehaviorAttribute());
}
webHost.Open();
}
catch (Exception ex)
{
if (!EventLog.SourceExists(sn))
EventLog.CreateEventSource(sn, "Application");
EventLog.WriteEntry(sn, ex.Message, EventLogEntryType.Error);
}
}