Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo passo a passo mostra como criar um serviço da Web e um cliente de serviço da Web para enviar e receber documentos binários usando o Microsoft ASP.NET e o Microsoft Visual translation from VPE for Csharp .NET. Você pode usar o ASP.NET e .NET translation from VPE for Csharp Visual para criar um serviço da Web que salva documentos binários em uma pasta em um servidor Web e recupera documentos binários de uma pasta em um servidor Web. Você pode usar esse serviço como um sistema simples de gerenciamento de documentos na Web.
No menu arquivo no Microsoft Visual Studio. NET, clique em novo e, em seguida, clique em Project .
Em projetos do Visual translation from VPE for Csharp , selecione o Serviço da Web ASP.NET . Digite ou cole http://localhost/DocumentManagementService para o local e, em seguida, clique em OK . Por padrão, Service1.asmx é criado e é exibido no modo de design.
No menu Exibir , clique em código para o modo de exibição código para Service1.asmx.
Adicione o seguinte código WebMethods para a classe Service1 :
[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;
}
Observação: <root>O código salva os documentos para o <raiz>: \\DocumentDirectory\\ caminho do diretório no servidor. Altere isso para a pasta em seu servidor Web onde você deseja salvar os documentos.
Adicione o seguinte namespace para o início do Service1.asmx:
using System.IO;
Teste o serviço da Web:
No menu Debug , clique em Iniciar para iniciar o serviço da Web. Isso inicia o navegador da Web e página de Ajuda da descrição do serviço será exibido.
Certifique-se que os métodos SaveDocument , GetDocument e GetDocumentLen aparecem.
Feche a janela do navegador da Web para parar a depuração.
No menu arquivo no Visual Studio. NET, clique em Add Project e, em seguida, clique New Project .
Na lista projetos translation from VPE for Csharp Visual , selecione Windows Application e, em seguida, clique em OK . Por padrão, é criado o Form1.
Adicione uma referência da Web para o serviço da Web, da seguinte maneira:
No Solution Explorer, clique com o botão direito do mouse no item de projeto cliente. Em seguida, selecione Add Web Reference no menu de contexto .
Na caixa de diálogo Add Web Reference , digite a URL para o arquivo WSDL (Web Services Description Language) para o serviço da Web e, em seguida, pressione ENTER.
Observação: O local padrão para o arquivo WSDL é http://localhost/DocumentManagementService/Service1.asmx?WSDL.
Na caixa de diálogo Add Web Reference , clique em Add Reference .
Adicione dois botões ao Form1. Defina a propriedade Text de button1 para Armazenamento de documentos no servidor . Defina a propriedade Text de button2 para Recuperar o documento do servidor .
Clique duas vezes em button1 e button2 para criar padrão clique manipuladores de eventos para os botões.
Substituir os manipuladores com o seguinte código:
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();
}
Observação: a variável sFile deve conter o caminho de arquivo local para um documento que será carregado para o servidor. Quando o documento é baixado, ele é colocado na mesma pasta e um valor de 2 é acrescentado ao nome arquivo.
Adicione o seguinte espaço para nome no início do arquivo:
using System.IO;
No Solution Explorer, clique com o botão direito do mouse no item de projeto cliente. Em seguida, selecione Definir como projeto de inicialização no menu de contexto .
No menu Debug , clique em Iniciar . Form1 é exibida.
Clique no botão rotulado como Documento de armazenamento no servidor . Isso irá chamar o método de Web SaveDocument . <root>Esse método da Web salva o documento local no <raiz>: \DocumentDirectory\ pasta no servidor. Depois de transferir o documento, verifique se o arquivo existe na pasta de destino.
Clique no botão rotulado como Recuperar o documento do servidor . Isso irá chamar o método de Web GetDocument . <root>Esse método Web recupera o documento o <raiz>: \DocumentDirectory\ pasta no servidor. O documento é salvo na unidade local que está especificada no código.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318425
(http://support.microsoft.com/kb/318425/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.