1

我有一个 aspx 网络表单项目,并且正在使用 Silverlight 组件通过客户端的扫描仪获取图像,一旦扫描完成,我需要将两个字节数组发送到 aspx 会话变量,所以我可以保存这些字节数组反对记录。

我目前只是试图从 Silverlight 发送一个基本字符串到 aspx 以尝试更新会话变量(尝试让基础工作,然后再加强它)

虽然当我尝试更新会话变量并从 WebService 得到响应说“NotFound”时,我得到了 NullReferenceException ...

这是我现在拥有的:

网络服务:

namespace XXXX
{
/// <summary>
/// Summary description for EnrollService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class EnrollService : System.Web.Services.WebService
{

    [WebMethod]
    public void SetSessionEmpIDs(string Templates)
    {
        Session.Add("EmployeeIDs", Templates);
    }
}
}

银光面:

EnrollServiceReference.EnrollServiceSoapClient client = new EnrollServiceReference.EnrollServiceSoapClient();
client.SetSessionEmpIDs("IDsDONE");
4

1 回答 1

0

尝试发送文件的 byte[] 数组块(~ 1024 字节或更多,您需要找出适合您的配置/客户端环境的最佳大小)并将它们组装到服务器上 - 这是更可行和灵活的方法('vector array'块文件表示更自然+服务绑定/通道具有发送/接收数据大小限制)。

而且我不建议使用对象和接口 WCF 方法参数/返回类型,因为这可能导致与某些客户端不兼容(根据 WS 标准/规范)

于 2013-10-07T22:15:40.397 回答