Web Services 使用SoapCore库在Web应用程序中隐藏svc端

ej83mcc0  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(181)

我的Web应用程序结构简单。

是否有可能在url https://localhost:7189/Service.svc中隐藏wsdl源代码,以使用户看不到它?

我试图创建webconfig并在那里输入一些设置,我发现,但这没有给我预期的结果。

解决方案:

app.UseEndpoints(endpoints =>
{
    endpoints.UseSoapEndpoint<BookService>(new Action<SoapCoreOptions>(CreateBookServiceEndpoint));
});

void CreateBookServiceEndpoint(SoapCoreOptions target)
{
    target.HttpGetEnabled = false;
    target.HttpsGetEnabled = false;
    target.Path = "/BookService.svc";
    target.EncoderOptions = new SoapEncoderOptions[] { new SoapEncoderOptions() };
    target.SoapSerializer = SoapSerializer.XmlSerializer;
}
z6psavjg

z6psavjg1#

看起来当HttpsGetEnabledHttpGetEnabled为false(分别用于HTTPS/HTTP请求)时,您无法发出GET请求,因此如下所示:

.UseSoapEndpoint(..., options => 
{
    HttpGetEnabled = false,
    HttpsGetEnabled = false,
});

相关问题