2010-05-20 41 views
0

我使用OAuth(linq2twitter和DotNetOpenAuth)允許用戶通過他們的Twitter帳戶發表評論。所以當你執行授權時,twitter會執行回調,所以linq2twitter的做法是將回調設置爲執行請求的頁面。所以如果req來自blah.com \ twit,它會重定向到blah.com \ twit。這使我有這樣的代碼:Asp.net mvc 2和twitter authenticaton

public ActionResult Twit(){ 
     var qString = Request.QueryString; 
     if (qString.Count <= 0){ 
     //do authorization 
     } 
     else{ 
     //do authentication 
     } 
} 

所以我想將它拆分到這個(貌似這兩個電話都是通過GET完成):

public ActionResult Twit(){} 
public ActionResult Twit(string token1, string token2){} 

當我有這個目前我得到.net黃色屏幕抱怨模棱兩可的行動方法。我該如何發送?

回答

1

您可以使用AcceptVerbs這樣

public ActionResult Twit(){} 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Twit(string token1, string token2){} 

這會使ASP.NET MVC 2路到第二操作方法回調時張貼。

+0

看起來回調是通過Get完成的,所以這兩種方法都需要成爲get。 – arinte 2010-05-20 11:15:25

+0

對。看來我沒有得到正確的問題。你可以試試這個,然後:http://blog.abodit.com/2010/02/asp-net-mvc-ambiguous-match/ – 2010-05-20 11:22:04