WCF自定义地址路由映射(不用svc文件)

一般在创建WCF服务时会用Serivce.svc文件访问,地址如:http://localhost/applicationname/Serivce.svc/Name

现在用路由映射成:http://localhost/applicationname/MyService/Name  方法如下:

首先在Global.asax中的Application_Start事件中添加以下代码:

void Application_Start(object sender, EventArgs e)
    {
        System.Web.Routing.RouteTable.Routes.Add(newSystem.ServiceModel.Activation.ServiceRoute("MyService", new System.ServiceModel.Activation.WebServiceHostFactory(), typeof(Service))); 
    }

其中"MyService"为自定义要在地址栏中映射的名称,如: http://localhost/applicationname/MyService/Name

typeof(Service)中的"Service"为WCF中服务实现类Service.cs,一般继承IService.cs接口

接下来必须在web.config中<serviceHostingEnvironmentmultipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true">的aspNetCompatibilityEnabled设为true

然后再在Service.cs服务类上面添加:

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]  //记得引用using System.ServiceModel.Activation;

public class Service : IService
{

public string GetName(string Name)

     {

return "your name is " + Name;

     }

}

此外还有IService.cs接口中方法声明中设置UriTemplate以接受参数:

[ServiceContract]
public interface IService
{

        [OperationContract, WebGet(UriTemplate = "{Name}", BodyStyle =WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Xml)]
string GetName(string Name);

}

WCF自定义地址路由映射(不用svc文件)

时间: 2024-11-10 01:17:36

WCF自定义地址路由映射(不用svc文件)的相关文章

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

WCF无.SVC文件服务激活,及不添加服务引用调用WCF

一,新建WCF服务引用程序 1,删除.svc文件,全部删除. 2,新建 IService 类 namespace TestWcf { [ServiceContract] public interface IService { [OperationContract] string DoWork(); } } 3,实现接口类 Service类 namespace TestWcf { public class Service : IService { public string DoWork() {

ASP.NET的路由系统:路由映射

总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapPageRoute进行路由映射,即注册URL模板与某个物理文件的匹配关系.路由注册的核心就是在全局路由表中添加一个Route对象,该对象的绝大部分属性都可以通过MapPageRoute方法的相关参数来指定.接下来我们通过实现演示的方式来说明路由注册的一些细节问题. 目录 一.变量默认值 二.约束 三.

Django-url路由映射与views逻辑处理

一.URL路由映射 路由映射模块,主要完成url与views视图函数的映射.当一个url请求到来时,会按照这个模块中的url地址从上到下进行匹配,如果匹配成功,将执行映射试图中的函数:反之将返回404错误. 1.基本介绍 urlpatterns = [] #里面存放一条条的路由映射关系. url(正则表达式, 映射函数,参数[可选],别名[可选]) 正则匹配中,如果带了括号,那么该括号中的内容会当作参数传递到对应的视图函数中去. 别名,在文件路径发生变化时用处非常大. 2.配置路由 常规正则匹配

[Buffalo]ASP.NET MVC路由映射

Asp.Net的路由系统旨在通过注册URl模版与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但对于Asp.Net Mvc应用来说,请求的目标却是定义在某个Controller类型中的Action方法. 为了实现针对目标Controller和Action的路由,Asp.Net Mvc在System.Web.Mvc.RouteCollectionExtensions中针对RouteConllection类型定义了一系列的扩展方法以实现文件路径无关的路由映射.其中的两组方法,Ignore用

解决IIS7(WIN7)该问.svc文件的错误问题

解决IIS7.5中部署WCF时,访问.svc文件的404错误问题如果你直接在IIS 7中配置WCF,访问.svc文件时会出现404错误.解决方法,以管理员身份进入命令行模式,运行:"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r -y-r         - 重新安装此版本的 Windows Communication Foundation,  

【转】解决IIS7该问.svc文件的错误问题

解决IIS7.5中部署WCF时,访问.svc文件的404错误问题如果你直接在IIS 7中配置WCF,访问.svc文件时会出现404错误.解决方法,以管理员身份进入命令行模式,运行:"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r -y-r         - 重新安装此版本的 Windows Communication Foundation,  

ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)

原文:ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署) 按网上的做法用dockerfile文件是可以弄得出来的,http://www.docker.org.cn/article/119.html, 不过我想把网站文件放在外面硬盘目录,再映射进去,这样只要在硬盘目录中修改CSHTML文件后重启一下容器就行了 步骤如下: 1. vs中建立ASP.NET CORE网站,类名为coreweb1 2. 发布到c:\temp\coreweb1目录 3. 先在本地CMD

Charles——charles 工具栏Tools总结——映射到本地文件/文件夹

本地映射/Map Local Settings 功能:把需要请求网络的文件映射为请求本地文件 本地映射工具 本地映射工具使您能够使用本地文件,就好比他是你访问的目标网站一部分一样,流程是,客户端获取资源文件的时候,可以向服务器正常发起资源请求,但在charles就已经被截断了,并且把当前的资源请求重定向到你设置的备注: 假设你需要用到 https://zhubangbang.com/ssl/blog/img/logo.png 这个文件: 客户端会正常的向服务器发起请求,但charles把这个资截