我正在尝试使用MBN Api连接到3g网络。但是当我在IMbnConnection
中调用connect方法时,它会引发异常。
The network connection profile is corrupted. (Exception from HRESULT: 0x800704B6)
我试图使用Microsoft的移动宽带文档(Link)在我的代码中生成的配置文件中找到拼写错误和其他错误,但我找不到。
我还在博客上发现此HRESULT可能来自错误的IMSI编号(here),因此我手动与Windows连接,并将我的个人资料中的数字与连接属性中的数字进行比较,发现它们是相同的,包括IMSI和ICC号码。
这就是我当前生成XML的方式。
<MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1">
<Name>boomer3g</Name>
<ICONFilePath>Link/To/BMPFILe</ICONFilePath>
<Description>3G Network profile created by Boomerweb</Description>
<IsDefault>true</IsDefault>
<ProfileCreationType>UserProvisioned</ProfileCreationType>
<SubscriberID>IMSI Number (i counted 15 characters)</SubscriberID>
<SimIccID>ICC number (i counted 19 characters)</SimIccID>
<AutoConnectOnInternet>false</AutoConnectOnInternet>
<ConnectionMode>auto</ConnectionMode>
</MBNProfile>
这是生成XML配置文件的代码。 // XML命名空间
XNamespace xmlns = XNamespace.Get("http://www.microsoft.com/networking/WWAN/profile/v1");
XDocument xmlDocument = new XDocument(
new XElement(xmlns + "MBNProfile",
new XElement(xmlns + "Name", "boomer3g"),
new XElement(xmlns + "ICONFilePath", Path.GetFullPath("Resource/KPN-icon.bmp")),
new XElement(xmlns + "Description", "3G Network profile created by Boomerweb"),
new XElement(xmlns + "IsDefault", true),
new XElement(xmlns + "ProfileCreationType", "UserProvisioned"),
new XElement(xmlns + "SubscriberID", subscriberInfo.SubscriberID),
new XElement(xmlns + "SimIccID", subscriberInfo.SimIccID),
new XElement(xmlns + "AutoConnectOnInternet", false),
new XElement(xmlns + "ConnectionMode", "auto")
)
);
//Create xml document
string xml;
XmlWriterSettings XmlWriterSet = new XmlWriterSettings();
XmlWriterSet.OmitXmlDeclaration = true;
using (StringWriter StrWriter = new StringWriter())
using (XmlWriter XWriter = XmlWriter.Create(StrWriter, XmlWriterSet))
{
xmlDocument.WriteTo(XWriter);
XWriter.Flush();
xml = StrWriter.GetStringBuilder().ToString();
}
还有什么可以给这个HRESULT?你们能举一个MBN简介的例子吗?或者我的代码生成配置文件有什么问题吗?
答案 0 :(得分:2)
伙计们我解决了我的问题。事实证明我在xml上面没有我的XMl声明。
我的xml现在是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1">
<Name>boomer3g</Name>
<ICONFilePath>Link/To/BMPFILe</ICONFilePath>
<Description>3G Network profile created by Boomerweb</Description>
<IsDefault>true</IsDefault>
<ProfileCreationType>UserProvisioned</ProfileCreationType>
<SubscriberID>IMSI Number (i counted 15 characters)</SubscriberID>
<SimIccID>ICC number (i counted 19 characters)</SimIccID>
<AutoConnectOnInternet>false</AutoConnectOnInternet>
<ConnectionMode>auto</ConnectionMode>
</MBNProfile>
所以事实证明我的代码没有任何问题,我只是删除了我不应该删除的东西。我知道这是一个愚蠢的错误。