C# 我们可以为WCF做URL重写吗
我们为客户构建了WCF服务,并部署了DLL。一切都很完美,但我们被告知必须更改WCF的URL 比如说,我们当前的WCF URL如下所示C# 我们可以为WCF做URL重写吗,c#,wcf,url-rewriting,C#,Wcf,Url Rewriting,我们为客户构建了WCF服务,并部署了DLL。一切都很完美,但我们被告知必须更改WCF的URL 比如说,我们当前的WCF URL如下所示 https://xxx.xxxxx.xxx/EGov/PostBox.svc 现在,他们想让我们把这个URL改成 https://xxx.xxxxx.xxx/EGov/TransferService.svc 将文件名从PostBox.svc更改为TransferService.svc很容易,但我们已经为我们的100位客户完成了更改,这是不可能的。所以,我们想
https://xxx.xxxxx.xxx/EGov/PostBox.svc
现在,他们想让我们把这个URL改成
https://xxx.xxxxx.xxx/EGov/TransferService.svc
将文件名从PostBox.svc更改为TransferService.svc很容易,但我们已经为我们的100位客户完成了更改,这是不可能的。所以,我们想知道是否可以从配置文件进行URL重写
如果我们可以从配置文件中进行URL-REWRITE,那么我们将通过电子邮件将配置文件发送给每个客户,以将其放入正确的文件夹中
我希望我把我的问题说清楚。不确定这是否会对您有所帮助,但我有一些类似的场景,我必须重写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);
}
};
}
}
希望这至少在某种程度上对您有所帮助不确定这是否会对您有所帮助,但我遇到过类似的情况,我必须重写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);
}
};
}
}
希望这将至少在某种程度上帮助您在WCF中重写URL
创建新的WCF服务应用程序
添加Global.asax文件
在应用程序启动方法中,添加以下行:
RouteTable.Routes.Add(new ServiceRoute("api/Service1", new WebServiceHostFactory(), typeof(Service1)));
在服务合同(接口IService1)的操作合同中添加WebInvoke
构建和浏览项目
选中此项:在WCF中重写URL
创建新的WCF服务应用程序
添加Global.asax文件
在应用程序启动方法中,添加以下行:
RouteTable.Routes.Add(new ServiceRoute("api/Service1", new WebServiceHostFactory(), typeof(Service1)));
在服务合同(接口IService1)的操作合同中添加WebInvoke
构建和浏览项目
选中此项:非常感谢。但这对我没有帮助,因为我们不想重新编译项目。如果可能的话,我们只想编辑配置文件。这对我没有帮助,因为我们不想重新编译项目。如果可能的话,我们只想编辑配置文件