type则是大家的实际项目中的方法类职位

先是大家精通一下平常的法子

    我们只须求在web.config配置文件中做映射管理就能够。

率先种样式:

 <system.web>
    <urlMappings enabled="true">

      <add url="~/d" mappedUrl="SmackBio.WebSocketSDK.GenericHandler"/>

    </urlMappings>

疏解:这里的url正是大家供给在央求的切切实实写法,然后mappedUrl则是我们实际上项目中的管理地方。

其次种样式:

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>    
      <add path="/socket" verb="*" name="GenericHandler" type="SmackBio.WebSocketSDK.GenericHandler"/>
    </handlers>
  </system.webServer>

解说:这里的path正是我们倡议的入口地址,type则是我们的其实项目中的方法类职位。

mvc路由布署形式

那是大家分歧选择的投射方式。不过在mvc路由中大家挂起日常管理程序却开采不行了,下边大家将要布署路由艺术开展映射。

在mvc中大家分为三步:

    1.落到实处拍卖代码程序(完毕通常管理程序承接类IHttpHandler)

图片 1图片 2

 1   public class GenericHandler : IHttpHandler
 2     {
 3         public void ProcessRequest(HttpContext context)
 4         {
 5             if (context.IsWebSocketRequest || context.IsWebSocketRequestUpgrading)
 6             {
 7                 context.AcceptWebSocketRequest(new SBWebSocketHandler());
 8             }
 9             else
10             {
11                 context.Response.ContentType = "text/plain";
12                 context.Response.Write("Service running");
13             }
14         }
15 
16         public bool IsReusable
17         {
18             get
19             {
20                 return false;
21             }
22         }
23     }

View Code

   
2.定义二个类路由准绳(完毕路由IRouteHandler接口然后针对管理代码程序类)

图片 3图片 4

 public class PlainRouteHandler : IRouteHandler
    {

        public IHttpHandler GetHttpHandler(RequestContext requestContext)
        {
            return new GenericHandler();
        }
    }

 public static void RegisterHandler(RouteCollection routes)
        {

            RouteTable.Routes.Add("socket",
                 new Route("socket", new MvcZodiac.Controllers.PlainRouteHandler()));
        }

View Code

 

    3.报了名到程序中(在Global.asax中的Application_Start方法注册)

 RegisterHandler(RouteTable.Routes);

 这里补充一下,那句话料定要写在路由登记以前,否则不会起功能。例如:

图片 5

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website