我有一个寄宿在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
丁学呢?800分的饵钓不到它么?
站的高看得远,800分
^^
TO 包包:
我去吃饭了~~~~~~
不过就算回来,也没兴趣,因为WCF目前还没有进入的脑袋……
另外:强烈BS做URL Rewrite的人
楼主能说一下为啥要在wcf中用url重写吗?有必要吗?还是你在做一个纯技术研究。
...不会...
兄弟看下这里
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