参考System.net上的PCL和MVVMCross



我正在使用MVVMCross和Mono与VisualStudio 2012和稳定版Xamarin构建我的PCL核心库。我有以下编译错误:

错误3 'System.Net。WebHeaderCollection'不包含'Add'的定义,也没有扩展方法'Add'接受类型为'System.Net '的第一个参数。WebHeaderCollection'可以找到(您是否缺少using指令或程序集引用?)

当尝试这样做时:

string address = "http://www.test.com/;
            HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;  
            request.Method = "GET";
            request.Accept = "application/json";
            request.Headers.Add(HttpRequestHeader.Cookie, "customcookie");

HttpWebRequest是很好的参考。

注意:同样的代码可以在Mac上的Xamarin Studio中工作。

PCL System.Net堆栈是可移植的 -这意味着它的功能不全。

对于PCL .Net堆栈中的cookie,我相信您可以将CookieCollection设置在Request上,然后您可以在Response上检查Cookies

如果这对你来说还不够,那么你必须使用某种"注入"技术来实现你想要在每个平台上的功能-例如,你可以在mvvmcross

中使用插件

我认为你可能错过的一件事是,目前xamarin不能正确构建pcl -这即将改变,但现在今天xamarin构建pcl针对其完整的单触或单机器人堆栈。因此,xamarin可能会错误地报告pcl功能的可用性—并且基于xamarin构建的pcl肯定是不可移植的—参见http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html

我有最新的mvvmcross和Xamarin当我尝试设置请求时。我得到一个异常。在Xamarin bugzilla中有描述

最新更新