SORU
13 EYLÜL 2011, Salı


Başlarken Mutlak URL ASP.NET MVC bir Eylem fron

Bu muhtemelen aptal bir soru ama net bir göstergesi bulun. Sunucudaki bazı dosyaları Yedekleme yönetmek olan MVC3 web uygulaması POCO Dersim var. Genellikle bir yedekleme oluşturur ve indirmek için URL ile bir e-posta gönderir denetleyici için bir dosya adı döndürür. Bu gayet iyi çalışıyor, ama mutlak URL gönderilmek üzere inşa edemem. İşlevi ne olursa olsun kullanırım, hep göreli bir URL, gibi/Backup/TheFile.zipörneğin yerinehttp://www.somesite.com/Backup/TheFile.zip. Denedim:

VirtualPathUtility.ToAbsolute("~/Backup/SomeFile.zip");
HttpRuntime.AppDomainAppVirtualPath   "/Backup/SomeFile.zip";
Url.Content("~/Backup/SomeFile.zip");

ama hepsi gibi bir şey dönmek/Backup/SomeFile.zip. Herhangi bir fikir?

CEVAP
23 Mart 2012, Cuma


Aşağıdaki bakabilirsin:

var urlBuilder =
    new System.UriBuilder(Request.Url.AbsoluteUri)
        {
            Path = Url.Action("Action", "Controller"),
            Query = null,
        };

Uri uri = urlBuilder.Uri;
string url = urlBuilder.ToString();
// or urlBuilder.Uri.ToString()

Bu örnekte Url.Action() yerine, Url.Content() ya da herhangi bir yönlendirme yöntemi kullanabilirsiniz, ya da gerçekten sadece bir yol geçmektedir.

Ama eğer URLController ActionBir oraya giderse daha kompakt bir şekilde

var contactUsUriString =
    Url.Action("Contact-Us", "About",
               routeValues: null /* specify if needed */,
               protocol: Request.Url.Scheme /* This is the trick */);

Hile burada herhangi bir yönlendirme yöntemi çağrılırken protocol/düzeni belirtin sonra, mutlak bir URL olsun.Mümkünse bunu tavsiye ederimama senin de ihtiyacın olursa, ilk örnekte daha genel bir yolu var.

Ayrıntılar burada blog var:
http://gurustop.net/blog/2012/03/23/writing-absolute-urls-to-other-actions-in-asp-net-mvc/

Meligy’s AngularJS & Web Dev Goodies Newsletter elde edilir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006