webservice的端口影射问题

yubintj 2013-03-14 12:53:03
用vs写了一个webservice,本地调试没有问题。
将目录拷贝到iis服务器下,开启测试窗体,局域网访问正常。
本服务器映射到外网端口为10000,在浏览器中输入外网ip和端口访问测试窗体正常,在点击调用按钮时,无法访问服务器,这是在调用时没写端口号造成的无法访问,请问在哪里加端口号?web.config里面找不到
...全文
3509 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
华芸智森 2014-04-10
  • 打赏
  • 举报
回复
DBSynergyHelper.S_UserInfo.remoteAddress 就是WCF的地址。
华芸智森 2014-04-10
  • 打赏
  • 举报
回复
''' <summary> ''' 打开远程WCF服务. ErpServer/basic ''' </summary> ''' <param name="WCS">WCF服务的客户端代理.</param> ''' <param name="ErrMsg">错误描述.</param> ''' <returns>成功:true 失败:false</returns> ''' <remarks></remarks> Private Function OpenDBServer(ByRef WCS As ServerSynergyWCF.MethodClient, Optional ByRef ErrMsg As String = "") As Boolean Try Dim readerQuotas As New XmlDictionaryReaderQuotas readerQuotas.MaxArrayLength = Int32.MaxValue readerQuotas.MaxStringContentLength = Int32.MaxValue readerQuotas.MaxBytesPerRead = Int32.MaxValue readerQuotas.MaxDepth = Int32.MaxValue readerQuotas.MaxNameTableCharCount = Int32.MaxValue Dim netbinding As BasicHttpBinding = New BasicHttpBinding() netbinding.ReaderQuotas = readerQuotas '//消息约束. netbinding.MaxBufferPoolSize = 64 * 1024 * 1024 '//分配的最大内存量. netbinding.MaxBufferSize = Int32.MaxValue '//缓冲区的大小. netbinding.MaxReceivedMessageSize = Int32.MaxValue '//消息大小. netbinding.TransferMode = TransferMode.Buffered '//通过缓冲处理消息. netbinding.MaxReceivedMessageSize = Int32.MaxValue '//可接收消息的大小. netbinding.MessageEncoding = WSMessageEncoding.Text '//传输的编码格式. 'netbinding.ReceiveTimeout = TimeSpan.Parse("00:10:00") '//超时设置为10分钟. 'netbinding.SendTimeout = TimeSpan.Parse("00:10:00") '// 发送超时. 'netbinding.CloseTimeout = TimeSpan.Parse("00:00:30") '// 异常超时. ErrMsg = "" WCS = New ServerSynergyWCF.MethodClient(netbinding, New System.ServiceModel.EndpointAddress(DBSynergyHelper.S_UserInfo.remoteAddress)) Catch ex As Exception ErrMsg = ex.Message Return False End Try Return True End Function ---------------- Friend Structure UserInfo Dim BigUserAUID As Int64 '//用户系统编号 Dim VarUserID As String '//用户编号 Dim BigPeopleAUID As Int64 '//使用者系统编号 Dim VarPeopleID As String '//使用者编号. Dim VarPeopleName As String '//使用者姓名 Dim VarLoginName As String '//登录用户名 Dim VarLoginPWS As String '//登录密码. Dim VarUserFaithVag As String Dim remoteAddress As String '//服务地址. Dim VarSystemName As String '//系统名称. Dim VarSysLang As String '//系统语言. Dim IntContactsTypeID As Int32 '//用户类型.[ 1 本公司 2 客户 3 供应商 ] Dim UserIP As String '//用户IP. End Structure
  • 打赏
  • 举报
回复
引用 4 楼 yubintj 的回复:
呵呵 调用时下一步的事情,我想先调通webservice的测试窗体,现在测试窗体里的调用按钮不带端口好,我想知道服务器配置在哪里加?
你想让服务器配置去修改你的测试窗体代吗?
  • 打赏
  • 举报
回复
不管用什么方式来改变服务器端EndPoint,你只要知道一个观念就好了: 这个问题其实扯不上服务器地址。
  • 打赏
  • 举报
回复
引用 8 楼 yubintj 的回复:
没人回答么?我的问题时webservice部署到iis之后,iis服务器影射到公网上的非80端口,在web测试页中调用按钮显示的事不带端口号的调用地址与参数导致找不到页面,从那里能改这个?
你开发是是一个特定的ip、特定的端口号,然后实际生产环境肯定有所改变。有些人没有把技术学到手,容易遭与这种尴尬。 也有好几种方式。 例如在你的客户端应用程序创建webservice的客户端代理对象时,你把那一个参数的实例化方法应该改为三个参数的实例化方法,后两个就是客户端绑定的协议以及服务器EndPoint参数,此时你的程序可以自由地改变EndPoint参数。 例如你的客户端程序可以支持用户选择100家子公司,然后你的程序动态地连上同一类型web服务,但是是不同子公司的EndPoint。 再很早以前,我记得可以使用这个对象的URL属性来动态改变。 如果这个东西不需要任何灵活性,那么你打开你的客户端的config文件修改一下再编译和发布客户端程序,也是可以的。
pzsm123 2014-01-14
  • 打赏
  • 举报
回复
在路由里面做一下端口映射就行了
那城 2013-08-13
  • 打赏
  • 举报
回复
"http://localhost:10131/Service1.asmx";//动态修改这里就行了
yubintj 2013-03-19
  • 打赏
  • 举报
回复
没人回答么?我的问题时webservice部署到iis之后,iis服务器影射到公网上的非80端口,在web测试页中调用按钮显示的事不带端口号的调用地址与参数导致找不到页面,从那里能改这个?
gxingmin 2013-03-14
  • 打赏
  • 举报
回复
ManageServices.Service1SoapClient _manageService = new ManageServices.Service1SoapClient(); string strURL = "http://localhost:10131/Service1.asmx";//动态修改这里就行了 _manageService = new ManageServices.Service1SoapClient("Service1Soap", strTelecomURL);//这里是你要修改的配置节的名称,要修改的地址
wxfwangxiaofei 2013-03-14
  • 打赏
  • 举报
回复
我只知道在IIS服务器配置,在配置文件配置不知道
yubintj 2013-03-14
  • 打赏
  • 举报
回复
服务器端口内网就是80,不用设置,下载的问题时端口影射后,访问需要加端口号了,而测试窗体中调用按钮的action中的网址没加端口号,所以访问不了,请问如何设置,怎么试调用按钮post的网址上加上端口号
gxingmin 2013-03-14
  • 打赏
  • 举报
回复
服务器在iis里加啊,跟发布普通网站一下,默认是80端口,其他端口你需要在iis里给它分配
yubintj 2013-03-14
  • 打赏
  • 举报
回复
呵呵 调用时下一步的事情,我想先调通webservice的测试窗体,现在测试窗体里的调用按钮不带端口好,我想知道服务器配置在哪里加?
gxingmin 2013-03-14
  • 打赏
  • 举报
回复
写在你调用webservice的地方啊,你在哪里调用它?
yubintj 2013-03-14
  • 打赏
  • 举报
回复
刚开始弄webservice 能说的更具体一点么?这段代码写在哪里?

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧