Silverlight到Web Service不工作

本文关键字:工作 Service Web Silverlight | 更新日期: 2023-09-27 18:12:04

我创建了一个简单的Silverlight web应用程序表单来测试我为一个更大的项目设置的web服务。这个表单基本上是包含First Name、Last Name和Middle Name的文本框,单击按钮后,代码被传递到服务器上的web服务,服务器将它们打印成pdf格式,保存到磁盘,然后通过电子邮件发送。我写了所有的代码,没有出现任何错误,但它不能工作。没有文件被保存,没有电子邮件被发送。下面是mainpage . example .cs中的代码:

using System;
using System.Collections.Generic;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ServiceModel;
using ExampleSilverlightApp.ServiceReference1;
namespace ExampleSilverlightApp
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }
    private void button1_Click(object sender, RoutedEventArgs e)
    {
        ServiceReference1.newpdfRequestBody proxy = new ServiceReference1.newpdfRequestBody();
        proxy._1_FirstName = textBox1.Text;
        proxy._1_lastName = textBox2.Text;
        proxy._1_middlename = textBox3.Text;
    }
}

}

下面是我的web服务的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Text;
using System.IO;
using System.Net.Mail;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ExampleSilverlightApp.Web
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class MyWebService : System.Web.Services.WebService
    {
        [WebMethod]
        public void newpdf(string _1_FirstName, string _1_lastName, string _1_middlename)
        {
            string filename = @"C:'Temp'" + _1_FirstName + _1_lastName + ".pdf";
            iTextSharp.text.Document d = new iTextSharp.text.Document(PageSize.A4, 72, 72, 172, 72);
            PdfWriter.GetInstance(d, new FileStream(filename, FileMode.Create));
            d.Open();
            d.Add(new Paragraph(string.Format("First Name:", _1_FirstName)));
            d.Add(new Paragraph(string.Format("Last Name:", _1_lastName)));
            d.Add(new Paragraph(string.Format("Middle Name:", _1_middlename)));
            d.Close();
            try
            {
                MailAddress SendFrom = new MailAddress("t@hotmail.com");
                MailAddress SendTo = new MailAddress("tg@gmail.com");
                MailMessage MyMessage = new MailMessage(SendFrom, SendTo);
                MyMessage.Subject = "new test";
                MyMessage.Body = "heres a new test!";
                Attachment attachfile = new Attachment(filename);
                MyMessage.Attachments.Add(attachfile);
                SmtpClient emailClient = new SmtpClient("smtp.live.com");
                emailClient.Send(MyMessage);
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("File Lost!");
            }
        }
    }
}

我不知道我的设置有什么问题

Silverlight到Web Service不工作

  • 从方法的开头开始"try/catch"块。可能是服务器上写权限错误。
  • 尝试其他方法。您可以在内存中创建PDF文件,然后将其作为电子邮件发送。在这种情况下,您的程序不需要服务器上的特殊权限。更多信息:[^]