正常に動作していた Web サービスの URL があり、現在次のエラーが返されています: UriTemplate は、セグメントまたはクエリ パーツの有効な形式として "{}" をサポートしていません。
私は通常、Visual Web Developer 2010 Express でファイルを操作します。それらが機能している場合と機能していない場合(私が考えることができる)の間で行った唯一のことは、Visual Studio 2010のProfessionalバージョンでファイルを操作したことです。次に、それらを保存し、開いてExpressで再び作業しています. (.sln ファイルを確認しましたが、それらは同一です。)
(更新) 投稿の残りの部分で問題について詳しく説明していますが、これが問題の原因だと思います: VS 2010 Professional が構成ファイル (または何らかのファイル) を編集し、その後 Visual で開いたときに解決策が壊れました。 Web 開発者 2010 Express。しかし、どのファイルが編集されたかを特定できませんでした。誰かが疑わしいファイルを教えてくれるかもしれません。MyRootDirectory/Properties にはありません。私はそれらを試しました。
問題の詳細:
この URL は以前は機能していましたが、現在は上記のエラーがスローされます
http://localhost:52631/WebServices/gg.svc/GetStoresForDropdown
この URL は以前は機能していましたが、現在は同じエラーを返しています。
http://localhost:52631/WebServices/gg.svc/StoreGroceryTable?UserId=1&StoreId=2
リクエストがコード ページに届きません。- そこのブレークポイントはヒットしません。
これがスタック トレースの先頭です。どういうわけか、私のURLがそこに到達する前に変更されていると思います。
[FormatException: UriTemplate は、セグメントまたはクエリ部分の有効な形式として '{}' をサポートしていません。] System.UriTemplateHelpers.IdentifyPartType(文字列部分) +3049859
System.UriTemplateQueryValue.CreateFromUriTemplate(文字列値、UriTemplate テンプレート) +49
System.UriTemplate..ctor(String template, Boolean ignoreTrailingSlash, IDictionary`2 additionalDefaults) +1004
2 つのメソッドの WebGet 属性は次のとおりです。
[WebGetAttribute(UriTemplate = "GetStoresForDropdown", ResponseFormat = WebMessageFormat.Json)]
[WebGetAttribute(UriTemplate = "StoreGroceryTable?UserId={UserId}&StoreId={StoreId}", ResponseFormat = WebMessageFormat.Json)]
次のブラウザを使用しても同じ結果が得られます: IE8、Chrome、FireFox
アイデア?