测试ASMX webservice

时间:2013-08-08 17:58:29

标签: c# web-services soap asmx

我写了一个简单的web服务来上传文件。

<%@ WebService Language="C#" class="AppWebService" %>

using System;
using System.Web.Services;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.IO;


[WebService(Namespace="http://myip/services")]
public class AppWebService : WebService
{    
    [WebMethod]
    public string UploadFile(byte[] f, string fileName)
    {
        // the byte array argument contains the content of the file
        // the string argument contains the name and extension
        // of the file passed in the byte array
        try
        {
            // instance a memory stream and pass the
            // byte array to its constructor
            MemoryStream ms = new MemoryStream(f);

            // instance a filestream pointing to the 
            // storage folder, use the original file name
            // to name the resulting file
            FileStream fs = new FileStream
                (System.Web.Hosting.HostingEnvironment.MapPath("/TransientStorage/") +
                fileName, FileMode.Create);

            // write the memory stream containing the original
            // file as a byte array to the filestream
            ms.WriteTo(fs);

            // clean up
            ms.Close();
            fs.Close();
            fs.Dispose();

            // return OK if we made it this far
            return "OK";
        }
        catch (Exception ex)
        {
            // return the error message if the operation fails
            return ex.Message.ToString();
        }
    }




    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

}

现在我正在尝试测试功能,但是无法通过C#与Web服务进行交互。我在this post中尝试使用HTTPWebrequest (multipart/form-data)进行了搜索,但没有取得多大成功,也不确定这是否正确。

如何测试我编写的Web服务以查看是否可以成功上传文件?

2 个答案:

答案 0 :(得分:1)

您是要编写测试用例还是仅通过curl或ui

运行一些测试

可以使用WCF Test Client 可以使用curl

以下是一些代码的link,也应该有所帮助。

答案 1 :(得分:1)

一个易于测试的代码是通过右键单击要测试的方法创建单元测试,然后选择Create Unit Tests。您将为您生成一个测试方法存根,并将所有必需变量初始化为null。使用所需数据初始化所有变量并运行单元测试。这将测试方法本身。
我不确定这是不是你要找的。