我有一個問題,當我連接到使用WCF測試客戶端我得到的消息端點404錯誤託管WCF服務
無法從http://localhost:8080/evals/basic
我獲得元數據米添加終點和起點使用
private ServiceHost _serviceHost;
public ServiceHost ServiceHost
{
get { return _serviceHost?? (_serviceHost= new ServiceHost(typeof(EvalService))); }
}
public void Start()
{
ServiceHost.AddServiceEndpoint(typeof(IEvalService),
new BasicHttpBinding(),
"http://localhost:8080/evals/basic");
ServiceHost.AddServiceEndpoint(typeof(IEvalService),
new WSHttpBinding(),
"http://localhost:8080/evals/ws");
ServiceHost.AddServiceEndpoint(typeof(IEvalService),
new NetTcpBinding(),
"net.tcp://localhost:1002/evals");
ServiceHost.Open();
}
在代碼主機,當我檢查狀態使用這種方法
private void ShowServiceInfo()
{
var message = String.Format("{0} is {1} with these endpoints:\n", _host.ServiceHost.Description.ServiceType, _host.ServiceHost.State);
foreach (var serviceEndpoint in _host.ServiceHost.Description.Endpoints)
{
message += "\n" + serviceEndpoint.Address;
}
MessageBox.Show(message);
}
然後我得到這個消息看起來好像一切運行正常
HostService.EvalService開設有這些端點:
http://localhost:8080/evals/basic 的http://本地主機:8080/evals/WS 的net.tcp: // localhost:1002/evals
任何人都知道爲什麼瀏覽到端點將無法工作?
權限?嘗試作爲管理員運行你的應用程序?我注意到應用程序不能互相溝通,除非允許端點(忘記如何)或者以管理員身份運行應用程序。也許在單個應用程序中是一樣的。 –
只是因爲我沒有UAC打開而啓用UAC時纔會這樣。另外當我嘗試通過App.config配置端點時,我得到此異常 --------------------------- System.InvalidOperationException:Service 'HostService.EvalService'具有零應用程序(非基礎設施)端點。這可能是因爲沒有爲您的應用程序找到配置文件,或者因爲在配置文件中找不到匹配服務名稱的服務元素,或者因爲服務元素中沒有定義端點。 –
如果我將啓動項目設置爲我的WCF項目,那麼我在WCF服務主機中得到此異常 System.InvalidOperationException:ServiceMetadataBehavior的HttpGetEnabled屬性設置爲true,並且HttpGetUrl屬性是相對地址,但沒有http基地址。提供http基地址或將HttpGetUrl設置爲絕對地址。 –