Member 11303379 Ответов: 1

Ошибка WCF : индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс


Мы получаем следующую ошибку, когда только вызываем webservice:

"Server Error in '/app' Application.
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index]
   System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) +64
   System.ThrowHelper.ThrowArgumentOutOfRangeException() +15
   System.Collections.Generic.List`1.get_Item(Int32 index) +7504692
   System.ServiceModel.Web.WebServiceHost.AddAutomaticWebHttpBindingEndpoints(ServiceHost host, IDictionary`2 implementedContracts, String multipleContractsErrorMessage) +82
   System.ServiceModel.Web.WebServiceHost.OnOpening() +203
   System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +229
   System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +121
   System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +479

[ServiceActivationException: The service '/app/JSON/UserService.svc' cannot be activated due to an exception during compilation.  The exception message is: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index.]
   System.ServiceModel.AsyncResult.End(IAsyncResult result) +11654478
   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +194
   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +176
   System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +275
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75"

Ниже приведен URL-адрес веб-сервиса: UserService[^]

У нас есть такая же служба в другом домене на том же сервере, но она работает нормально.

Не хватает ли нам каких-либо ссылок или настроек в IIS?
Любая помощь по вышеизложенному приветствуется.

Richard MacCutchan

Часть сообщения, выделенная жирным шрифтом, говорит вам, в чем заключается проблема. Вам нужно определить, на какой индекс он ссылается и почему он имеет недопустимое значение.

Member 11303379

На самом деле мы не вызываем никакой функции сервиса, а только url-адрес к нему. Таким образом, мы не смогли определить, где он собирается проверить какой-либо индекс.

И удивительно, что тот же сервис работает на другом домене на том же сервере.
Вы можете проверить ниже url-адрес для той же службы:
http://eplannerpro.com/app/JSON/UserService.svc

1 Ответов

Рейтинг:
0

ar-b

у меня тоже есть эта проблема.
Моя служба wcf запускается консольным приложением (selfHosted) в моем клиенте.
таким образом , мой сервис работает правильно в своем клиенте, но в другом клиенте есть эта ошибка "Index was out of range.....", хотя я могу нахмурить свой Url-адрес сервиса на IE и увидеть его метаданные и правильно добавить ссылку на сервис в решение.

еще один вопрос: :
я опубликовал свой сервис wcf на iis. значит ли это, что мой сервис запущен?

пожалуйста помочь ..