Fix: Validate MessageQueue path in constructors#14
Open
michaelsw95 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When trying to set a MessageQueue up locally I inadvertently passed a WCF NetMsmqBinding URI instead of a MSMQ path.
Later when associating a ReceiveCompleted message handler I got an exception from the library
`System.ArgumentOutOfRangeException: 'length ('-1') must be a non-negative value. Arg_ParamName_Name ArgumentOutOfRange_ActualValue'
After some digging I found the issue was related to the
FormatNameproperty being set fromResolveFormatNameFromQueuePath. So I knew it was the queue path that was then wrong and fixed my implementationThere is existing validation in the class for
Pathbut the constructor bypasses this by setting the backingpathfield instead.This PR is a suggestion to set the Path property instead which would trigger the validation. Perhaps helping a future dev find their mistake sooner