![](/img/trans.png)
[英]This method or property is not supported after HttpRequest.GetBufferlessInputStream has been invoked
[英]Adding .asmx to Nancy in .NET 4.5.2 - not supported after HttpRequest.GetBufferlessInputStream
我正在尝试将一个旧的.asmx Web服务添加到基于Nancy的应用程序中。 根据关于其他SO帖子的建议,我已经添加了
<add key="wcf:serviceHostingEnvironment:useClassicReadEntityBodyMode" value="true" />
但无济于事
System.Web.Services.Protocols.SoapException:运行配置文件中指定的扩展名时出现异常。 ---> System.Web.HttpException:调用HttpRequest.GetBufferlessInputStream后,不支持此方法或属性。 在System.Web.Services.Protocols.SoapServerProtocol.Initialize()处的System.Web.HttpRequest.get_InputStream()-内部异常堆栈跟踪的结尾-在System.Web.Services.Protocols.SoapServerProtocol.Initialize()在System.Web.Services.Protocols.ServerProtocolFactory.Create中(类型类型,HttpContext上下文,HttpRequest请求,HttpResponse响应,布尔值和abortProcessing)
如果我将app.UseNancy(options)
注释掉,则asmx再次起作用。 实际上,它甚至可以在没有useClassicReadEntityBodyMode
情况下使用。 我怎样才能使asmx与Nancy一起工作? 对于启动,我
var bootstrapper = new CustomNinjectNancyBootstrapper(resolver.Kernel);
var options = new NancyOptions
{
Bootstrapper = bootstrapper,
PerformPassThrough = c => c.Request.Path.EndsWith(".asmx"),
};
options.PassThroughWhenStatusCodesAre(HttpStatusCode.NotFound);
app.UseNancy(options);
app.UseStageMarker(PipelineStage.MapHandler);
更新,SOAP客户端是.NET 3.5,这可能是问题吗?
问题不是南希,而是app.UseStageMarker(PipelineStage.MapHandler);
我删除了 这是一个Owin问题,所以我要结束了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.