• (26)C#WebService


     一、创建webservice

    二、发布webservice

    1.正式发布

    (1)配置IIS

    自己在局域网用的话,只需1,2,3 三步

    1:网站的名称,将来IIS里有多个网站时可以方便区分

    2:文件的本地路径

    3:webserice的端口,默认80

    (2) 发布路径

    (3)访问webService

    http://localhost:8011/Service.asmx

    原工程下的Service名

    2.测试发布

    (1)使用vs开发服务器

    vs2008自带  IIS Express可以用来调试程序.

    运行后,直接访问地址:http://localhost:53881/

    Service.asmx 是webService网址,也就是 http://localhost:53881/Service.asmx

     

    数据库交互时报这个错,目前不知道怎么解决。。

    (2)使用IIS web服务器

    VS 映射 iis时,创建物理路径为vs程序的根路径下

     

    更改应用程序池,默认和网站名称一样

    更改为2.0

    点击创建虚拟目录

    访问地址  http://localhost:8011/Service.asmx

    报这个错误是因为新建的网站的物理路径不是VS代码的径路,或者这个网站没开。

    可能是应用程序池没改成.net2.0

     

     

    四、C#引用、更新webservice

    引用webService

    选中工程右键-添加web引用

     

    1:输入webservice地址

    2:前往

    3:输入web引用名

    4:点击添加引用

    更新webService

    当webservice增加了调用方法时,需要更新webSevice

    这篇文章,先后写过几次截图的上下文不对应。但最基本的使用方法能满足

     

     如果报此错误

    System.Web.HttpRequestValidationException: 从客户端(xml="<?xml version="1.0" ...")中检测到有潜在危险的 Request.Form 值。
       在 System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
       在 System.Web.HttpRequest.<>c__DisplayClass280_0.<ValidateHttpValueCollection>b__0(String key, String value)
       在 System.Web.HttpValueCollection.EnsureKeyValidated(String key)
       在 System.Web.HttpValueCollection.Get(String name)
       在 System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
       在 System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
       在 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
       在 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()


    因为如果Web表单中有输入类似于Html标签之类的文本,在通过Request.QueryString或者Request.Form传递这些值的时候,就会触发这样的异常,出于脚本注入等安全性考虑。
    在config system.web标签下的httpRuntime里添加 requestValidationMode="2.0" 即可,注意调试后删除
      <system.web>
        <compilation debug="true" targetFramework="4.6"/>
        <httpRuntime targetFramework="4.6" requestValidationMode="2.0"/>
      </system.web>

  • 相关阅读:
    软件开发流程实例之四 :编码和测试
    软件开发流程实例之三 :系统设计
    jQuery入门[4]-链式代码
    jQuery入门[1]-构造函数
    jQuery入门[2]-选择器
    自编类库,添加引用,编译运行时显示“未能找到”
    SelectByShape 工具的实现
    TOC控件不显示内容列表
    鹰眼功能的实现(步骤,无代码)
    INumericFormat 接口
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/6160854.html
Copyright © 2020-2023  润新知