【发布时间】:2014-08-22 08:31:31
【问题描述】:
使用 Visual Studio 2012、C#.net 4.5、SQL Server 2008、Feefo、Nopcommerce
大家好,我最近在我们现有的网站中实施了一项新的评论服务。
当更改在第一天上线时一切正常。
从那时起,尽管向 Feefo 发送销售一直没有工作,但也没有任何日志出现任何问题。
在 Nop Commerce 服务的 OrderProcessingService.cs 中,当订单被确认为已完成时,我会调用 HttpWebrequest。这是代码。
var email = HttpUtility.UrlEncode(order.Customer.Email.ToString());
var name = HttpUtility.UrlEncode(order.Customer.GetFullName().ToString());
var description = HttpUtility.UrlEncode(productVariant.ProductVariant.Product.MetaDescription != null ? productVariant.ProductVariant.Product.MetaDescription.ToString() : "product");
var orderRef = HttpUtility.UrlEncode(order.Id.ToString());
var productLink = HttpUtility.UrlEncode(string.Format("myurl/p/{0}/{1}", productVariant.ProductVariant.ProductId, productVariant.ProductVariant.Name.Replace(" ", "-")));
string itemRef = "";
try
{
itemRef = HttpUtility.UrlEncode(productVariant.ProductVariant.ProductId.ToString());
}
catch
{
itemRef = "0";
}
var url = string.Format("feefo Url",
login, password,email,name,description,orderRef,productLink,itemRef);
var request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = false;
request.Timeout = 5000;
request.Proxy = null;
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusDescription == "OK")
{
var stream = response.GetResponseStream();
if(stream != null)
{
using (var reader = new StreamReader(stream))
{
var content = reader.ReadToEnd();
}
}
}
}
如您所见,它是一个在订单上处理的简单 Web 请求,所有产品变体都发送到 Feefo。
现在:
- 自 15 日(即 实施)
- 该网站最近一直处于停顿状态。
var 内容中的流和阅读器可用于调试。
我想知道代码是否会向您提示与网站流程相关的任何内容? 另请注意,我已经运行了一些 SQL 语句来查看是否存在任何死锁或大规模升级,到目前为止似乎还不错,日志也很好,只是通常的 Bot 日志记录。
任何帮助将不胜感激!
编辑:还请注意,此代码位于一个被调用并包装在 A try catch 中的方法中
更新:忘记“不发送”,那是因为我刚刚被告知我的代码上周回滚了
【问题讨论】:
-
为了给您一个更好的答案,您能指出您添加该代码的确切位置吗?
-
它在 orderprocessing 方法中的 Nop.Services.Orders 中找到的“OrderProcessingService.cs”的一部分,有一个“if”语句检查订单是否“已确认”,如果是则尝试调用该方法,这是我的代码所在的位置。
标签: c# sql-server-2008 asp.net-mvc-4 nopcommerce