代码在localhost上运行正常,但不在gatorhost上执行

时间:2012-05-29 18:02:52

标签: c# asp.net ajax iis

我在VWD写了一个小网站。我使用VWD的localhost功能在家用机器上运行它。它运行完美。

现在是背景故事。我有一个带gatorhost的linux服务器。我让他们将我的域和我的服务器类型切换到Windows,因为我决定学习asp.net(c#)。他们在电话上花了几个小时的问题。搜索我的域时无法连接的问题以及我的电子邮件功能和ftp功能,所有搞砸了他们需要花费数小时才能在多个电话和票证中找到它。

所以现在我想我已经完成所有工作我通过VWD将我的网站加载到我的服务器上(www.contentiousweb.com)我的所有前端代码在表单验证和链接方面都能正常工作。

当我点击执行我的c#代码的提交按钮时,根本没有任何事情发生。不是一件事。当表格填写错误时,验证工作正常。我没有任何错误或任何错误。我不喜欢从哪里开始。是我的代码服务器有多少我可以依靠VWD正确,因为我不能依靠我的自我大声笑。

Webconfig文件。 (我换掉了我的电子邮件和电子邮件)

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="Ralph &lt;********@hotmail.com&gt;">
<network enableSsl="true" host="smtp.live.com" userName="*************@hotmail.com" password="***********" port="587" />
</smtp>
</mailSettings>
</system.net>

贝娄是按钮。

protected void Button1_Click(object sender, EventArgs e)
{

if (Page.IsValid)
{
string fileName = Server.MapPath("_TextFiles/ContactForm.txt");
string mailBody = File.ReadAllText(fileName);

mailBody = mailBody.Replace("##Name##", nameBox.Text);
mailBody = mailBody.Replace("##Email##", emailBox.Text);
mailBody = mailBody.Replace("##Subject##", subBox.Text);
mailBody = mailBody.Replace("##Message##", MsgField.Text);

MailMessage myMessage = new MailMessage();
myMessage.Subject = "Response from  Contact Page";
myMessage.Body = mailBody;

myMessage.From = new MailAddress("******", "Contact");
myMessage.To.Add(new MailAddress("******", " Server"));

SmtpClient mySmtpClient = new SmtpClient();
mySmtpClient.Send(myMessage);

Message.Visible = true;
ContactTable.Visible = false;
System.Threading.Thread.Sleep(5000);

}
}

}

任何帮助都会得到很大的帮助。我是新人并且学习但是我的经验和主持人的问题我认为它是最终的东西,因为其他一切都是。我很无能为力。

如果我能提供更多信息,请告诉我。感谢您的帮助

在我自己的故障排除中,我刚刚使用mozila dev工具发现了这个错误。

[18:03:28.399] Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500 @ http://contentiousweb.com/ScriptResource.axd?d=EJBSV2JIVC3wCtbtVqDWEZfeOsqUeA-l1kZnjjZKvx15e0cjnzPdj4H78hvszmtfrIhAM96VdUstdDjn1xGAbsydMzIjEQeNWDOz2tihnjEjxDW5esVemHLoHR01oIyUBoZTNPd7atx4-EPBnuVlWYbQIeLdoH_eBXy1j9kav6ac2ptv4Cl8sraaDBGXntVH0&t=ffffffff940d030f:1507

感谢您的帮助,我仍然在寻找自己的答案。

2 个答案:

答案 0 :(得分:3)

我明白了。在与gatorhost通电话四小时后,我们确定他们提供给我的smtp信息不起作用。他们让我把主人换成了

<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network  host="localhost" userName="*************@hotmail.com" password="***********" port="25" />
</smtp>
</mailSettings>
</system.net>

现在一切都没有错误。谢谢所有帮助过想法的人。

答案 1 :(得分:0)

我在代码中没有看到分配端口号或凭据?

此代码应该可以使用

// SMTP options
string Host = "smtp.mail.emea.microsoftonline.com";
Int16 Port = 587;
bool SSL = true;
string Username = "myname@mydomain.com";
string Password = "mypassword";

// Mail options
string To = "reciever@recieverdomain.com";
string From = "myname@mydomain.com";
string Subject = "This is a test";
string Body = "It works!";

MailMessage mm = new MailMessage(From, To, Subject, Body);
SmtpClient sc = new SmtpClient(Host, Port);
NetworkCredential netCred = new NetworkCredential(Username, Password);
sc.EnableSsl = SSL;
sc.UseDefaultCredentials = false;
sc.Credentials = netCred;

try
{
   Console.WriteLine("Sending e-mail message...");
  sc.Send(mm);
}
catch (Exception ex)
{
   Console.WriteLine("Error: {0}", ex.ToString());
}