2011-07-21 29 views
0

在调查Dynamics CRM中的Organization.svc时,我发现它使用URL重定向来更改组织。这意味着每个组织都会模拟访问Organization.svc的URL。使用URL重定向代替WCF服务的输入参数

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

我想知道是否有任何好处做这个比较传递输入参数到SVC。请分享你对这两件事的利弊的看法。

+0

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

回答

1

我今天学到了一些新东西。对不起,如果你已经知道这一点。

有两种不同的东西 -

  1. URL路由 - 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调用的组织名称。

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

希望这可以帮助别人! -Nilesh

0

我的猜测是更清晰的URL,它也遵循Dynamics CRM的一些约定。据我所知,网址一直在格式http://CRMserver_name/OrgName/...

+0

这很有道理。因此,就WCF中的自定义开发而言,我想除了我们通过URL重定向获得的干净URL之外,没有什么比这更简单的了。但是传递参数对于开发人员来说更正确很多吗? – Nilesh

+0

不一定,无论您是通过GET还是POST发送参数,都会以相同的方式在后面的代码中处理它们。您应该查看[这篇文章](http://msdn.microsoft.com/en-us/library/bb628610.aspx)以帮助您选择 – devin