1

次の変換を実行しようとしています:

CType(Context.Handler, MyCustomHandler)

しかし、それは次のエラーをスローしています。

Unable to cast object of type 'ASP.MyWebForm_aspx' to type 'MyCustomHandler'.

「Context.Handler」と「MyCustomHandler」の両方が IHttpHandler 型です。

** MyCustomHandler は IHttpHandler を実装します。

ありがとう。

4

2 に答える 2

1

数時間の作業の後、この問題を解決してください。変換は合法でしたが、登録したカスタム ハンドラーは IIS6 以前に準拠したセクションでした。統合モードでIIS7でWebサイトをローカルに実行していたため、セクションの下のセクションに登録されたハンドラーが表示され、このハンドラーはそこに登録されていませんでした。考えられる解決策は 2 つあります。

1) セクションにカスタム ハンドラーを追加します
。2) II7 で Integrated を Classic モードに変更します。

2枚目で行きました。

**これにより、IIS6 (クラシック) を使用してローカルではなくサーバー (統合モードの II7) で公開していたときに機能していた問題も解決されます。

于 2013-01-31T10:26:17.943 に答える
1

Handlerインターフェイスによって公開されるものだけでなく、いくつかのメソッドまたはプロパティが存在する可能性があると思いIHttpHandlerます。これにキャストしてみてくださいIHttpHandler

抽象クラスから派生した2つのクラス間でキャストできないため、インターフェイスを実装する2つのクラス間でキャストできるとは思いませんが、両方を基本クラスまたはインターフェイスにキャストできます

于 2013-01-30T17:21:08.147 に答える