我创建了asmx服务,如何通过“URL”调用它?
这是我的代码:
[WebMethod]
public string start(string id, string name)
{
string newname = name;
return newname;
}
这是我当前的网址:
url = "http://localhost:XXXXX/WebService.asmx/start?id=" +id+ "&name="+name;
这是我的“Web.config”:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5">
</compilation>
<httpRuntime maxRequestLength="1000000"/>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
<system.webServer>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>
答案 0 :(得分:2)
您可以修饰您的方法以允许HTTP GET请求
[WebMethod]
[ScriptMethod(UseHttpGet=true)]
public string start(string id, string name)
{
string newname = name;
return newname;
}
并在web.config文件中执行以下操作
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
</protocols>
将UseHttpGet属性设置为true可能会给安全带来安全风险 您的应用程序,如果您正在处理敏感数据或 交易。在GET请求中,消息由浏览器编码 进入URL,因此更容易被篡改。
请注意,这种执行GET请求的方法确实有一些 安全风险。根据{{3}}
希望这有帮助