8

Macbook の 1 つで最も奇妙な問題が発生しています。Macbook の mono で実行される C# アプリケーションがあります。アプリケーションは HTTP を介して Web サービスと通信し、私の古い Macbook で完全に動作します。

新しい MacBook を購入し、アプリケーションをテストしていましたが、奇妙な理由がありました。

    HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create(sURI);

NotSupportedException指定された URI を例外メッセージとしてスローします。

私も次のことを試しました:

    HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.google.com");

同じ例外が発生しました。他の Mac では完全に動作しているように見えるので、なぜおかしくなっているのかわかりません。

編集:

私が使用しているMonoバージョンは2.10.11

例外のスタック トレースは次のとおりです。

Webrequest.Create  Exception string : System.NotSupportedException: http://www.google.com/
  at System.Net.WebRequest.GetCreator (System.String prefix) [0x00000] in <filename unknown>:0 
  at System.Net.WebRequest.Create (System.Uri requestUri) [0x00000] in <filename unknown>:0 
  at System.Net.WebRequest.Create (System.String requestUriString) [0x00000] in <filename unknown>:0 
  at MyApp.XSPManager.GeneralSOAPFunction (System.String serverName, System.String settingsAsXml, SharedLib.zErrorCodes& errorCode, System.String& message, System.String& actionType) [0x00000] in <filename unknown>:0

よろしく

4

1 に答える 1

1

WebRequest.GetCreateor は、サポートされているプロトコルのリストを app.config/machine.config、具体的には構成セクションから取得しますsystem.net/webRequestModules

プロトコル (この場合は「http」) が見つからない場合、NotSupportedException がスローされます。

So, check your machine.config, it's probably missing the correct webRequestModules. It should have "http" -> HttpRequestCreator.

Or, try calling the private constructor of HttpWebRequest through reflection, if all else fails.

于 2013-11-28T15:46:37.393 に答える