Asp.NET開発サーバー上ではなく、IIS 5.1に取り組んでカスタムハンドラ?
-
05-09-2019 - |
質問
こんにちはみんな、IVEは愚かな問題を得た。
私のカスタムハンドラがAsp.NET開発サーバー上で100%に取り組んでいるが、私は(AJAX呼び出しを介してユーザを見つけた)検索/コメント実行しようとするたびに、私はIIS 5.1にサイトを公開するときに(私は私の命名を知っていますハンドラはSUX !!! :)
私はこのエラーを取得します
ページを表示できません ページのアドレスが間違っているので、あなたが探しているページが表示されないことができます。
次のことを試してください:
* If you typed the page address in the Address bar, check that it is entered correctly.
* Open the home page and then look for links to the information you want.
HTTP 405 - リソース許可されていません インターネットインフォメーションサービス
(サポート担当者用)技術情報
* More information:
Microsoft Support
AJAX呼び出しのための私のコードは次のとおりです。
function findUser(skip, take) {
http.open("post", 'Comment/FindUser', true);
//make a connection to the server ... specifying that you intend to make a GET request
//to the server. Specifiy the page name and the URL parameters to send
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader('Criteria', document.getElementById('SearchCriteria').value);
http.setRequestHeader("Skip", skip);
http.setRequestHeader("Take", take);
http.setRequestHeader("Connection", "close");
//display loading gif
document.getElementById('ctl00_ContentPlaceHolder1_DivUsers').innerHTML = 'Loading, Please Wait...<br /><img src="Images/loading.gif" /><br /><br />';
//assign a handler for the response
http.onreadystatechange = function() { findUserAction(); };
//actually send the request to the server
http.send(null);
}
誰が??私を助けることができるしてください。
解決
はIISサーバー上の拡張を可能にしていることを確認してください。開発用サーバはあなたのために、このautomatiallyを行います。
あなたがウェブサイトのプロパティを開く場合は、[ホームディレクトリ]タブに移動し、設定ボタンをクリックします。
そこにはあなたがハンドラポインティングのために使用されている拡張子を追加してみてください。 ASPNET_ISAPI.DLLに実行可能ファイルを設定します(それはあなたのコンピュータ上にある場所を見つけるために、標準の.aspx拡張子を見て)と、「そのファイルが存在チェック」のチェックを外します。
私はこの時間のカップルで燃焼し、これで問題がソートされています。
コリンG
他のヒント
IIS上に存在しないすべての呼び出しは、.NETのISAPI DLLが呼び出しを処理しません.ashxなど、asp.netハンドラ(カッシーニとは異なり、開発サーバー)によって処理されます。
手がかりがである
HTTP 405 - リソースの許可されていませんインターネットインフォメーションサービス
ファイルシステム内の対応する.ashxファイルが存在しない場合は、また、web.configファイルでハンドラをマッピングする必要があります。
問題は、私はDEVのハンドラを呼んでいたとき、ということでした。サーバー私はこのliekそれを呼んでいた。
http.open("post", 'Comment/Rate', true);
私のweb.configファイルでは、私はすべての「コメント/」URLをキャッチし、それをハンドラにCommentHandler.ashxを呼び出すためにそれを指示しているため。
<add verb="*" path="Comment/*" type="CoffeeMashup2.CommentHandler"/>
しかしIISで、何らかの理由でそれはそう、私は
に上記の呼び出しを変更する作業のdidnthttp.open("post", 'CommentHandler.ashx/Rate', true);
とその仕事を100%
あなたの助けに感謝ロットみんな