Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Perf guidelines #303
Perf guidelines #303
Changes from 26 commits
263f1de
4ede736
50106fb
a0902e0
66fa796
5ae1c67
16e6032
2b6be78
b471a30
92d66ff
d61f45a
ae4163c
84ccfa7
337fc87
302ef97
1f662cf
626bfc0
2e96a88
f40934e
c52a2bd
c852866
037bce8
5b0986c
15bd9c5
78115bb
73c1800
affe33b
e1eae09
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line below:
"on .NET Core 3.1 and above (i.e. .NET 6 etc.)" => "on .NET Core 3.1 and above"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In any case .NET Core 5 applies too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't mention .NET 5 because it was already out of support by then. I wasn't sure if someone who's not conversant with the .NET evolution would know that .NET 6+ is in the same line of success as .NET Core 3.1 given that name change from .NET Core to .NET. Maybe I could say .NET Core 3.1 and .NET 5+
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this
Microsoft.AspNetCore 7
only or evenMicrosoft.AspNet.OData
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
ODataUtf8JsonWriter
is not supported inMicrosoft.AspNet.OData
because it depends onUtf8JsonWriter
which is not supported in .NET Framework.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@habbes I don't think this particular article is related to
ODataUtf8JsonWriter
, is it?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm. You are correct. I had confused this with a different conversation. Let me revert back with a response.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can do this in AspNet.OData 7 as well using the
MapODataServiceRoute
method like the MVC routing approach below. The only difference is that the AspNet 7.x configuration setup looks different from the AspNetCore one (there's no Startup class with a Configure method, there's aWebApiConfig
class with aRegister
method that takes aHttpConfiguration
argument.But the OData part is identical. I think readers would still be able to easily adapt this sample to their AspNet.OData code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is confusing.. Which feature is availabe here? Is it the use of utf8jsonwriter? Somewhere up there you indicated that people can enable utf8jsonwriter in
Microsoft.AspNetCore.OData 8.x and 7.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should make it clear which version of ODL has this change..Then all versions of Microsoft.AspNetCore.OData with that ODL version have the feature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The feature is available in both 8.x and 7.x. But in 8.x it's only available in 8.0.11 or later, i.e. not available in 8.0.10 earlier. This particular article exists in the WebAPI 8 docs page. There are separate articles in the 7.x docs which specify the minimum version of 7.x supported: https://learn.microsoft.com/en-us/odata/webapi/using-utf8jsonwriter-to-improve-serialization-performance.
The article already mentions which version of ODL introduces this feature: 7.12.2. I think it's also relevant to mention the version of WebAPI 8 that introduces this feature. Someone may be using an older version like 8.0.7. I think it's easier to tell them this is feature requires 8.0.11 or later than to ask them to go through all the 8.x versions to and look for the ones that depend on ODL 7.12.2 or later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@habbes I know it'd involve a bit more work, but would it be better to capture the supported versions here:

That is add includes specific to the version(s) that support
ODataUtf8JsonWriter
. That way the doc doesn't say at the top that the feature is supported in the V8 and then in the body it says 8.0.11.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@habbes Another suggestion would be to rephrase the paragraph to immediately establish the connection between Microsoft.OData.Core 7.12.2 and Microsoft.AspNetCore.OData 8.0.11, e.g.:
Then you don't need the sentence: "This feature is available in ASP.NET Core OData version 8.0.11 or later."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gathogojr do you mean adding an includes specific for 8.0.11 and later? Or? I'm not sure I understood the statement. Note that this particular article sits in the Web API 8 docs tree, which is separate from the Web API 7 docs tree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gathogojr I've rephrased the statement as suggestion, except that I didn't mention that part about "The Microsoft.AspNetCore.OData library takes a dependency on Microsoft.OData.Core library". Not sure if that's really necessary. But open to adding it if you think otherwise.