﻿{"id":140,"date":"2010-05-25T00:49:17","date_gmt":"2010-05-24T16:49:17","guid":{"rendered":"http:\/\/nick.workao.org\/?p=140"},"modified":"2010-05-25T00:49:23","modified_gmt":"2010-05-24T16:49:23","slug":"%e5%9c%a8%e4%b8%8d%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84iis%e4%b8%8b%e4%bd%bf%e7%94%a8asp-net-mvc","status":"publish","type":"post","link":"http:\/\/nick.txtcc.com\/index.php\/win\/140","title":{"rendered":"\u5728\u4e0d\u540c\u7248\u672c\u7684IIS\u4e0b\u4f7f\u7528ASP.NET MVC"},"content":{"rendered":"<p>\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u6211\u4eec\u5b66\u4e60\u5728\u4e0d\u540c\u7248\u672c\u7684IIS\u4e2d\u4f7f\u7528ASP.NET MVC\u548cURL  Routing\u3002\u6211\u4eec\u5b66\u4e60\u9488\u5bf9IIS7.0\u3001IIS6.0\u548c\u66f4\u65e9\u7248\u672c\u7684IIS\u7684\u5904\u7406\u7b56\u7565\nASP.NET MVC\u6846\u67b6\u4f9d\u8d56\u4e8eURL Routing\uff0c\u8981\u5145\u5206\u5229\u7528URL Routing,\u6211\u4eec\u9700\u8981\u5bf9Web\u670d\u52a1\u5668\uff08IIS\uff09\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\u3002\nIIS\u7684\u6700\u65b0\u7248\u672c\u662fWindows2008\u4e2d\u7684IIS7.0\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5Vista\u7cfb\u7edf\u4e2d\uff08\u9664\u4e86Home Basic\u7248\uff09\u5b89\u88c5IIS7.0\u3002\n<strong>IIS7.0\u662f\u63d0\u4f9b\u4e86\u4e24\u79cd\u5904\u7406\u8bf7\u6c42\u7684\u6a21\u5f0f\uff0d<span style=\"color: #800000;\">\u96c6\u6210\u6a21\u5f0f<\/span>\u548c<span style=\"color: #800000;\">\u4f20\u7edf\u6a21\u5f0f<\/span>\u3002<\/strong>\u5982\u679c\u4f7f\u7528IIS7.0\u7684\u8bdd\uff0c\u90a3\u6211\u4eec\u4e0d\u9700\u8981\u505a\u4efb\u4f55\u914d\u7f6e\uff0c\u5982\u679c\u8981\u4f7f\u7528\u4f20\u7edf\u6a21\u5f0f\u7684 \u8bdd\u5219\u9700\u8981\u6211\u4eec\u505a\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\u5de5\u4f5c\u3002\n\u5728Windows2003\u4e2d\u5b89\u88c5\u7684\u662fIIS6.0\uff0c\u5982\u679c\u662fWindows Server  2003\u7684\u8bdd\uff0c\u90a3\u6211\u4eec\u53ef\u4ee5\u628aIIS6.0\u5347\u7ea7\u5230IIS7.0\u3002\u4f46\u5982\u679c\u6211\u4eec\u4f7f\u7528IIS 6.0\u7684\u8bdd\uff0c\u90a3\u9700\u8981\u6211\u4eec\u505a\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\u5de5\u4f5c\u3002\nWindows XP\u4e13\u4e1a\u7248\u5b89\u88c5\u7684IIS5.1\u7248\u672c\uff0c\u56e0\u6b64\u6211\u4eec\u4e5f\u9700\u8981\u5bf9IIS5.1\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\u5de5\u4f5c\u3002\n\u6700\u540eWindows2000\u4f7f\u7528\u7684\u662fIIS5.0\uff0c\u6211\u4eec\u4e5f\u9700\u8981\u5bf9IIS5.0\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\u5de5\u4f5c\u3002\n<strong>\u4e0b\u9762\u662f\u6211\u4eec\u5bf9\u4e0d\u540c\u7248\u672cIIS\u7684\u603b\u7ed3\uff1a\nIIS7.0\uff08\u96c6\u6210\u6a21\u5f0f\uff09\uff0d \u4e0d\u9700\u8981\u4f5c\u4efb\u4f55\u914d\u7f6e\u5c31\u53ef\u4ee5\u4f7f\u7528URL Routing\u3002\nIIS7.0(\u4f20\u7edf\u6a21\u5f0f) \uff0d \u9700\u8981\u6211\u4eec\u8fdb\u884c\u7279\u522b\u914d\u7f6e\u6765\u4f7f\u7528URL Routing\u3002\nIIS6.0\u6216\u66f4\u4f4e\u7248\u672c \uff0d \u9700\u8981\u6211\u4eec\u8fdb\u884c\u7279\u522b\u914d\u7f6e\u6765\u4f7f\u7528URL Routing\u3002<\/strong><\/p>\n<p><span style=\"font-size: medium;\"><strong>\u4e00\u3001\u96c6\u6210\u6a21\u5f0f\u4e0e\u4f20\u7edf\u6a21\u5f0f<\/strong>\n<span style=\"color: #ffffff; font-size: small;\">\uff08\u539f\u521b\uff1a\u7070\u7070\u866b\u7684\u5bb6 <\/span>\n<a href=\"http:\/\/hi.baidu.com\/grayworm\"><span style=\"color: #ffffff; font-size: small;\"><a href=\"http:\/\/hi.baidu.com\/grayworm\">http:\/\/hi.baidu.com\/grayworm<\/a><\/span><\/a><\/span>\n<span style=\"color: #ffffff; font-size: small;\">\uff09<\/span>\nIIS7.0\u53ef\u4ee5\u4f7f\u7528\u4e24\u79cd\u6a21\u5f0f\u6765\u5904\u7406\u8bf7\u6c42\uff0d\u96c6\u6210\u6a21\u5f0f\u548c\u4f20\u7edf\u6a21\u5f0f\u3002<strong>\u96c6\u6210\u6a21\u5f0f\u63d0\u4f9b\u66f4\u597d\u3001\u66f4\u591a\u7684\u529f\u80fd\uff1b\u4f20\u7edf\u6a21\u5f0f\u5219\u662f\u4e3a\u4e86\u5411\u540e\u517c\u5bb9\u8f83\u65e9\u7248\u672c\u7684 IIS\u3002\n<\/strong> <strong>\u8bf7\u6c42\u7684\u5904\u7406\u6a21\u5f0f\u662f\u7531\u7a0b\u5e8f\u6c60\u51b3\u5b9a\u7684<\/strong>\uff0c<strong>\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u6307\u5b9a\u7a0b\u5e8f\u6c60\u4e0e\u5e94\u7528\u7a0b\u5e8f\u5173\u8054\u7684\u65b9\u5f0f \u6765\u8bbe\u7f6eweb\u5e94\u7528\u7a0b\u5e8f\u7684\u8bf7\u6c42\u5904\u7406\u6a21\u5f0f\u3002<\/strong>\u6b65\u9aa4\u5982\u4e0b\uff1a\n<span style=\"color: #800000;\"> 1. \u8fd0\u884cIIS\u670d\u52a1\u7ba1\u7406\u5668<\/p>\n<ol start=\"2\">\n<li>\u5728Connections\u7a97\u53e3\u9009\u62e9\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f<\/li>\n<li>\u5728Actions\u7a97\u53e3\u4e2d\u5355\u51fbBasic Settings\u8fde\u63a5\u6253\u5f00Edit Application\u5bf9\u8bdd\u6846\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002<\/li>\n<li>\u8bbe\u7f6eApplication pool\u3002\n<\/span> <strong>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cIIS\u88ab\u914d\u7f6e\u4e3a\u652f\u6301\u4e24\u79cd\u5e94\u7528\u7a0b\u5e8f\u6c60\uff1a<span style=\"color: #800000;\">DefaultAppPool<\/span>\u548c<span style=\"color: #800000;\">Classic .NET AppPool<\/span>\u3002\u5982\u679c\u8bbe\u4e3aDefaultAppPool\uff0c\u90a3\u6211\u4eec\u7684\u5e94\u7528\u7a0b\u5e8f \u5c31\u8fd0\u884c\u5728\u96c6\u6210\u8bf7\u6c42\u5904\u7406\u6a21\u5f0f\u4e0b\u3002\u5982\u679c\u8bbe\u7f6eClassic .NET AppPool\uff0c\u90a3\u6211\u4eec\u7684\u5e94\u7528\u7a0b\u5e8f\u5c31\u8fd0\u884c\u5728\u4f20\u7edf\u7684\u8bf7\u6c42\u5904\u7406\u6a21\u5f0f\u4e0b\u3002\n<\/strong> \u300a\u56fe1\u300b\n\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u6211\u4eec\u901a\u8fc7\u70b9\u51fbEdit  Application\u5bf9\u8bdd\u6846\u4e2d\u7684\u201dSelect\u201d\u6309\u94ae\u6765\u6539\u53d8\u7a0b\u5e8f\u6c60\u4e0e\u5e94\u7528\u7a0b\u5e8f\u7684\u5173\u8054\u5173\u7cfb\uff0c\u6765\u4fee\u6539\u8bf7\u6c42\u5904\u7406\u6a21\u5f0f\u3002\u4f46ASP.NET\u5e94\u7528\u7a0b\u5e8f\u5728\u4ece\u4f20\u7edf\u6a21\u5f0f\u8fc1 \u79fb\u5230\u96c6\u6210\u6a21\u5f0f\u7684\u65f6\u5019\u9700\u8981\u89e3\u51b3\u51e0\u4e2a\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u66f4\u591a\u7684\u4fe1\u606f\u8bf7\u53c2\u89c1\u4e0b\u5217\u6587\u7ae0\uff1a\nUpgrading ASP.NET 1.1 to IIS 7.0 on Windows Vista and Windows Server  2008  &#8212;<a href=\"http:\/\/learn.iis.net\/page.aspx\/270\/upgrading-aspnet-11-to-iis7-on-windows-vista--windows-server-2008\/\">http:\/\/learn.iis.net\/page.aspx\/270\/upgrading-aspnet-11-to-iis7-on-windows-vista&#8211;windows-server-2008\/<\/a>\nASP.NET Integration With IIS 7.0 &#8211; <a href=\"http:\/\/learn.iis.net\/page.aspx\/243\/aspnet-integration-with-iis7\/\"><a href=\"http:\/\/learn.iis.net\/page.aspx\/243\/aspnet-integration-with-iis7\/\">http:\/\/learn.iis.net\/page.aspx\/243\/aspnet-integration-with-iis7\/<\/a><\/a>\n\u5982\u679c\u6211\u4eec\u7684ASP.NET\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\u7684\u662fDefaultAppPool\uff0c\u90a3\u6211\u4eec\u4e0d\u7528\u505a\u4efb\u4f55\u914d\u7f6e\u5c31\u53ef\u4ee5\u4f7f\u7528URL  Routing\u529f\u80fd\u4e86\u3002\u4f46\u5982\u679cASP.NET\u7a0b\u5e8f\u88ab\u914d\u7f6e\u4e3aClassic .NET AppPool\uff0c\u90a3\u8bf7\u7ee7\u7eed\u5411\u4e0b\u770b\u3002\n<div><img decoding=\"async\" src=\"http:\/\/nick.txtcc.com\/wp-content\/uploads\/remote_image\/2010\/05\/164918E8e.jpg\" border=\"0\" alt=\"\"><\/div>\n<p><span style=\"font-size: medium;\"><strong>\u4e8c\u3001\u5728\u65e7\u7248\u672c\u7684IIS\u4e2d\u4f7f\u7528ASP.NET MVC<\/strong>\n<span style=\"color: #ffffff; font-size: small;\">\uff08\u539f\u521b\uff1a\u7070\u7070\u866b\u7684\u5bb6 <\/span>\n<a href=\"http:\/\/hi.baidu.com\/grayworm\"><span style=\"color: #ffffff; font-size: small;\"><a href=\"http:\/\/hi.baidu.com\/grayworm\">http:\/\/hi.baidu.com\/grayworm<\/a><\/span><\/a><\/span>\n<span style=\"color: #ffffff; font-size: small;\">\uff09<\/span>\n\u5982\u679c\u6211\u4eec\u4f7f\u7528\u7684IIS\u7248\u53f7\u6bd4IIS7.0\u4f4e\u6216\u8005\u4f7f\u7528\u7684\u662fIIS7.0\u4f20\u7edf\u6a21\u5f0f\uff0c\u90a3\u6211\u4eec\u6709\u4e24\u79cd\u9009\u62e9\uff1a\n<strong>1\u3001 \u4fee\u6539\u8def\u7531\u8868\uff0c\u52a0\u4e0a\u6587\u4ef6\u6269\u5c55\u540d\u3002<\/strong>\u5982\u6211\u4eec\u628a\/Store\/Details\u7684URL\u5730\u5740\u6362\u4e3a\/Store.aspx \/Details\n<strong> 2\u3001 \u521b\u5efawildcard script map\u3002<\/strong>wildcard script  map\u4f7f\u6211\u4eec\u628a\u6bcf\u4e2a\u8bf7\u6c42\u90fd\u6620\u5c04\u5230ASP.NET\u6846\u67b6\u4e0a\u3002\n\u5982\u679c\u6211\u4e0d\u80fd\u4fee\u6539\u670d\u52a1\u5668\u7684\u914d\u7f6e\uff0c\u90a3\u6211\u4eec\u53ea\u597d\u91c7\u7528\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0c\u5982\u679c\u6211\u4eec\u4e0d\u60f3\u4fee\u6539URL\u5730\u5740\uff0c\u90a3\u6211\u4eec\u5fc5\u987b\u91c7\u7528\u7b2c\u4e8c\u79cd\u65b9\u5f0f\uff0c\u53bb\u914d\u7f6eIIS web\u670d\u52a1\u5668\u3002<\/p><\/li>\n<\/ol>\n<p>\u5728\u8fd9\u662f\u6211\u4eec\u5206\u522b\u8ba8\u8bba\u4e24\u79cd\u65b9\u6cd5\uff1a\n<strong><span style=\"font-size: small;\">\uff08\u4e00\uff09\u5411\u8def\u7531\u8868\u4e2d\u52a0\u6269\u5c55\u540d\u3002\n<\/span><\/strong> \u8981\u4f7fURL  Routing\u80fd\u591f\u5728\u65e7\u7248\u672cIIS\u4e0a\u8fd0\u884c\u7684\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u5c31\u662f\u6253\u5f00Global.asax\u6587\u4ef6\uff0c\u4fee\u6539\u6211\u4eec\u7684\u8def\u7531\u8868\u3002\u8def\u7531\u8868\u7684\u4ee3\u7801\u5982\u4e0b\uff1a\nListing 1 \u2013 Global.asax (unmodified)\n<span style=\"color: #0000ff;\"> using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Web;\nusing System.Web.Mvc;\nusing System.Web.Routing;\nnamespace MvcAppCS\n{\npublic class GlobalApplication : System.Web.HttpApplication\n{\npublic static void RegisterRoutes(RouteCollection routes)\n{\nroutes.IgnoreRoute(&#8220;{resource}.axd\/{*pathInfo}&#8221;);\nroutes.MapRoute(\n&#8220;Default&#8221;,\/\/ Route name\n&#8220;{controller}\/{action}\/{id}&#8221;,\/\/ URL with  parameters\nnew { controller = &#8220;Home&#8221;, action = &#8220;Index&#8221;, id = &#8220;&#8221; }  \/\/  Parameter defaults\n);\n}\nprotected void Application_Start()\n{\nRegisterRoutes(RouteTable.Routes);\n}\n}\n}\n<\/span> <span style=\"color: #800000;\">\u9ed8\u8ba4\u7684\u8def\u7531\u914d\u7f6e\u53ef\u4ee5\u5bf9\u6211\u4eec\u4e0b\u9762\u7684ULR\u5730\u5740\u8fdb\u884c\u8def\u7531\uff1a\n<strong> \/Home\/Index\n\/Product\/Details\/3\n\/Product\n<\/strong><\/span> <strong>\u7136\u800c\u4e0d\u5e78\u7684\u662f\uff0c\u65e7\u7248\u672c\u7684IIS\u4e0d\u4f1a\u628a\u8fd9\u6837\u7684\u8bf7\u6c42\u4f20\u9012\u7ed9ASP.NET\u6846\u67b6\uff0c\u56e0\u6b64\u8fd9\u4e9b\u8bf7\u6c42\u4e5f\u4e0d\u4f1a\u88ab\u8def\u7531 \u5230\u63a7\u5236\u5668\u3002\u6bd4\u5982\u6211\u4eec\u8bf7\u6c42\/Home\/Index\u8fd9\u4e2aURL\u65f6\uff0c\u4f1a\u4ea7\u751f\u4e00\u4e2a\u9519\u8bef\u9875\u9762\u7684\u63d0\u793a\u3002<\/strong>\u5982\u4e0b\u56fe<\/p>\n<div><img decoding=\"async\" src=\"http:\/\/nick.txtcc.com\/wp-content\/uploads\/remote_image\/2010\/05\/164920W6Y.jpg\" border=\"0\" alt=\"\"><\/div>\n<p>\u300a\u56fe2\u300b\n<strong> \u65e7\u7248\u7684IIS\u53ea\u80fd\u628a\u90a3\u4e9b\u5177\u6709\u7279\u5b9a\u6269\u5c55\u540d\u7684URL\u8bf7\u6c42\u53d1\u9001\u7ed9ASP.NET\u6846\u67b6\u3002\u6bd4\u5982\/SomePage.aspx\u8bf7\u6c42\u4f1a\u88ab\u6620\u5c04\u5230ASP.NET\u6846\u67b6\uff0c\u800c \/SomePage.htm\u5219\u4e0d\u4f1a\u88ab\u6620\u5c04\u5230ASP.NET\u6846\u67b6\u3002<\/strong>\n<strong>\u56e0\u6b64\uff0c\u8981\u60f3\u4f7fURL Routing\u80fd\u591f\u6b63\u5e38\u5de5\u4f5c\uff0c\u6211\u4eec\u5fc5\u987b\u8981\u4fee\u6539\u9ed8\u8ba4\u8def\u7531\uff0c\u4f7f\u5176\u5305\u542b\u6587\u4ef6\u6269\u5c55\u540d\uff0c\u4ee5\u6620\u5c04\u5230ASP.NET \u6846\u67b6\u4e2d\u53bb\u3002<\/strong>\u80fd \u591f\u6620\u5c04\u5230ASP.NET\u6846\u67b6\u4e2d\u7684\u6269\u5c55\u540d\u6709.aspx .axd \u548c.ashx\n\u4fee\u6539\u540e\u7684Global.asax\u6587\u4ef6\u5982\u4e0b\u6240\u793a\nListing 2 \u2013 Global.asax (modified with extensions)\n<span style=\"color: #0000ff;\">using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Web;\nusing System.Web.Mvc;\nusing System.Web.Routing;\nnamespace MvcAppCS\n{\npublic class GlobalApplication : System.Web.HttpApplication\n{\npublic static void RegisterRoutes(RouteCollection routes)\n{\nroutes.IgnoreRoute(&#8220;{resource}.axd\/{*pathInfo}&#8221;);\nroutes.MapRoute(\n&#8220;Default&#8221;, \/\/ Route name\n<strong> &#8220;{controller}.aspx\/{action}\/{id}&#8221;,<\/strong> \/\/ URL with  parameters\nnew { controller = &#8220;Home&#8221;, action = &#8220;Index&#8221;, id = &#8220;&#8221;}\/\/ Parameter  defaults\n);\n}\nprotected void Application_Start()\n{\nRegisterRoutes(RouteTable.Routes);\n}\n}\n}\n<\/span> \u6ce8\u610f\uff1a\u5728\u4fee\u6539\u5b8cGlobal.asax\u6587\u4ef6\u540e\u8981\u8bb0\u5f97\u91cd\u65b0\u7f16\u8bd1\u6211\u4eec\u7684ASP.NET MVC\u5e94\u7528\u7a0b\u3002\n\u5728\u4e0a\u9762\u7684\u4ee3\u7801\u4e2d\uff0c\u6211\u4eec\u505a\u4e86\u4e00\u4e2a\u5f88\u5c0f\u4f46\u5f88\u91cd\u8981\u7684\u4fee\u6539\uff0c\u6211\u4eec\u628a\u9ed8\u8ba4\u8def\u7531\u4fee\u6539\u4e3a\u5982\u4e0b\u683c\u5f0f\uff1a\n<strong><span style=\"color: #0000ff;\">{controller}.aspx\/{action}\/{id}\n<\/span><\/strong>\n<span style=\"color: #800000;\"> \u7531\u4e8e\u8fd9\u79cd\u66f4\u6539\uff0c\u56e0\u6b64ASP.NET  MVC\u5e94\u7528\u7a0b\u8def\u7531\u53ea\u80fd\u6620\u5c04\u4e0b\u9762\u8fd9\u79cd\u5f62\u5f0f\u4e86\n<strong> \/Home.aspx\/Index\n\/Product.aspx\/Details\/3\n\/Product.aspx\n<\/strong><\/span> \u5f53\u6211\u4eec\u4fee\u6539\u5b8c\u8def\u7531\u8868\u540e\uff0c\u6211\u4eec\u8fd8\u8981\u786e\u4fdd\u7a0b\u5e8f\u4e2d\u7684\u6240\u6709\u8d85\u8fde\u63a5\u7684URL\u5730\u5740\u4e5f\u90fd\u5df2\u505a\u76f8\u5e94\u7684\u4fee\u6539\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u8981\u4fdd\u8bc1\u6240\u6709\u7684\u8d85\u94fe\u63a5\u5bfc\u822a\u5730\u5740\u4e2d\u90fd\u5305\u542b.aspx\u6269\u5c55 \u540d\u3002\u5982\u679c\u6211\u4eec\u4f7f\u7528Html.ActionLink()\u65b9\u6cd5\u751f\u6210\u7684\u8d85\u94fe\u63a5\uff0c\u90a3\u6211\u4eec\u4e0d\u9700\u8981\u5bf9\u8d85\u94fe\u63a5\u505a\u66f4\u6539\u3002<\/p>\n<p><span style=\"font-size: small;\"><strong> \uff08\u4e8c\uff09\u521b\u5efaWildcard Script Map<\/strong>\n<span style=\"color: #ffffff;\">\uff08\u539f\u521b\uff1a\u7070\u7070\u866b\u7684\u5bb6 <\/span><\/span>\n<a href=\"http:\/\/hi.baidu.com\/grayworm\"><span style=\"color: #ffffff; font-size: small;\"><a href=\"http:\/\/hi.baidu.com\/grayworm\">http:\/\/hi.baidu.com\/grayworm<\/a><\/span><\/a>\n<span style=\"font-size: small;\"><span style=\"color: #ffffff;\">\uff09<\/span>\n<\/span> \u5982\u679c\u6211\u4eec\u4e0d\u60f3\u4fee\u6539ASP.NET MVC\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684URL\u5730\u5740\uff0c\u5e76\u4e14\u53ef\u4ee5\u8bbf\u95ee\u5230Web\u670d\u52a1\u5668\uff0c\u90a3\u6211\u4eec\u53ef\u4ee5<strong>\u901a\u8fc7\u521b\u5efa wildcard script map\u65b9\u5f0f\u6765\u628a\u6240\u6709\u8bf7\u6c42\u6620\u5c04\u5230ASP.NET\u6846\u67b6\u4e2d\u53bb\u3002\u8fd9\u6837\u5c31\u907f\u514d\u4fee\u6539\u9ed8\u8ba4\u7684\u7531\u8868\u4e86\u3002<\/strong>\n\u8981\u641e\u660e\u7684\u4e00\u70b9\u662f\uff0c\u8fd9\u79cd\u4fee\u6539\u4f1a\u4f7fIIS\u5bf9\u6bcf\u4e2a\u8bf7\u6c42\u90fd\u4f1a\u5904\u7406\uff0c\u90a3\u6015\u662f\u8bf7\u6c42\u4e00\u5f20\u56fe\u7247\u3001ASP\u9875\u9762\u3001HTML\u9875\u9762\u3002\u56e0\u6b64\u4f7f\u7528wildcar script  map\u4f1a\u4f7f\u64cd\u4f5c\u66f4\u9690\u5f0f\u3002<\/p>\n<p><span style=\"color: #800000;\"> \u542f\u7528IIS7.0\u7684wildcard script map<\/p>\n<ol>\n<li>\u5728Connections\u7a97\u53e3\u4e2d\u9009\u62e9\u6211\u4eec\u7684\u5e94\u7528\u7a0b\u5e8f<\/li>\n<li>\u786e\u5b9a\u9009\u4e2d\u4e86Features\u89c6\u56fe\u3002<\/li>\n<li>\u53cc\u51fbHandler Mappings\u6309\u94ae\u3002<\/li>\n<li>\u5355\u51fbAdd Wildcard Script Map\uff0c\u5982\u56fe\u3002<\/li>\n<li>\u8f93\u5165aspnet_isapi.dll\u6587\u4ef6\u7684\u8def\u5f84<\/li>\n<li>\u5728Name\u6587\u672c\u6846\u4e2d\u8f93\u5165MVC<\/li>\n<li>\u70b9\u51fbOK\u6309\u94ae\u3002<\/span>\n<div><img decoding=\"async\" src=\"http:\/\/nick.txtcc.com\/wp-content\/uploads\/remote_image\/2010\/05\/164921cGr.jpg\" border=\"0\" alt=\"\"><\/div>\n<p>\u300a\u56fe3\u300b<\/p><\/li>\n<\/ol>\n<p><span style=\"color: #800000;\">\u5728IIS6.0\u4e2d\u521b\u5efawildcar script map\u7684\u6b65\u9aa4\uff1a\n1\u3001 \u53f3\u51fb\u7ad9\u70b9\uff0c\u9009\u62e9\u5c5e\u6027\n2\u3001 \u9009\u62e9\u201cHome Directory\u201d\u9009\u9879\u5361\n3\u3001 \u70b9\u51fb\u201cConfiguration\u201d\u6309\u94ae\n4\u3001 \u9009\u62e9\u201cMappings\u201d\u9009\u9879\u5361\n5\u3001 \u70b9\u51fb\u201cInsert\u201d\u6309\u94ae\uff0c\u5982\u4e0b\u56fe\u6240\u4e91\u6c49\n6\u3001 \u5728Executeable\u6587\u672c\u6846\u4e2d\u8f93\u5165aspnet_isapi.dll\u6587\u4ef6\u6240\u5728\u7684\u8def\u5f84\n7\u3001 \u53bb\u6389Verify that file exists\u590d\u9009\u6846\u524d\u7684\u52fe\u3002\n8\u3001 \u70b9\u51fbOK\u6309\u94ae\n<\/span> \u300a\u56fe4\u300b<\/p>\n<p><span style=\"color: #800000;\">\u5f53\u6211\u4eec\u914d\u7f6e\u5b8cwildcard script map\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u8def\u7531\u8868\u6765\u5904\u7406\u4e0b\u9762\u7684URL\u5730\u5740\n<strong> \/Home\/Index\n\/Product\/Details\/3\n\/Product<\/strong><\/span><\/p>\n<div><img decoding=\"async\" src=\"http:\/\/nick.txtcc.com\/wp-content\/uploads\/remote_image\/2010\/05\/164923OfK.jpg\" border=\"0\" alt=\"\"><\/div>\n<p><strong><span style=\"font-size: medium;\">\u603b\u7ed3<\/span><\/strong><\/p>\n<p>\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u6211\u4eec\u89e3\u91ca\u4e86\u5982\u4f55\u5728\u65e7\u7248\u672cIIS\uff08\u6216IIS7.0\u4f20\u7edf\u6a21\u5f0f\u4e0b\uff09\u8fd0\u884cASP.NET MVC\u7a0b\u3002\u6211\u4eec\u8ba8\u8bba\u4e86\u4e24\u79cd\u65b9\u5f0f\u6765\u89e3\u51b3URL  Routing\u4e0e\u65e7\u7248\u672cIIS\u534f\u540c\u5de5\u4f5c\u95ee\u9898 \uff1a\u4fee\u6539\u9ed8\u8ba4\u8def\u7531\u8868\u6216\u521b\u5efawildcard script map<\/p>\n<p>\u7b2c\u4e00\u79cd\u65b9\u6cd5\u9700\u8981\u6211\u4eec\u4fee\u6539ASP.NET MVC\u5e94\u7528\u7a0b\u5e8f\uff0c\u8fd9\u79cd\u505a\u6cd5\u7684\u597d\u5904\u662f\uff0c\u6211\u4eec\u4e0d\u9700\u8981\u64cd\u4f5cweb\u670d\u52a1\u5668\uff0c\u800c\u53ea\u662f\u4fee\u6539\u4e00\u4e0b\u7a0b\u5e8f\u4e2d\u7684\u8def\u7531\u8868\u5373\u53ef\u3002<\/p>\n<p>\u7b2c\u4e8c\u79cd\u65b9\u6cd5\u662f\u9700\u8981\u6211\u4eec\u521b\u5efawildcard script map\uff0c\u8fd9\u79cd\u505a\u6cd5\u7684\u597d\u5904\u662f\uff0c\u6211\u4eec\u4e0d\u9700\u8981\u4fee\u6539\u6211\u4eec\u7684\u4ee3\u7801\uff0c\u4f46\u7f3a\u70b9\u662f\u4f1a\u5f71\u54cdASP.NET  MVC\u7a0b\u5e8f\u7684\u6027\u80fd\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u6211\u4eec\u5b66\u4e60\u5728\u4e0d\u540c\u7248\u672c\u7684IIS\u4e2d\u4f7f\u7528ASP.NET MVC\u548cURL Routing\u3002\u6211\u4eec\u5b66\u4e60\u9488\u5bf9IIS7.0\u3001IIS6.0\u548c\u66f4\u65e9\u7248\u672c\u7684IIS\u7684\u5904\u7406\u7b56\u7565 ASP.NET MVC\u6846\u67b6\u4f9d\u8d56\u4e8eURL &#46;&#46;&#46;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[84,83,85],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-win","tag-asp-net","tag-iis","tag-mvc"],"_links":{"self":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":1,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":141,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/140\/revisions\/141"}],"wp:attachment":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}