![](/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.