草庐IT

c# - 根据 "/"拆分字符串(Uri的路径)

想知道是否有人可以指出我正确的方向。我想要实现的是根据其中包含“/”的字符串拆分字符串。例如,如果我有:www.site.com/course/123456/216代码(c#)我希望能够在代码中拆分字符串,以便123456可以分配给变量param1,216可以分配给param2(当然是页面的“友好”名称)。如果我要在字符串上添加第三个“/”,我希望它成为param3,等等。理想情况下,我希望能够将这段代码放在某个地方,以便我可以将它包含在我需要它工作的任何用户控件上。 最佳答案 Uri.Segments也许您正在寻找:newUri(

c# - 组合 URI 和路径

我正在retrofit一个应用程序以使用PHPHTTP代理(用于缓存)而不是实际的API服务器,该应用程序当前将服务器URI和路径与代码结合在一起:methodUri=newUri(apiUri,method.Path)地点:apiUri="http://api.eve-online.com/"(System.Uri对象)method.Path="/char/SkillIntraining.xml.aspx"(字符串)上面语句的结果是"http://api.eve-online.com/char/SkillIntraining.xml.aspx"(System.UriObject)要使

c# - 使用 FtpWebRequest 上传期间 "Requested URI is invalid"

我正在尝试将文件上传到FTP服务器上的目录。我将此方法与FtpWebRequest一起使用。我想将一个文件上传到该用户的主目录,但我总是收到以下错误消息:TherequestedURIisinvalidforthisFTPcommand.有什么问题?我试过关闭被动模式,但还是一样。staticvoidFtpUpload(){//Gettheobjectusedtocommunicatewiththeserver.FtpWebRequestrequest=(FtpWebRequest)WebRequest.Create("ftp://12.22.44.45");request.Metho

c# - 带有 dontEscape 的 Uri 构造函数已过时,替代方案是什么?

我的问题是关于在不转义的情况下将URL传递给HttpWebRequest,我搜索了论坛和互联网,但没有找到好的解决方案。我有以下URL:stringURL=www.website.com/sub/redirec\t\bs\dd所以当我像这样创建一个uri时:Uriuri=newUri(URL);HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(uri);在这种情况下,使用get方法我将获得以下URL:www.website.com/sub/redirect%5Ct%5Cbc%5Cdd这个符号“\”将被“%5C”取代。对我来说

c# - Uri.TryCreate 对任何字符串值返回 true?

我尝试使用Uri.TryCreate方法验证Uri,当我使用无效字符串调用它时,该方法返回true。任何想法为什么?我的代码如下:privatevoidbutton1_Click(objectsender,EventArgse){UritempValue;if(Uri.TryCreate("NotAURL",UriKind.RelativeOrAbsolute,outtempValue)){MessageBox.Show("?");}} 最佳答案 这是一个有效的相对URL。一个无效URI的例子是:"http://example.co

c# - 使用 Entity Framework Fluent Api 映射 System.Uri

很简单的问题。我有一个模型,它有一个System.Uri类型的属性。Uri没有默认的无参数构造函数,也没有ID字段。有没有什么方法可以覆盖我的模型生成以自定义方式将其存储在数据库中(例如,作为string)?在NHibernate中,我之前通过实现IUserType来完成此操作,但我在CodeFirst中找不到类似的机制。显然,我可以创建一个自定义类型,它在后台使用Uri并公开常规的可映射属性和构造函数,我只是想知道是否有任何方法可以映射此系统类型,以便我不必制作那样的包装器。 最佳答案 这是一个非常古老的问题,但我今天刚遇到同样的

c# - 如何为 GoogleWebAuthorizationBroker.AuthorizeAsync 设置 return_uri?

我正在尝试使用GoogleCalendarAPI在我的非MVC.NETWeb应用程序中。(这似乎是一个重要的区别。)我尝试使用来自thisexample的代码在谷歌和thisexample在Daimto以及一些有用的提示relatedpostshere.我写了下面的方法:publicvoidGetUserCredential(StringuserName){StringclientId=ConfigurationManager.AppSettings["Google.ClientId"];//FromGoogleDeveloperconsolehttps://console.devel

c# - 如何(xml)序列化一个uri

我有一个标记为可序列化的类,它具有Uri属性。如何在不创建字符串类型属性的情况下使Uri序列化/反序列化? 最佳答案 使用xml序列化器,你是有限的-它不像(比如说)一些binaryformatter/ISerializable选项那样通用。一个常见的技巧是拥有第二个序列化属性:[XmlIgnore]publicUriUri{get;set;}[XmlAttribute("uri")][Browsable(false),EditorBrowsable(EditorBrowsableState.Never)]publicstringU

c# - 如何创建使用 GenericUriParserOptions.DontCompressPath 解析的 Uri 实例

当.NETSystem.Uri类解析字符串时,它会对输入执行一些规范化,例如小写方案和主机名。它还会修剪每个路径段的尾随句点。后一个特性对OpenID应用程序来说是致命的,因为某些OpenID(如Yahoo发布的)包括可能以句点结尾的base64编码路径段。如何禁用Uri类的这种周期修剪行为?使用UriParser.Register和使用GenericUriParserOptions.DontCompressPath初始化的解析器注册我自己的方案,避免了周期修剪,以及其他一些对OpenID也不受欢迎的操作。但是我无法为HTTP和HTTPS等现有方案注册新的解析器,而我必须为OpenID

c# - 无效的 URI : The hostname could not be parsed

我正在尝试构造一个URI。但是我无法处理错误的URI。有什么方法可以处理错误的URI?我正在使用的代码:if(reviews[e.Item.ItemIndex].URL.ToString().Contains("http:")){oURI=newUri(reviews[e.Item.ItemIndex].URL.ToString());}else{oURI=newUri("http://"+reviews[e.Item.ItemIndex].URL.ToString());}else部分因错误的URI而出错。谢谢! 最佳答案 调用U