最近、完全に機能する 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!
どうした?