2

Paul Johnson の Web Widgetsページの手順を使用して、独自のカスタム ウィジェットを作成しました。ただし、IIS 6.0 に展開していたため、IIS 7.0 の構成管理オプションは IIS 6.0 では使用できなかったため、推奨される web.config の変更を利用してページをレンダリングしました。

ウィジェットは、VS 2008 でのデバッグ時に正しくレンダリングされます。ただし、IIS 6.0 を実行している Windows 2003 Server にファイルと更新された web.config がデプロイされ、アドレスが参照されると、レンダリングされるエラーは「ページが見つかりません」です。

開発マシンは Windows Vista マシンですが、VS 2008 はデバッグ用に Vista の IIS 7.0 ではなく独自の内部 Web サーバーを使用しているため、これが問題になるとは思いませんでした。

この問題をデバッグするための助けをいただければ幸いです。

4

2 に答える 2

2

彼の指示は不完全です。また、.jss のアプリケーション構成で、windows\microsoft.NET\framework\vXXXX\ ディレクトリの aspnet_isapi.dll にスクリプト マッピングを追加する必要があります。

IIS6 は、Cassini に固有で IIS7 のデフォルトである統合パイプラインを実行しません。

編集:詳細

  • IIS マネージャーで、アプリケーションのプロパティを開きます。
  • ホームディレクトリタブを選択
  • [構成...] をクリックします。
  • .aspx のマッピング リストでエントリを選択し、[編集...] をクリックします。
  • 実行可能テキスト ボックスの内容を強調表示してコピーし、[キャンセル] をクリックします。
  • [追加...] をクリックします。
  • 実行可能テキストボックスに貼り付け
  • 拡張子テキスト ボックスに .jss を入力します
  • GET を入力します。Limit to: ボックスの HEAD
  • ファイルが存在することを確認するを無効にする必要がある場合があります

わかりました。

これで、拡張子 .jss を持つ URL が処理のために ASP.NET に渡されます。

于 2008-12-09T17:22:49.710 に答える
0

私がしなければならなかった他のいくつかの変更...

構成の変更 (ハンドラーは WidgetBase ではなく、EventsWidget にマップする必要があります):

<system.web>
<httpHandlers>
<add verb="GET,HEAD" path="eventswidget.jss" type="Demo1.Handlers.EventsWidget, Demo1" validate="false" />
</httpHandlers>
</system.web>

EventsWidget.BuildOutput は Javascript を返す必要があります (Default.aspx で「script」タグを設定する方法によって異なります)。

Public Overrides Function BuildOutput() As String
    Dim sOutput As String = "document.write('<br><b>Hello World</b>');"
    Return sOutput
End Function
于 2009-06-30T15:42:31.703 に答える