【问题标题】:Using URL redirect instead of input param for WCF service使用 URL 重定向而不是 WCF 服务的输入参数
【发布时间】:2011-07-21 12:38:41
【问题描述】:

在调查 Dynamics CRM 中的 Organization.svc 时,我发现它使用 URL 重定向来更改组织。这意味着它为每个组织模拟 URL 以访问 Organization.svc。

只有一个 SVC 文件,但有多个 URL 可以访问它,例如组织 Org1 的 URL 为 http://CRMserver_name/Org1/XRMServices/2011/Organization.svc,Org2 的 URL 为 http://CRMserver_name/Org2/XRMServices/2011/Organization.svc

我想知道与将输入参数传递给 SVC 相比,这样做是否有任何好处。请分享您对这两件事的利弊的看法。

【问题讨论】:

  • 感谢 LazyOne 让问题看起来更好!

标签: wcf url-rewriting dynamics-crm


【解决方案1】:

我今天学到了一些新东西。如果您已经知道这一点,请原谅我。

有两种不同的东西——

  1. 网址路由 - http://msdn.microsoft.com/en-us/library/ee358760.aspx
  2. URL 重写 - http://msdn.microsoft.com/en-us/library/ms972974.aspx

URL 路由是终极目标。它是完全虚拟的,无需在 IIS 中注册路由。所以现在我知道为什么 Dynamics CRM 使用它了。使用路由客户端不需要为 WCF 服务的每个方法调用指定组织名称。在创建客户端对象时,URL 本身会提供该信息。客户端只需执行一次,所有方法现在都知道特定 WCF 调用的组织名称。

此示例可以帮助您开始使用 WCF 的 URL 路由 - http://msdn.microsoft.com/en-us/library/ee662952.aspx

希望这对某人有所帮助! -尼莱什

【讨论】:

    【解决方案2】:

    我的猜测是更简洁的 URL,并且它遵循 Dynamics CRM 的某种约定。据我所知,URL 的格式一直是http://CRMserver_name/OrgName/...

    【讨论】:

    • 这是有道理的。因此,就 WCF 中的自定义开发而言,我想除了通过 URL 重定向获得的干净 URL 之外,没有什么别的东西了。但是传递参数对开发人员来说更容易正确吗?
    • 不一定,不管你是通过GET还是POST接收参数,在后面的代码中都是一样的处理方式。您应该查看this article 以帮助您选择
    猜你喜欢
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2016-08-21
    • 2013-05-31
    • 2012-07-29
    • 2021-01-24
    相关资源
    最近更新 更多