请教wcf访问问题。

Shrek_MyCpp 2013-05-11 10:46:18
建立了一个ConsoleApplication1控制台程序,引用了WcfServiceLibrary1。
控制台程序放在远程电脑上运行。

然后在本地建立了一个工程,想引用远程的服务,为什么找不到???
是URL写的不对吗?
就是把控制台上的 宿主基地址的 LocalHost,改成该电脑的ip了。

请问问题出在哪里???
...全文
296 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Kimizhou_blog 2013-07-01
这个问题我也遇到过。结果卡了我一天终于解决。 原因是 远程电脑的安装环境不合格,在远程电脑上安装一个vs2010 (vs2010里面有很多.net的环境,包过所有支持wcf的环境),问题就解决了!
回复
jiaoshiyao 2013-06-04
引用 4 楼 sp1234 的回复:
[quote=引用 楼主 Shrek_MyCpp 的回复:] 建立了一个ConsoleApplication1控制台程序,引用了WcfServiceLibrary1。 控制台程序放在远程电脑上运行。 然后在本地建立了一个工程,想引用远程的服务,为什么找不到??? 是URL写的不对吗? 就是把控制台上的 宿主基地址的 LocalHost,改成该电脑的ip了。 请问问题出在哪里???
贴出你ip以及创建web service服务器的那几行代码。 比如说我的笔记本现在的ip是192.168.42.1,你怎么找它? 当服务器运行时,先可以从浏览器上去访问,它会自己现实wsdl之类的页面。如果根本连不上,那么就不要再去用什么“本地工程去找”它了。 [/quote] 你的每一条回复都很nx
回复
jiaoshiyao 2013-06-04
Web部署任务失败错误1。(无法完成请求的远程代理的HTTP URL:/ / [ IP ]:[端口] / MSDeploy能够。AXD / msdeployagentservice”。) 此错误指示您无法连接到服务器。确保服务的URL是否正确,这台计算机和服务器计算机上的防火墙和网络设置配置是否正确,以及相应的服务已在服务器上启动。 错误详细信息: 无法完成远程代理URL的HTTP请求:/ / [ IP ]:[端口] / MSDeploy能够AXD / msdeployagentservice”。 基础连接关闭:在接收时发生意外错误。 无法从传输连接上读取数据远程主机强迫关闭了一个现有的连接..
回复
Shrek_MyCpp 2013-05-12
继续请教:其实 如果能直接把服务发布到远程机器上,也可以的。但是我不会操作。请指导。 我用的是vs2010. 远程发布 选择: publish method: Web Deploy Service URL: http://[ip]:[port]/Msdeploy.axd Site/application: Default Web Site/MyApp 然后 下面是填写那台机器的 UserName 和 Password 发布 失败: Error 1 Web deployment task failed.(Could not complete the request to remote agent URL 'http://[ip]:[port]/Msdeploy.axd/MSDEPLOYAGENTSERVICE'.) This error indicates that you cannot connect to the server. Make sure the service URL is correct, firewall and network settings on this computer and on the server computer are configured properly, and the appropriate services have been started on the server. Error details: Could not complete the request to remote agent URL 'http://[ip]:[port]/Msdeploy.axd/MSDEPLOYAGENTSERVICE'. The underlying connection was closed: An unexpected error occurred on a receive. Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。. 远程主机强迫关闭了一个现有的连接。 0 0 WcfService1
回复
引用 楼主 Shrek_MyCpp 的回复:
建立了一个ConsoleApplication1控制台程序,引用了WcfServiceLibrary1。 控制台程序放在远程电脑上运行。 然后在本地建立了一个工程,想引用远程的服务,为什么找不到??? 是URL写的不对吗? 就是把控制台上的 宿主基地址的 LocalHost,改成该电脑的ip了。 请问问题出在哪里???
贴出你ip以及创建web service服务器的那几行代码。 比如说我的笔记本现在的ip是192.168.42.1,你怎么找它? 当服务器运行时,先可以从浏览器上去访问,它会自己现实wsdl之类的页面。如果根本连不上,那么就不要再去用什么“本地工程去找”它了。
回复
Shrek_MyCpp 2013-05-12
我就是根据网上的教程 在本地部署后 是可以访问的。 后来 就直接把控制台 放到远程电脑上运行了; 再在本地,通过修改原来的url,改掉localhost为网络ip,去找这个远程电脑,没找到。 ip是公网的ip 带port, 是可以ping通的, telnet ip port, 也是可以的。 主要就是我不知道怎么设置。请问哪位好心人能留个联系方式,指导一下。不胜感激!!!
回复
大腹 2013-05-12
楼上说的都有道理。 我学习WCF时也出现过引用不上的问题,当时是因为没有开启serviceMetadata 。 即你在配置文件中添加节点

<behaviors> 
<serviceBehaviors> 
<behavior name="WcfServiceApp.WCFServiceBehavior"> 
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
<serviceMetadata httpGetEnabled="true"/> 
<!-- To receive exception details in faults for debugging purposes, set the value below to true.Set to false before deployment to avoid disclosing exception information --> 
<serviceDebug includeExceptionDetailInFaults="false"/> 
</behavior> 
</serviceBehaviors> 
</behaviors> 
然后再你的service节点使用声明的behavior

<service name="WcfServiceApp.WCFService" behaviorConfiguration="WcfServiceApp.WCFServiceBehavior"> 
回复
moonwrite 2013-05-12
用控制台作为wcf的宿主的话 引用地址不是用http开头的 还有宿主的配置文件中也要添加貌似mexchange的一个节点 所以问题多多~
回复
devmiao 2013-05-11
有很多可能性,比如你是否使用了正确的绑定(http),是否正确部署,防火墙,等等。
回复
相关推荐
发帖
.NET技术前瞻
创建于2007-09-28

1.3w+

社区成员

.NET技术 .NET技术前瞻
申请成为版主
帖子事件
创建了帖子
2013-05-11 10:46
社区公告
暂无公告