首页 新闻 会员 周边

WCF与URL重写协同使用时的问题

0
悬赏园豆:800 [已关闭问题] 关闭于 2008-12-05 10:38

我有一个寄宿在ASP.NET站点中的Service,物理路径形如“/MyService/Service.svc”。

现在,我希望将形如“http://localhost/beta/MyService/Service.svc”这样的URL重写到“~/MyService/Service.svc?ver=beta”。

 

第一步遇到的问题:

 

按照常理,应该在HttpApplication的PostAuthenticateRequest事件中做重写。可对于.svc的请求,根本就不会触发这个事件。于是只好改在BeginRequest事件中做重写。

 

第二步遇到的问题:

 

在BeginRequest中进行重写后,通过http://localhost/beta/MyService/Service.svc这样的路径虽然可以正确访问到我的Service,但通过IE浏览其helper页,得到的wsdl地址却是http://localhost/MyService/Service.svc?wsdl,这导致我的代码因为无法识别版本号而出错。

 

同样,在另外一个测试项目中添加服务引用,也会因为我的代码出错而无法添加引用。

 

-------

 

希望大家能给出在WCF中使用URL重写的方案。

 

Anders Liu

Anders Liu的主页 Anders Liu | 菜鸟二级 | 园豆:230
提问于:2008-12-03 11:28
< >
分享
所有回答(6)
0

丁学呢?800分的饵钓不到它么?

包建强 | 园豆:225 (菜鸟二级) | 2008-12-03 11:46
0

站的高看得远,800分

^^

volnet(可以叫我大V) | 园豆:720 (小虾三级) | 2008-12-03 12:03
0

TO 包包:

我去吃饭了~~~~~~

不过就算回来,也没兴趣,因为WCF目前还没有进入的脑袋……

另外:强烈BS做URL Rewrite的人

丁学 | 园豆:18730 (专家六级) | 2008-12-03 12:20
0

楼主能说一下为啥要在wcf中用url重写吗?有必要吗?还是你在做一个纯技术研究。

玉开 | 园豆:8822 (大侠五级) | 2008-12-03 16:10
0

...不会...

Astar | 园豆:40805 (高人七级) | 2008-12-03 22:47
0

兄弟看下这里

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/54918e0f-de00-4bb3-a32d-3b0e15270589/

还有这里

http://www.softwaremaker.net/blog/CategoryView,category,Windows%2BCommunication%2BFoundation%2B(WCF)%2Baka%2BIndigo.aspx

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2008-12-04 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册