2015-08-03 93 views
-1

我在本地服务器上发布了我的网络.net应用程序,并运行它到我的电脑的浏览器上有一些查询字符串值,然后它的工作正常,但是从其他本地电脑连接网络不工作..无法使用我的IP地址访问本地主机到另一台电脑

在页面加载我计数参数,并检查它到一些const值,然后输入一些行动代码,否则显示错误味精像'请提供值'。所以无论何时我浏览'http://192.168.1.22:8091/UserPayment.aspx?OID=1024&MID=10&CID=102&UID=92&PAMT=50&TOT=03082015142000&CPHNO=9000959239&RCPT=1024&CHKNUM=0&TT=2'

发生错误:INSERT语句与FOREIGN KEY约束“FK_Receive_Payment_CompanyRegistered”冲突。数据库“crm”,表“dbo.CompanyRegistered”,列“Comp_Id”发生冲突。该语句已终止。作为调试应用程序后直接不抛出任何错误它的执行和插入记录就成功了。

String urlString = new Uri(HttpContext.Current.Request.Url.AbsoluteUri).OriginalString; 
    var queryParameters = HttpUtility.ParseQueryString(new Uri(urlString).Query); 
    var numberOfParameter = queryParameters.Count; 
    if (numberOfParameter == 10) 
    { 
     int OrranizationID = 0, MachineID = 0, empId = 0, customerId = 0; 
     string PhoneNo = Request.QueryString["CPHNO"] == null ? "0" : Request.QueryString["CPHNO"].ToString(); 
     string RecieptNo = Request.QueryString["RCPT"] == null ? "0" : Request.QueryString["RCPT"].ToString(); 
     string ChequeNo = Request.QueryString["CHQNUM"] == null ? "0" : Request.QueryString["CHQNUM"].ToString(); 
     string PaidAmnt = Request.QueryString["PAMT"] == null ? "0" : Request.QueryString["PAMT"].ToString(); 
     string TransactionTime = Request.QueryString["TOT"] == null ? "0" : Request.QueryString["TOT"].ToString(); 
    OrranizationID = Convert.ToInt32(Request.QueryString["OID"] == null ? "0" : Request.QueryString["OID"].ToString()); 
    MachineID = Convert.ToInt32(Request.QueryString["MID"] == null ? "0" : Request.QueryString["MID"].ToString()); 
    empId = Convert.ToInt32(Request.QueryString["UID"] == null ? "0" : Request.QueryString["UID"].ToString()); 
    customerId = Convert.ToInt32(Request.QueryString["CID"] == null ? "0" : Request.QueryString["CID"].ToString()); 
} 


    else 
     { 
     ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alert", "alert('Please provide PaymentInfo');", true);  
     } 
+0

只是FYI,你可以通过这样简化你的代码:'string PhoneNo = Request.QueryString [“CPHNO”] ?? “0”;'。 'ToString()'不是必须的,并且允许使用空合并运算符。 – Andrew

+0

这是一个完全不同的话题。该错误是因为您使用不存在的外键插入值。我们没有提供关于你的表的信息,所以它不是很容易帮助你,但我的猜测是,这个不正确的值在'Receive_Payment'表中的'Comp_Id'字段中,并且该表'CompanyRegistered'中缺少该值。 – Andrew

回答

0

禁用(临时)Windows防火墙和其他可能影响入站连接的防火墙/防病毒软件。确保网站绑定是任意IP或实际本地IP(不是127.0.0.1)。

+0

发生错误:INSERT语句与FOREIGN KEY约束“FK_Receive_Payment_CompanyRegistered”冲突。数据库“crm”,表“dbo.CompanyRegistered”,列“Comp_Id”发生冲突。该语句已终止。作为调试应用程序后直接不抛出任何错误它的执行和插入记录就成功了。 – Azaad

+0

你最初的问题是不同的,你不应该编辑那么多。 无论如何,我的猜测是在部署和运行调试时你有不同的数据库。 – Gerino

+0

是的,因为那个时候我正在捕捉错误抛出Registerscripmanager警告弹出,所以没有显示,所以现在我捕捉抛出隐藏的标签,然后得到这个味精。 – Azaad

0

这是windows防火墙的问题。

请在应用程序托管的计算机上关闭您的Windows防火墙。

如果你不想倒胃口防火墙请按照下面的步骤

•进入控制面板。

•转到Windows防火墙。

•前往设置。

•转到入站规则(左侧面板)。

•点击新规则(右侧面板)。

•步骤1规则类型:选择端口

•第二步协议和端口:选择TCP,然后选择特定本地端口并输入您的应用程序的端口号。

•步骤3操作:选择允许连接。

•步骤4配置文件:选择所有复选框Domain,Private,Public。

•步骤5名称:输入您想要的名称。

+0

现在在我的机器完成这个工作后也不能正常工作。 – Azaad

+0

请关闭防火墙暂时关闭防病毒,并尝试如果它的工作让我知道我会给你完整的描述。如果在防火墙关闭时不起作用,那么问题就是另一个问题。 –

+0

其关闭/ – Azaad

相关问题