我有一个问题,当我连接到使用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设置为绝对地址。 –