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

  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • filmurfreakur

    filmurfreaku

    29 Mart 2007
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012