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

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • Living Waters

    Living Water

    9 AĞUSTOS 2006