【问题标题】:How to Configure UrlRewritingNet on asp.net web application client end如何在 asp.net Web 应用程序客户端上配置 UrlRewritingNet
【发布时间】:2015-03-12 22:28:26
【问题描述】:

请对在 asp.net 中进行编程相当陌生,现在正在按照教科书中的步骤设计电子商务 Web 应用程序。

我正在使用来自 http://www.urlrewriting.net/ 的 UrlRewritingNet dll 在应用程序上创建搜索引擎友好的 url。我解压缩了 urlrewritingnet zip 并将其 dll 文件复制到我的应用程序的 bin 文件夹中。我还将其 urlrewritingnet.xsd 文件复制到我的项目文件夹中。正在使用的教科书使用来自 urlrewriter.net 的 dll 具有我在项目中尝试过的不同配置,但它不起作用。教科书还使用了visual web developer 2005。我在visual studio 2012(C#)中编程。现在我正在尝试重写我的目录页面的 url,以测试我的 web.config 文件中的配置是否正确。我在我的 web.config 中进行配置,而不是在 IIS 中。我不想要任何 IIS 配置,因为我在想象一个我无法访问服务器的场景。

我不断收到显示如下的内部服务器错误:

HTTP 错误 500.22 - 内部服务器错误 已检测到不适用于集成托管管道模式的 ASP.NET 设置。

这是我要重写的网址:http://localhost:1036/Catalog.aspx?DepartmentID=1

这是我的配置文件:

<configuration>
  <configSections>
    <section name="urlrewritingnet"
    restartOnExternalChanges="true"
    requirePermission ="false"
    type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
  </configSections>
  <urlrewritingnet
    rewriteOnlyVirtualUrls="true"
    contextItemsPrefix="QueryString"
    defaultProvider = "RegEx"
    defaultPage = "Default.aspx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <rewrites>
      <add name="Rule1"
      provider="RegEx"
      virtualUrl="^.*-d([0-9]+)/?$"
      rewriteUrlParameter="ExcludeFromClientQueryString"
      destinationUrl="~/Catalog.aspx?DepartmentID=$1"
      ignoreCase="true" />
    </rewrites>
  </urlrewritingnet>
  <appSettings>
    <add key="MailServer" value="smtp.gmail.com"/>
    <add key="MailUsername" value="engr.ejikeeze@gmail.com"/>
    <add key="MailPassword" value="keeplooking"/>
    <add key="MailFrom" value="engr.ejikeeze@gmail.com"/>
    <add key="EnableErrorLogEmail" value="false"/>
    <add key="ErrorLogEmail" value="engr.ejikeeze@gmail.com"/>
    <add key="ProductsPerPage" value="6"/>
    <add key="ProductDescriptionLength" value="60"/>
    <add key="SiteName" value="BalloonShop"/>
  </appSettings>
  <connectionStrings>
    <add name="BalloonShopConnection" connectionString="server = (local)\SQLEXPRESS; Database = BalloonShop; User = balloonshop; password=ecommerce" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
    <httpModules>
      <add name="UrlRewriteModule"
      type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </httpModules>
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-US"/>
    <customErrors mode="RemoteOnly" defaultRedirect="Oops.aspx" />
    <pages theme="BalloonShopDefault">
      <controls>
        <add src="~/UserControls/DepartmentsList.ascx" tagName="DepartmentsList" tagPrefix="BSUC"/>
    </controls>
    </pages>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
</configuration>

我需要你们可爱的家伙来帮助我。我真的被困住了。我已经在互联网上搜索了超过 4 天以寻找解决方案,但无济于事。感谢期待。

【问题讨论】:

    标签: c# asp.net iis-7 web.config-transform


    【解决方案1】:

    您可以查看以下链接:url-rewriting-in-Asp-Net

    【讨论】:

    • 站点中的示例使用 switch case 来重写 url。当我的应用程序变大并且我有很多要重写的 url 时,这种方法对于我的应用程序来说不够健壮,此外,重写是在业务层完成的,如果我想做任何事情,这将保证下拉站点、重新编译和重新部署稍后调整。我需要一些我可以在我的 web.config 或我可以链接到的外部 xml 文件中处理的东西,这就是我选择使用来自 urlrewritingnet.net 的程序集的原因。一样的感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    相关资源
    最近更新 更多