使用IP地址时,Web服务不会在主机上触发

时间:2014-03-26 11:52:03

标签: web-services iis dynamics-crm-2011 ip-address publish

我不太清楚问题是什么,但我会尝试解释当前的行为:

我有一个与CRM交互的silverlight应用程序。在按钮上单击某些数据从CRM加载。此应用程序在我的IIS上本地发布。

从主机:   - 我使用包含“localhost”的URL来访问我的应用程序,该按钮触发了webservice并且数据已加载。   - 我使用了包含“IP地址”的URL,但是按钮什么也没做,也没有出现脚本错误。 (我的问题在这里)

从网络上的另一台计算机:   - 我使用了包含“IP地址”的URL,并且工作正常

有人可以指出为什么我不能在本地使用IP地址来访问我的应用程序吗?

编辑:

按钮后面的代码点击:

   private void Contacts_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            QueryExpression query = new QueryExpression();
             query.EntityName = "contact";
            query.ColumnSet = new ColumnSet() { AllColumns = true, Columns = new System.Collections.ObjectModel.ObservableCollection<string>(new String[]{ "" })};

            query.PageInfo = new PagingInfo { Count = MaxRecordsToReturn, PageNumber = 1, PagingCookie = null };
            OrderExpression oe = new OrderExpression();
            oe.AttributeName = "fullname";
            oe.OrderType = OrderType.Ascending;
            query.Orders = new System.Collections.ObjectModel.ObservableCollection<OrderExpression>(new OrderExpression[] { oe }) ;
            OrganizationRequest request = new OrganizationRequest() { RequestName = "RetrieveMultiple" };
            request["Query"] = query;

            IOrganizationService service = SilverlightUtility.GetSoapService();

            service.BeginExecute(request, new AsyncCallback(Contact_ClickCallback), service);
        }
        catch (Exception ex)
        {
            //this.ReportError(ex);
        }
    }

    private void Contact_ClickCallback(IAsyncResult result)
    {
        try
        {
            OrganizationResponse response = ((IOrganizationService)result.AsyncState).EndExecute(result);
            EntityCollection results = (EntityCollection)response["EntityCollection"];
            System.Collections.ObjectModel.ObservableCollection<StudentClass> resultsarray=getTwoDimensionalArray(results);

            Dispatcher.BeginInvoke(delegate { EntityDataGrid.ItemsSource = resultsarray; });


        }
        catch (Exception ex)
        {
            //this.ReportError(ex);
        }
    }

函数:getTwoDimensionalArray,只需获取返回的实体集合,并创建一个类“Contacts”的实例来保存返回的值。

1 个答案:

答案 0 :(得分:0)

这听起来像是一个环回检查问题。有关详细信息,请参阅此知识库文章:http://support.microsoft.com/kb/896861