所以你有一个*.svc文件来托管你的服务.您可以右键单击该文件上的Visual Studio并说"在浏览器中显示"吗?你在那里得到任何东西,还是立即抛出错误?
下一步:您的服务端点没有address=""
属性,我认为这是必须的 - 尝试添加(即使您没有在其中指定地址).
如果您在IIS中托管,则您的服务地址由存在SVC文件的虚拟目录和SVC文件本身定义 - 您可能无法定义特定端口或任何内容(IIS将处理该端口).
所以尝试连接到
http://localhost/Services/Service1.svc
这有用吗?
更新:再次阅读你的帖子,你正在为服务指定一个特殊的工厂 - WebServiceHostFactory
.这是WebServiceHostFactory
.NET提供的默认值,还是你自己构建的?
重点是:.NET WebServiceHostFactory
将使用webHttpBinding
RESTful WCF服务 - 这将不适用于端点指定basicHttpBinding
,REST服务也不会有任何元数据....
更新#2:尝试在SVC文件和配置文件中仅使用服务的完全限定类名,但不使用程序集规范.
所以改变这个:
Service="MyApp.Core.Service.Service.MyAppService,MyApp.Core.Service"
对此:
Service="MyApp.Core.Service.Service.MyAppService"
SVC文件:
<%@ ServiceHost Language="C#" Debug="true" Service="MyApp.Core.Service.Service.MyAppService" %>
配置文件: