[英]can we do URL-REWRITE for WCF
我們已經為我們的客戶構建了WCF服務並部署了dll。 一切正常,但是我們被告知必須更改WCF的URL。
可以說,我們當前的WCF URL如下所示
https://xxx.xxxxx.xxx/EGov/PostBox.svc
現在,他們希望我們將該網址更改為
https://xxx.xxxxx.xxx/EGov/TransferService.svc
將文件名從PostBox.svc更改為TransferService.svc很容易,但是我們已經為100個客戶做到了,這是不可能的。 因此,我們想知道是否可以從CONFIG文件進行URL重寫。
如果我們可以從配置文件中進行URL重寫,那么我們將通過電子郵件將配置文件發送給每個客戶,以將其放入正確的文件夾中。
我希望我明確了我的問題。
WCF中的URL重寫
創建一個新的WCF服務應用程序。
添加Global.asax文件。
在Application_Start方法中,添加以下幾行:
RouteTable.Routes.Add(new ServiceRoute("api/Service1", new WebServiceHostFactory(), typeof(Service1)));
在服務合同的操作合同(接口IService1)中添加WebInvoke。
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "/GetData?value={value}")]
生成和瀏覽項目。
不確定這是否對您有幫助,但是我遇到了一些類似的情況,我必須重寫URL(對我來說,我不必向用戶顯示.svc文件名。
public class Route : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += delegate
{
//URL Rewriting
//---To remove the .svc extension service file name from URL----
HttpContext cxt = HttpContext.Current;
string path = cxt.Request.AppRelativeCurrentExecutionFilePath;
{
cxt.RewritePath(path.Insert(1, "/ReportingService.svc"), false);
}
};
}
}
希望這將至少在某種程度上幫助您
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.