0

最近、完全に機能する Twitter ボット (ほぼ毎日新しい短編小説を投稿することになっている) を Twitter プロフィールにデプロイし始めました。これは、Azure 上の CRON ジョブを通じて呼び出され、MVC 4 プロジェクトでホストされています。

ただし、Azure で実行しようとすると (ローカルでは問題なく動作することに注意してください)、次のエラーが発生します。

[NetworkInformationException (0x5): Access is denied]
   System.Net.NetworkInformation.SystemIPGlobalProperties.GetFixedInfo() +9059627
   System.Net.NetworkInformation.SystemIPGlobalProperties.get_FixedInfo() +172
   System.Net.NetworkInformation.SystemIPGlobalProperties.get_DomainName() +269
   System.Net.CookieContainer..ctor() +121
   Hammock.Web.WebQuery.AppendCookies(HttpWebRequest request) +242
   Hammock.Web.WebQuery.SetRequestMeta(HttpWebRequest request) +147
   Hammock.Web.WebQuery.HandleRequestMeta(WebRequest request) +146
   Hammock.Web.WebQuery.BuildPostOrPutFormWebRequest(PostOrPut method, String url, Byte[]& content) +680
   Hammock.Web.WebQuery.BuildPostOrPutWebRequest(PostOrPut method, String url, Byte[]& content) +168
   Hammock.Web.WebQuery.ExecutePostOrPut(PostOrPut method, String url, WebException& exception) +181
   Hammock.Web.WebQuery.Request(String url, WebException& exception) +252
   Hammock.Authentication.OAuth.OAuthWebQuery.Request(String url, WebException& exception) +157
   Hammock.RestClient.RequestImpl(RestRequest request) +943
   Hammock.RestClient.Request(RestRequest request) +74
   TweetSharp.TwitterService.WithHammockImpl(RestRequest request) +83
   TweetSharp.TwitterService.WithHammock(WebMethod method, String path) +120
   TweetSharp.TwitterService.SendTweet(SendTweetOptions options) +782

Azureがサポートしていないポートなどを使用しているためだと思います。またはそれは?この問題のトラブルシューティングをどこから始めればよいか見当もつきません。また、ウェブで検索しても助けがありませんでした。

これが私のコードです。ご覧のとおり、アクセス トークンとシークレットはハードコードされており、(前述のように) ローカルで動作しています。

var service = new TwitterService("qwdwqdqwd", "qwdwqdqwdqwd");
service.AuthenticateWith("qwdqwdqwdqwd", "qwdqwdqwdwqd");

var status = "Collaborative short story of the day: Blah";
var response = service.SendTweet(new SendTweetOptions() {Status = status}); //crash!

どうした?

4

2 に答える 2

1

またはでプロジェクトを実行しますAzure Web SiteAzure Cloud Service?

StackTrace を考えると、それを少し掘り下げると、SystemIPGlobalPropertiesいくつかの安全でないメソッドが使用されているように見えます。安全でないメソッドを使用するには、完全な信頼が必要です。

注意 安全でないコンテキストを使用して記述されたコードは、安全であると検証できないため、コードが完全に信頼されている場合にのみ実行されます。つまり、安全でないコードは信頼できない環境では実行できません。

また、システム コンポーネントへの低レベル アクセスには、特権の昇格が必要になる場合があります。Windows Azure Web サイトは完全な信頼をサポートしていないため、このコードを Azure Web サイトで実行することはできません。

Cloud Service を実行する場合は、コードが Full Trust で実行されることを確認してください。これで問題が解決する場合は、昇格された権限でコードを実行してください。( runtimecsdef ファイルの要素)


于 2013-06-05T09:55:56.497 に答える