c# – System.Web.Routing.UrlRoutingModule没有实现IHttpHandlerFactory或IHttpHandler

在我们的网站中,此错误每5分钟发出一次.
我不知道它的电话在哪里.
任何人都可以帮助我们.
我们需要robots.txt而不会出现此错误.

我们的应用程序自动调用http://www.xyzName.com/content/images/thumbs/robots.txt
并显示以下异常

System.Web.Routing.UrlRoutingModule does not implement
IHttpHandlerFactory or IHttpHandler.

Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.

这是在调用此方法时自动生成robots.txt文件的方法.但问题是来自应用程序robots.txt中的某些地方自动调用.

  public ActionResult RobotsTextFile()
            {
                //Default Code blocked by Nilesh
                if (_storeContext.CurrentStore.Url.Contains("tk"))
                {
                    const string newLine = "\r\n"; //Environment.NewLine
                    var sb = new StringBuilder();
                    sb.Append("User-agent: *");
                    sb.Append(newLine);
                    sb.Append("Disallow: /");
                    Response.ContentType = "text/plain";
                    Response.Write(sb.ToString());
                }
                else
                {
                    var disallowPaths = new List<string>
                                        {
                                            "/bin/",
                                            "/content/files/",
                                            "/content/files/exportimport/",
                                            "/country/getstatesbycountryid",
                                            "/install",
                                            "/setproductreviewhelpfulness",
                                        };
                    var localizableDisallowPaths = new List<string>
                                                   {
                                                       "/addproducttocart/catalog/",
                                                       "/addproducttocart/details/",
                                                       "/backinstocksubscriptions/manage",
                                                       "/boards/forumsubscriptions",
                                                       "/boards/forumwatch",
                                                       "/boards/postedit",
                                                       "/boards/postdelete",
                                                       "/boards/postcreate",
                                                       "/boards/topicedit",
                                                       "/boards/topicdelete",
                                                       "/boards/topiccreate",
                                                       "/boards/topicmove",
                                                       "/boards/topicwatch",
                                                       "/cart",
                                                       "/checkout",
                                                       "/checkout/billingaddress",
                                                       "/checkout/completed",
                                                       "/checkout/confirm",
                                                       "/checkout/shippingaddress",
                                                       "/checkout/shippingmethod",
                                                       "/checkout/paymentinfo",
                                                       "/checkout/paymentmethod",
                                                       "/clearcomparelist",
                                                       "/compareproducts",
                                                       "/customer/avatar",
                                                       "/customer/activation",
                                                       "/customer/addresses",
                                                       "/customer/changepassword",
                                                       "/customer/checkusernameavailability",
                                                       "/customer/downloadableproducts",
                                                       "/customer/info",
                                                       "/deletepm",
                                                       "/emailwishlist",
                                                       "/inboxupdate",
                                                       "/newsletter/subscriptionactivation",
                                                       "/onepagecheckout",
                                                       "/order/history",
                                                       "/orderdetails",
                                                       "/passwordrecovery/confirm",
                                                       "/poll/vote",
                                                       "/privatemessages",
                                                       "/returnrequest",
                                                       "/returnrequest/history",
                                                       "/rewardpoints/history",
                                                       "/sendpm",
                                                       "/sentupdate",
                                                       "/shoppingcart/productdetails_attributechange",
                                                       "/subscribenewsletter",
                                                       "/topic/authenticate",
                                                       "/viewpm",
                                                       "/uploadfileproductattribute",
                                                       "/uploadfilecheckoutattribute",
                                                       "/wishlist",
                                                   };


                    const string newLine = "\r\n"; //Environment.NewLine
                    var sb = new StringBuilder();
                    sb.Append("User-agent: *");
                    sb.Append(newLine);
                    //sitemaps
                    if (_localizationSettings.SeoFriendlyUrlsForLanguagesEnabled)
                    {
                        //URLs are localizable. Append SEO code
                        foreach (var language in _languageService.GetAllLanguages(storeId: _storeContext.CurrentStore.Id))
                        {
                            sb.AppendFormat("Sitemap: {0}{1}/sitemap.xml", _storeContext.CurrentStore.Url, language.UniqueSeoCode);
                            sb.Append(newLine);
                        }
                    }
                    else
                    {
                        //localizable paths (without SEO code)
                        sb.AppendFormat("Sitemap: {0}sitemap.xml", _storeContext.CurrentStore.Url);
                        sb.Append(newLine);
                    }

                    //usual paths
                    foreach (var path in disallowPaths)
                    {
                        sb.AppendFormat("Disallow: {0}", path);
                        sb.Append(newLine);
                    }
                    //localizable paths (without SEO code)
                    foreach (var path in localizableDisallowPaths)
                    {
                        sb.AppendFormat("Disallow: {0}", path);
                        sb.Append(newLine);
                    }
                    if (_localizationSettings.SeoFriendlyUrlsForLanguagesEnabled)
                    {
                        //URLs are localizable. Append SEO code
                        foreach (var language in _languageService.GetAllLanguages(storeId: _storeContext.CurrentStore.Id))
                        {
                            foreach (var path in localizableDisallowPaths)
                            {
                                sb.AppendFormat("Disallow: {0}{1}", language.UniqueSeoCode, path);
                                sb.Append(newLine);
                            }
                        }
                    }
                    Response.ContentType = "text/plain";
                    Response.Write(sb.ToString());
                }
                return null;
            }

在RouteProvider中,我们添加下面的行来映射路线.

 routes.MapRoute("robots.txt","robots.txt",new { controller = "Common", action ="RobotsTextFile" },new[] { "Nop.Web.Controllers" });

它每5分钟一次.我们使用亚马逊服务器进行CDN,从那里获取图像.

亚马逊是否有可能将此称为“http://www.xyzName.com/content/images/thumbs/robots.txt”网址?

解决方法:

从web.config中删除(或注释掉)此行用于生成robot.txt

<add name="RobotsTxt" path="robots.txt" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />

并取消注释以下几行

<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />

希望这可以帮助!

上一篇:Amazon-CLI安装、配置


下一篇:Amazon SageMaker和NVIDIA NGC加速AI和ML工作流