我目前正在使用使用寧靜服務的應用程序。還有另一個應用程序正在運行自行託管的WCF服務。我想從寧靜的服務中消費自己託管的服務,但我遇到了一個問題。我得到(405)方法不允許。Restful服務使用WCF自我託管服務
下面是如何自我託管服務創建和託管
ServiceHost host = new ServiceHost(typeof(LiveService));
host.Open();
這裏是我正在試圖消耗功能的RESTful服務
BinaryMessageEncodingBindingElement binaryMessageEncoding = new BinaryMessageEncodingBindingElement();
HttpTransportBindingElement httpTransport = new HttpTransportBindingElement() { MaxBufferSize = int.MaxValue, MaxReceivedMessageSize = int.MaxValue };
CustomBinding ServiceCustomBinding = new CustomBinding(binaryMessageEncoding, httpTransport);
EndpointAddress ServiceEndpointAddress = new EndpointAddress(string.Format("http://{0}/LiveService", host));
LiveWebServiceClient client = new LiveWebServiceClient(ServiceCustomBinding, ServiceEndpointAddress);
這裏是服務的例子
[ServiceContract]
public interface ILiveService
{
[OperationContract]
string Hello();
}
public string Hello()
{
return "Hello";
}
我做了一些研究,我猜它是因爲我從ar打電話美好的服務。我嘗試過使用[WebGet()]和[WebInvoke(Method =「GET」)],但它似乎沒有什麼區別。不知道我錯過了什麼。
什麼是您的主機值在string.Format(「http:// {0}/LiveService」,主機)設置爲? –
我正在傳遞值。這最終成爲問題,我沒有包括自我託管服務的端口。 – thecaptain0220