需要在执行asp.net Web服务Web方法输入之前对其进行操作。
例如:
我有一个名为web1(string inp1)
的网络方法。现在,我使用输入的inp1
值作为“ Jagan drop table”来调用此Web方法,但是我需要将inp1
的值更改为“ Jagan”,然后将其传递给相应的Web方法。 / p>
我不想在每个Web方法中都替换它,而是在相同的地方(例如公共函数或类)替换。
答案 0 :(得分:0)
您要交易with Sql injection吗?在构建查询时只需使用sql参数来避免它。
我认为这不是在不通知的情况下从传入参数中删除某些内容的好方法。最好检查sql注入并发现错误。
如果您正在寻找检查所有传入参数的方法,则可以使用ASP.NET中间件。 像
public class SampleMiddleware
{
private readonly RequestDelegate _next;
public SampleMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext httpContext)
{
//you can have access for
httpContext.Request.Query
httpContext.Request.Headers
httpContext.Request.Body
}
}
您可以使用SampleMiddleware.InvokeAsync
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions
对控制器中的每个方法都执行
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseMiddleware<SampleMiddleware>();
}
}
答案 1 :(得分:0)
一种达到要求的方法是使用Soap Extensions-
我正在获取以下网站的代码,并尝试相应地进行解释-
https://expertsys.hu/2017/10/11/renaming-asmx-webmethod-parameter-preserving-compatibility/
response.urljoin()
请通过以下链接获取有关SOAP扩展的更多信息-