【问题标题】:How to create a unique web page address in ASP.NET如何在 ASP.NET 中创建唯一的网页地址
【发布时间】:2010-06-17 02:08:38
【问题描述】:

在 ASP.NET 中创建唯一网页地址是否有标准方法?我正在向客户发送调查,并将包含指向网页的链接。例如:

http://www.mysurveypages.foo/survey/UniqueID

然后我会根据我将调查发送给谁来定制调查。我知道可以通过将唯一参数传递给页面来完成,但我很好奇这样做。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以使用Routing 将您的网址结构映射到特定页面和参数集合。本质上,它允许您将部分 url 转换为页面的 url 参数。这在标准 WebForms 中有效,并且是 MVC 选择要调用的适当控制器/动作签名的基础。

    【讨论】:

      【解决方案2】:

      是的,就像 dcp 说的 GUID 是一个合理的解决方案 http://mywebsite.com/survey.aspx?ID=GUID

      【讨论】:

      • 通常我会说只是为了支持他的回答而不是重复它,但他的回答并没有解决问题。
      【解决方案3】:

      假设您要将调查发送给用户列表。

      List<User> users = GetSurveyUsers();
      foreach(User u in users)
      {
         Guid guid = Guid.NewGuid();
         //Then store the user-guid pair into DB or XML...
      } 
      

      【讨论】:

      • 这并没有解决问题。问题不是“我如何生成唯一 ID”,他想知道如何使用 RESTful URL。
      【解决方案4】:

      最简单的解决方案似乎是使 UniqueID 成为一个递增字段,可用于从数据库中获取适当的用户信息。您可以使用数字、Guid 或一些字母数字值,这并不重要。

      如果您使用 ASP.Net MVC,则很容易将 Url(如您指定的那个)映射到控制器操作,该操作获取作为参数传入的 ID。否则,您可能需要查看 some sort of Url rewriting 以确保 Url 美观。

      【讨论】:

        【解决方案5】:

        GUID 方法是最安全的,如果您能够将其存储在某个地方。如果不是,您可以直接使用一些现有的唯一数据(例如客户 ID 或电子邮件地址)(但要小心泄露敏感数据)或散列(但需要考虑冲突)。

        【讨论】:

          猜你喜欢
          • 2012-03-19
          • 1970-01-01
          • 1970-01-01
          • 2017-04-24
          • 2021-10-09
          • 1970-01-01
          • 1970-01-01
          • 2018-12-01
          • 1970-01-01
          相关资源
          最近更新 更多