古い.asmx WebサービスをNancyベースのアプリケーションに追加しようとしています。他のSOの記事の提案あたり、私はすでに.NET 4.5.2で.asmxをNancyに追加する - HttpRequest.GetBufferlessInputStreamの後にはサポートされない
<add key="wcf:serviceHostingEnvironment:useClassicReadEntityBodyMode" value="true" />
を追加したが、無駄に、私はまだ
System.Web.Services.Protocols.SoapExceptionを取得:指定した拡張子を実行している例外がありました設定ファイル内にあります。 ---> System.Web.HttpException:このメソッドまたはプロパティは、HttpRequest.GetBufferlessInputStreamが呼び出された後に サポートされていません。 at System.Web.HttpRequest.get_InputStream() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() ---内部例外スタックトレースの終了--- at System.Web.Services.Protocols.SoapServerProtocol System.Web.Services.Protocols.ServerProtocolFactory.Createで.Initialize() (タイプtype、 のHttpContextコンテキスト、HttpRequestの要求、のHttpResponse応答、 ブール& abortProcessing)
私はapp.UseNancy(options)
ASMX作品をコメントアウトした場合再び。実際、それはuseClassicReadEntityBodyMode
なしでも動作します。 Nancyとasmxの関係を作るにはどうすればいいですか?スタートアップの場合、
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ですが、これが問題になりますか?