Bir VB.NET app bir PHP komut dosyası için bir dosya göndermek

5 Cevap ûnet

Ben harici bir web sunucusu için bir iç ağdaki bir SQL DB Server bazı veri göndermek gerekiyor.

Ben bir veritabanında yatırılır web sunucusu, bir PHP komut dosyası veri yaklaşık 1 MB gönderir günde bir kez çağrılan bir VB.NET uygulama yazarak bunu gerçekleştirmek için umuyordum.

Bir. NET app bir PHP komut dosyası veri göndermek için iyi bir yöntem nedir?

5 Cevap

Sen sadece bir tarayıcı yaptığınız gibi php komut için bir dosyayı göndermek için HTTPWebRequest sınıfını kullanabilirsiniz. Gönderdiğiniz dosya XML veya CSV gibi temel metin ise, basit sonrası yapılabilir. Ikili verileri göndermek gerekiyorsa Ancak, bunu base64 kodlamak olabilir ya ve daha sonra PHP diğer ucunda onu çözmek, ya da bir dosya olarak gönderebilir, multipart forms kullanarak. Eğer çok parçalı formları kullanarak için özel bir nedeniniz yoksa, muhtemelen tüm ekstra sorun değmez, ve muhtemelen sadece base64 ile verilerinizi kodlamak gerekir.

Siz JSON veya XML kullanmak isteyebilirsiniz.

Etc, hata işleme açısından yönetmek için işler çok daha kolay olacak - Bir reliable gelir sonra eğer, ben veri transferi aracı olarak yerine HTTP FTP kullanmak için cazip olurdu . Böyle geçici bir klasöre dosya yükleme ve daha sonra yükleme tamamlandıktan sonra bir pikap klasöre (FTP açısından yeniden adlandırma) hareket eden bazı iyi uygulamaları takip özellikle.

Özel fonksiyonlar açısından, vb PHP FTP ilgili fonksiyonları geniş bir yelpazesine sahiptir (key docs here). Ne yazık ki ilgili. NET framework bit ve bobs farkında değilim, ama ben MSDN mal teslim etmezse burada birisi doğru yönde bir işaret olacaktır eminim.

Web hizmetleri PHP doğrudan veri itmek XML yoluyla, belki de SOAP gitmek için yol olacaktır.

Eğer middaparka rotasını giderseniz, PHP doğrudan iterek değil, sadece bir include deyimi kullanarak PHP için kullanılabilir hale değiliz. Eğer alınan olduğunda hemen verileri işlemek için PHP istiyorsanız, muhtemelen ilk seçeneği gerekir.

Başka bir fikir PHP tabanlı web sitesi için bir HTTP PUT isteği yürütmek ve veri aktarmak için olabilir.

Find here how to accept content sent through HTTP Put in PHP http://php.net/manual/en/features.file-upload.put-method.php

See here how you can execute HTTP PUT request from .net Application http://www.java2s.com/Code/CSharp/Network/HTTPputwithusernameandpassword.htm