У меня есть API WCF REST, реализованный в библиотеке класса C#. В конечном итоге я хотел бы, чтобы служба была способна размещена в моем собственном процессе или в качестве службы Windows, в зависимости от выбора пользователя. Таким образом, он должен поддерживать как Inproc, так и HTTP -привязки. Должен ли я использовать другой протокол для ProC? До тех пор, пока я сохраняю способность иметь его перекрестную машину при связывании HTTP, я доволен. < /P>
WebServiceHost host = new WebServiceHost(typeof(SapphireServiceLib.SapphireService), new Uri("http://localhost:8080/") );
try
{
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(SapphireServiceLib.ISapphireService), new WebHttpBinding(), "");
host.Open();
}
catch (Exception ex)
{
MessageBox.Show("Unable to start Sapphire Service Host: " + ex.Message);
return;
}
// Next, connect to the endpoint for our own use
try
{
// Set the max msg large, otherwise max size would be 64K and we couldn't fetch all the logs.
// REVIEW I suppose this might expose it to a Denial of Service attack if public
var binding = new WebHttpBinding() { MaxReceivedMessageSize = Int32.MaxValue };
ChannelFactory cf = new ChannelFactory(binding, "http://localhost:8080");
cf.Endpoint.Behaviors.Add(new WebHttpBehavior());
SapphireService = cf.CreateChannel();
}
catch (Exception ex)
{
MessageBox.Show("Unable to connect to service endpoint: " + ex.Message);
return;
}
Подробнее здесь: https://stackoverflow.com/questions/480 ... min-rights
Как публиковать и подключиться к моей собственной конечной точке WCF без прав администратора ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
На конечной точке IP 0.0.0.0:13000 уже есть прослушиватель. ?? (TCP с использованием WCF)
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-