我知道这是一个常见问题,而且我读过所有类似的问题和A的,但我仍然没有正确的回答。
我是网络服务和ASP.NET的新手。我有一个小WCF服务应用程序写的同事,这是工作,并在他的个人电脑演示。在我的pc上,没有任何改变,我无法让它被WCF测试客户端程序接受,当它作为一个服务添加时(下面的错误消息)。我的同事现在休假了!
项目属性设置为使用具有自动分配端口号的VS开发服务器启动WcfTestClient.exe。该项目有一个webform.aspx和一个Global.asax文件,这是服务所需要的。
我已经跑了
netsh http add urlacl url=http://localhost:51568/Service1.svc user=<loginname>我的问题是如何让WcfTestClient启动服务,以及浏览器上的webform?
我看过很多类似问题的答案,但仍然很困惑。
添加服务失败。服务元数据可能无法访问。确保您的服务正在运行并公开元数据。错误:如果这是您可以访问的Windows (R)通信基础服务,则无法从
http://localhost:51568/Service1.svc获取元数据,请检查是否已启用指定地址的元数据发布。有关启用元数据发布的帮助,请参阅..。错误URI:http://localhost:51568/Service1.svc元数据包含无法解析的引用:“http://localhost:51568/Service1.svc”。在http://localhost:51568/Service1.svc没有能够接收消息的端点侦听。这通常是由不正确的地址或SOAP操作造成的。有关更多细节,请参见InnerException (如果存在)。无法连接到远程服务器,无法连接,因为目标机器主动拒绝了127.0.0.1:51568HTTPGET错误URI:http://localhost:51568/Service1.svc,因此下载'http://localhost:51568/Service1.svc‘时出错。无法连接到远程服务器,无法连接,因为目标计算机主动拒绝了127.0.0.1:51568
这是我的web.config:
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="Service1" behaviorConfiguration="DefaultBehavior">
<endpoint address="http://localhost:*/Service1" binding="basicHttpBinding" contract="IService1" />
<endpoint address="http://localhost:*/Service1/mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>对于端口号,我感到奇怪的是,如果我没有将项目设置为从外部程序开始,那么浏览器就会列出localhost端口50345的目录列表,这是一个与51568不同的端口号。
发布于 2012-06-29 09:29:55
无法连接到远程服务器,无法连接,因为目标计算机主动拒绝了127.0.0.1:51568
和
如果我没有将项目设置为从外部程序开始,则浏览器将列出localhost端口50345处的目录列表。
这仅仅意味着WCF服务托管在后一个端口。您可以在项目属性的“Web”选项卡上更改此选项卡。
https://stackoverflow.com/questions/11259264
复制相似问题