无法确定URI的格式 - c#

时间:2012-03-30 15:05:43

标签: c# asp.net

我正在使用以下代码,这些代码在开发服务器上运行完美但在实时服务器上出错。

它给了我以下错误

System.UriFormatException:无效的URI:无法确定URI的格式。

请指导我如何解决此问题。

<-----------------Code Started--------------------->

private void InsertThrAPI(clsProductProp objProductProp)
{
    xmldata data = new xmldata();
    data.Items = new xmldataProducts[1];
    data.Items[0] = new xmldataProducts();


    objProduct.stockstatus = Convert.ToString(objProductProp.stockstatus);
    objProduct.price = Convert.ToString(objProductProp.price);
    objProduct.productname = Convert.ToString(objProductProp.productname);
    objProduct.productshortname = Convert.ToString(objProductProp.productshortname);
    objProduct.productcode = Convert.ToString(objProductProp.productcode);
    objProduct.description = Convert.ToString(objProductProp.description);
    objProduct.technicalspecs = Convert.ToString(objProductProp.technicalspecs);
    objProduct.shippingcost = Convert.ToString(objProductProp.shippingcost);
    objProduct.productweight = Convert.ToString(objProductProp.productweight);
    objProduct.vendorprice = Convert.ToString(objProductProp.vendorprice);
    if (objProductProp.shipping == true || objProductProp.shipping == Convert.ToBoolean(1))
    {
        objProduct.shipping = "Y";
    }
    else
    {
        objProduct.shipping = "N";
    }

    //Populate the product fields here

    data.Items[0].StockStatus = objProduct.stockstatus;
    data.Items[0].ProductPrice = objProduct.price;
    data.Items[0].ProductName = objProduct.productname;
    data.Items[0].ProductNameShort = objProduct.productshortname;
    data.Items[0].ProductCode = objProduct.productcode;
    data.Items[0].ProductDescription = objProduct.description;
    data.Items[0].TechSpecs = objProduct.technicalspecs;
    data.Items[0].FreeShippingItem = objProduct.shipping;
    data.Items[0].Fixed_ShippingCost = objProduct.shippingcost;
    data.Items[0].ProductWeight = objProduct.productweight;
    data.Items[0].Vendor_Price = objProduct.vendorprice;




    string productXML = Utils.GetProductXML(data);
    string APIURL = Utils.GetAPIPostURL(ImportMode.Insert);
    XMLPostManager manager = new XMLPostManager();
    string response = manager.SendXMLToURL(APIURL, productXML);

    //Response.Write(response);
}

2 个答案:

答案 0 :(得分:0)

我们需要看到URL告诉你它有什么问题,但你可以检查以确保URL有效:

if (Uri.IsWellFormedUriString(APIURL, UriKind.RelativeOrAbsolute))
{
    //url is valid
}

答案 1 :(得分:0)

  

请指导我如何解决此问题。

我猜你的主要问题是这只发生在live而不是dev系统中,所以调试很难?

一些建议:

  • 查看添加日志记录代码 - 那里有很多信息,但是 类似Log4Net之类的东西将是一个良好的开端。添加日志代码 对于这种方法,您应该希望看到导致的数据 的问题。
  • 看看您是否可以在单元测试中添加更实际的数据 其他内部测试,看看你是否能发现这一点。