NASıL YAPıLıR: Gönder ve ikili belgeler, bir ASP.NET Web Hizmetleri ve Visual C# .NET kullanarak alma

Makale çevirileri Makale çevirileri
Makale numarası: 318425 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, bir Web hizmeti ve Microsoft ASP.NET ve Microsoft Visual C#. NET'i kullanarak ikili dosyalarını almak ve göndermek için bir Web hizmeti istemcisi nasıl gösterir. ASP.NET ve Visual C# .NET'i bir Web hizmetinin ikili dosyalarını bir Web sunucusundaki bir klasöre kaydeder ve ikili dosyalarını bir Web sunucusundaki bir klasöre alır oluşturmak için kullanabilirsiniz. Bu hizmet, basit bir belge yönetim sistemi Web'de olarak kullanabilirsiniz.

Web hizmetini oluşturma

  1. Microsoft Visual Studio. NET'te Dosya menüsünden Yeni ' yi tıklatın ve sonra Project ' i tıklatın.
  2. Visual C# Projects, ASP.NET Web Service ' ı seçin. Yazın veya Konumhttp://localhost/DocumentManagementService yapıştırın ve sonra Tamam ' ı tıklatın. Varsayılan olarak, Service1.asmx oluşturulur ve Tasarım görünümünde görüntülenir.
  3. Görünüm menüsünde kodu Service1.asmx için kod görünümünü görüntülemek için tıklatın.
  4. Service1 sınıfı WebMethods aşağıdaki kodu ekleyin:
    
    [WebMethod]
    public bool SaveDocument( Byte[] docbinaryarray, string docname)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + docname;
    	FileStream objfilestream =new FileStream(strdocPath,FileMode.Create,FileAccess.ReadWrite);
    	objfilestream.Write(docbinaryarray,0,docbinaryarray.Length);
    	objfilestream.Close();
    
    	return true;
    }
    
    [WebMethod]
    public int GetDocumentLen(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	objfilestream.Close();
    
    	return len;
    } 
    
    
    [WebMethod]
    public Byte[] GetDocument(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	Byte[] documentcontents  = new Byte[len];
    	objfilestream.Read(documentcontents,0,len);
    	objfilestream.Close();
    
    	return documentcontents;	
    } 
    					

    Not:Kod için <root>belgeleri kaydeder: sunucuda \\DocumentDirectory\\ dizin yolu. Bu, Web sunucunuzda, belgeyi kaydetmek istediğiniz klasörü değiştirin.

  5. Service1.asmx başlangıcına kadar aşağıdaki ad alanı Ekle:
    using System.IO;
  6. Web hizmetini sınama:
    1. Hata Ayıkla menüsünde Web hizmetini başlatmak için Başlat ' ı tıklatın. Bu Web tarayıcısını başlatır ve Yardım sayfası, hizmet açıklaması görüntülenir.
    2. SaveDocumentGetDocument ve GetDocumentLen yöntemleri göründüğünden emin olun.
    3. Hata ayıklama durdurmak için Web tarayıcı penceresini kapatın.

Bir istemci için Web hizmetini oluşturma

  1. Visual Studio. NET'te Dosya menüsünde Add Project ' ı tıklatın ve sonra Yeni proje) tıklatın.
  2. Visual C# Projects listesinde Windows Application seçin ve Tamam ' ı tıklatın. Varsayılan olarak, Form1 oluşturulur.
  3. Bir Web hizmetine, Web başvurusunu aşağıdaki şekilde ekleyin:
    1. Solution Explorer'da istemci proje öğeyi sağ tıklatın. Sonra içerik menüsünde Add Web Reference seçin.
    2. Web Başvurusu Ekle iletişim kutusunda, Web hizmeti için Web Hizmetleri Açıklama Dili (WSDL) dosyasının URL'SINI yazın ve ENTER tuşuna basın.

      Not: Http://localhost/DocumentManagementService/Service1.asmx?WSDL WSDL dosyası için varsayılan konumdur.
    3. Web Başvurusu Ekle iletişim kutusunda, Add Reference ' ı tıklatın.
  4. Iki düğme Form1'e ekleyin. Metin özelliği, button1, Sunucudaki depolama belge ayarlayın. Text özelliğini button2 Sunucudan al belge ayarlayın.
  5. Çift button1 ve button2 varsayılan oluşturmak için olay işleyicileri için düğmeleri tıklatın.
  6. Işleyicileri aşağıdaki kodla değiştirin:
    string sFile = "<file path>";
    
    private void button1_Click(object sender, System.EventArgs e)
    {
    	FileStream objfilestream = new FileStream(sFile,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;
    	Byte[] mybytearray = new Byte[len];
    	objfilestream.Read(mybytearray,0,len);
    	localhost.Service1 myservice = new localhost.Service1();
    	myservice.SaveDocument(mybytearray,sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Close();
    }
    
    private void button2_Click(object sender, System.EventArgs e)
    {
    	MemoryStream objstreaminput = new MemoryStream();
    	FileStream objfilestream = new FileStream(sFile.Insert(sFile.LastIndexOf("."),"2"), FileMode.Create,FileAccess.ReadWrite);
    						
    	localhost.Service1 myservice = new localhost.Service1();
    	int len = (int)myservice.GetDocumentLen(sFile.Remove(0,sFile.LastIndexOf("\\")+1)); 
    	Byte[] mybytearray = new Byte[len];
    	mybytearray = myservice.GetDocument(sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Write(mybytearray,0,len);
    	objfilestream.Close();
    }
    					
    Not:sFile değişken sunucuya karşıya yüklenecek bir belgeyi yerel dosya yolunu içermelidir. Belge yüklendiğinde, aynı klasörde yer alır ve 2 değeri, dosya adına eklenir.

  7. Aşağıdaki ad dosyasının başına ekleyin:
    using System.IO;
  8. Solution Explorer'da istemci proje öğeyi sağ tıklatın. Sonra Başlangıç proje olarak, bağlam menüsünde seçin.

Deneyin

  1. Hata Ayıkla) menüsünde, Başlat ' ı tıklatın. Form1 görüntülenir.
  2. Sunucudaki saklama belge etiketli düğmeyi tıklatın. Bu işlem, SaveDocument Web yöntemini çağırır. Bu Web yöntemi yerel belge içinde <root>kaydeder: sunucudaki \DocumentDirectory\ klasörü. Belge aktardınız sonra dosyanın hedef klasörde bulunduğunu doğrulayın.
  3. Sunucudan al belge etiketli düğmeyi tıklatın. Bu işlem, GetDocument Web yöntemini çağırır. Bu Web yöntemi <root>belgeyi alır: sunucudaki \DocumentDirectory\ klasörü. Belge, yerel sürücüde belirtilen kodu kaydedilir.

Referanslar

Daha fazla bilgi için Microsoft Visual Studio .NET belgelerine bakın.

Özellikler

Makale numarası: 318425 - Last Review: 15 Aralık 2003 Pazartesi - Gözden geçirme: 4.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster KB318425 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:318425

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com