Silverlight Lightswitch - [Noelements] Debug resource chains not available

Asked

Viewed 315 times

4

I am responsible for supporting a web platform made in Silverlight, in which I am not allowed to change anything in its code. The customer has complained that sometimes there are some strange mistakes but I have no idea what is causing these errors (they do not always appear).

The most recent error was:

[Noelements]: Debug resource chains are not available. Often, the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/? linkid=106663&version=5.1.50918.00&File=System.core.dll&Key=Noelements

inserir a descrição da imagem aqui

When opening the link the following message appears:

Exception Message

Details The Definition of the Resource ID could not be found. This webpage provides Developers with Silverlight Exception message text, which can be Useful in diagnosing failures and problems with Silverlight Applications. Some Exception strings contain tokens for Additional information produced by your application.

To see These descriptive error messages on your local machine and obtain other debugging Resources, Please install the Latest version of Silverlight for Developers on your Windows or Mac computer.

I tried to install the latest version of Silverlight on the server but the server already has the latest version. I still thought it would be a problem of machine resources but the server has more than enough resources.

Analyzing the IIS logs at the time the user got the error, a log was recorded with the following data:

Método HTTP: POST
HTTP Code: 202
URI Stem: /NomeDaPlataforma/ApplicationData.svc/$batch

We thought it was not session problem because the user had successfully done operations 2 minutes before.

On Event Viewer we did not find anything that might be related to this error.

What could it be? How can I fix this error? What is /ApplicationData.svc/$batch?

Does anyone know the translation of this error in English? I have tried searching in English but can’t find anything about this error.

Note: My biggest concern is not HTTP code 202, it is the error [NoElements] that sometimes appears on the platform.

  • Good afternoon.. 2 questions... 1) Application Is Remotely Accessed? 2) Only Happens With 1 Customer and Has More Using Smoothly?

  • @itwasme no, the application is published on a server and is normally accessed by the browser like any other website. It happens to everyone who accesses the site

  • The 202 response is intentionally not compromising. Its purpose is to allow a server to accept a request for some other process (perhaps a batch-oriented process that runs only once a day) without requiring the user agent’s connection to the server to persist until the process is completed. The entity returned with this response MUST include an indication of the current request status and a pointer to a status monitor or an estimate of when the user can expect the request to be met.

  • Read here https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd315592(v%3dws.10)

  • Do one thing, please. Change the browser that accesses the application. For example: If in your company the computers that access the program use windows and the program is accessed by Google Chrome go to use Microsoft Edge and see if the error persists.

  • @Augustovasques as Microsoft no longer supports the technology in which the application was created, currently only runs on IE.

  • 1

    @Ninita tries to empty the IE cache. If the cache is pressing may be the cause of sporadic and increasingly frequent errors.

  • @Ninita. As the technology is no longer supported it is no case of running IE as if it were a previous version of windows.

Show 3 more comments

1 answer

5

Two information you have to keep in mind. What is status HTTP 202 and the second is $batch.

What is HTTP status 202?

According to the standard RFC 7231 HTTP status 202 means (my free translation):

Status code 202 (Accepted) indicates that the request has been accepted for processing, but processing has not been completed.

The request may or may not eventually be executed, just as it may be disabled while the process is being routed. There is no device to resend a status code from an asynchronous operation server.

The 202 response is intentionally evasive. Its purpose is to allow a server to accept a request for some other process (perhaps a batch-oriented process that runs only once a day) without requiring the user agent’s connection to the server to persist until the process is completed. The attachment sent with this reply should describe the current status of the request and point to (or embed) a status monitor that can provide the user with an estimate of when the request will be met.

What is $batch

Batch is the batch file where various information can be listed. A batch file can contain:

  • configuration information

  • as to be interpreted

  • data structures

  • automated operations results (which is your case).

Servers usually use $batch to protect sensitive information from being exposed on Urls or else use $batch to prevent Urls from getting too long.

What happened?

The HTTP 202 status indicates that the operation requested by the user has been received only that the server is unable to return the response stating that the request has been processed or not, because the request was made asynchronously and reference between the origin and the destination was lost. Then the server generates HTTP 202 status for the user and saves it in the file /NomeDaPlataforma/ApplicationData.svc/$batch the outcome, success or failure of the operation.

What can create this kind of situation?

There are numerous factors that can generate this noise of communication between the client and the server. Without access to the source code of the operation I cannot give a technical opinion but I can speculate on external sources to the source code, which may be:

  • virus

  • problems with server hardware. Memory, hard disk and network cards must be checked.

  • problems with client hardware. Memory and network cards should be checked.

  • server version conflict with the software. The software may have been written to a different version of the server.

  • Silverlight version conflict with the software. The software may have been written for a different version of Silverlight.

  • . NET Framework version conflict with the software. The server is running a different version of . NET Framework on which the application was designed to run.

  • any application running concurrently with the software that affects the behavior of the software.

  • any policy or directive that affects the behavior of the application.

How should I proceed?

First thing to check is the file /NomeDaPlataforma/ApplicationData.svc/$batch to know if the operations are being carried out or not. Second thing is to look for viruses or some application that is interfering with the normal operation of the program.Read the documentation of the program and look for the necessary translation for the program’s operating platforms.Read the documentation of the program and look for policy, directive, environment variables or settings causing interference. Check the hardware for anomalies. Carried out these preliminary steps and possession of the data of the /NomeDaPlataforma/ApplicationData.svc/$batch take this data to the programmer or programming team where it will be decided whether to make a change to the source code or to disable (not advisable) the posting of the 202 status of the HTTP server.

  • The meaning of HTTP 202 I also know and if I didn’t know I was searching the net. The file /NomeDaPlataforma/ApplicationData.svc/$batch does not exist and never existed, even because the ApplicationData.svc is a file. I’ve realized that it might actually be important for me to find the problem but if it doesn’t exist in the post folder, where can I find it (or something similar)? In the code project there is nothing about it so its path is not configurable. As I said, the machine has more than enough features, and the error is really very sporadic.

  • @Ninita Who generates $batch is the server you will have to search in the settings the folder in which it puts the log and batchs since that /NomeDaPlataforma/ApplicationData.svc/$batch is a virtual path.

  • @Nymite. Since you wrote that the error is rather sporadic, is there a possibility that it is occurring at a time when the server is overloaded? Because if the error is occurring at peak times a possibility may be that the program is prioritizing lower traffic operations next to the server and closing request connection request which will not perform any more operation, prior to the arrival of the successful notification of the operation which would generate the 202 status on the server. If this is the sequence of events that leads to the problem, just analyzing the source code to solve

Browser other questions tagged

You are not signed in. Login or sign up in order to post.