日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 中宿主WCF Rest 服务的解决方法

發布時間:2025/4/5 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 中宿主WCF Rest 服务的解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我這里就是通過routes.MapRoute(參數)中的參數進行處理的。MapRoute的重載如下:

RouteTable.Routes.MapRoute( string name, string url); RouteTable.Routes.MapRoute( string name, string url, object defaults); RouteTable.Routes.MapRoute( string name, string url, string[] namespaces); RouteTable.Routes.MapRoute( string name, string url, object defaults, object constraints); RouteTable.Routes.MapRoute( string name, string url, object defaults, string[] namespaces); RouteTable.Routes.MapRoute( string name, string url, object defaults, object constraints, string[] namespaces);

?

name參數:規則名稱可以隨意取,但是不能重名,否則會報錯。路由集合中已經存在為“default”的路由。路由名必須是唯一的。

Url參數:url獲取數據的規則,這里不是正則表達式,將要識別的參數括起來就可以了,比如{controller}/{action}

注:最少只需要傳遞name,url參數,就可以建立一條Routing規則。比如實例中可改為: RouteTable.Routes.MapRoute("Default", "{controller}/{action}");,

defaults參數:url參數中的默認值,如果一個URL只有controller:localhost /home/,而我們只建立了一條url獲取數據規則:{controller}/{action},這時就會為action參數設置defaults參數中規定的默認值,defaults是Object類型,可以傳遞一個匿名類型來初始化默認值。(action也就是index調用方法Userdetail())

new { controller = "Home", action = "Userdetail" });

constraints參數:用來限定每個參數的規則或Http請求的類型,constraints屬性是一個RouteValueDictionary對象,也就是一個字典代表,字典的值可以有兩種:a,用來定義正則表達式的字符串,正則表達式不區分大小寫。B,用于實現IRouteConstraint接口且包含Match方法的對象。通過正則表達式可以規定參數格式,比如controller參數只能為4位數字:new {controller=@”\d{4}”}

public static void RegisterRoutes(RouteCollection routes) {//忽略對.axd文件的Route,也就是和WebForm一樣直接去訪問.axd文件routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");routes.MapRoute("Default", // Route name"{controller}/{action}/{id}", // URL with parametersnew { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaultsnew { controller = @"^\b(?!GetRegSourceData)\w*\b$"});routes.Add(new ServiceRoute("GetRegSourceData", new WebServiceHostFactory(), typeof(GetRegSourceData)));}

查看以上代碼 其中new { controller = @"^\b(?!GetRegSourceData)\w*\b$"}? 過濾掉Controller為GetRegSourceData的URI.

然后就會去匹配WCF Rest Service的Route

routes.Add(new ServiceRoute("GetRegSourceData", new WebServiceHostFactory(), typeof(GetRegSourceData)));

?

轉載于:https://www.cnblogs.com/aehyok/archive/2012/11/21/2781067.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC 中宿主WCF Rest 服务的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。