我正在使用Visual Studio编辑源代码,有一段时间我切换到Windows资源管理器以使用TortoiseSVN提交更改.这个程序对我很有用,我很满意.但是,最近我开始重命名类并重新组织命名空间.我喜欢在Visual Studio中重命名和移动文件,因为它会自动为我更新项目文件.但是,当我提交更改时,我必须告诉TortoiseSVN删除旧文件并添加新文件,这不完全正确并且它打破了特定代码的历史记录.
所以我的问题是:当我在Visual Studio中重命名文件时,有没有办法告诉TortoiseSVN我这样做是为了保存文件历史记录?
更新(16:30): Ankhsvn似乎是明显的答案,但我喜欢他们现在的事情.这听起来很奇怪,但我喜欢TortoiseSVN没有集成到Visual Studio中.这可能是因为我总是在我的辅助监视器上打开文件管理器时设置了两个监视器.也许是因为我发现解决方案资源管理器有点笨重.也许是因为我喜欢将代码编辑和修订控制视为软件开发的单独步骤.我不知道.
我的代码有问题,我希望得到一些帮助.我是第一次使用这段代码:
new DefaultHttpClient().execute(new HttpGet(linkk)).getEntity().writeTo(
new FileOutputStream(f));
Run Code Online (Sandbox Code Playgroud)
它在Android 2.3上运行得很好但在4.0上却没有.经过一些研究,我听说使用AndroidHttpClient更好,这样它就可以在4.0和3.1上运行.问题是我不知道我是否正确修改了我的代码,而且互联网上没有太多关于AndroidhttpClient的例子.
这是我调整后的代码:
AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
HttpGet request = new HttpGet(linkk);
HttpResponse response = client.execute(request); //here is where the exception is thrown
response.getEntity().writeTo(new FileOutputStream(f));
Run Code Online (Sandbox Code Playgroud)
这是logcat显示的内容:
01-03 01:32:11.950: W/dalvikvm(17991): threadid=1: thread exiting with uncaught exception (group=0x40a2e1f8)
01-03 01:32:11.986: E/AndroidRuntime(17991): FATAL EXCEPTION: main
01-03 01:32:11.986: E/AndroidRuntime(17991): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lacra.fbirthdays/com.lacra.fbirthdays.ListV}: android.os.NetworkOnMainThreadException
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-03 01:32:11.986: E/AndroidRuntime(17991): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-03 01:32:11.986: …
Run Code Online (Sandbox Code Playgroud) 我见过的所有IHttpModule实现如下:
class HttpCompressionModule : IHttpModule
{
public void Init(HttpApplication application)
{
application.SomeEvent += OnSomeEvent;
}
private void OnSomeEvent(Object source, EventArgs e)
{
// ...
}
public void Dispose()
{
// nothing here !!!
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么Dispose
方法总是空的?我们不应该取消订阅我们在Init
方法中订阅的事件吗?
我有一个(写得很差)基类,我想包装在一个代理对象中.基类类似于以下内容:
public class BaseClass : SomeOtherBase
{
public BaseClass() {}
public BaseClass(int someValue) {}
//...more code, not important here
}
Run Code Online (Sandbox Code Playgroud)
而且,我的代理类似于:
public BaseClassProxy : BaseClass
{
public BaseClassProxy(bool fakeOut){}
}
Run Code Online (Sandbox Code Playgroud)
如果没有"fakeOut"构造函数,则应该调用基本构造函数.然而,有了它,我预计它不会被调用.无论哪种方式,我要么需要一种方法来不调用任何基类构造函数,或者其他一些方法来有效地代理这个(邪恶的)类.
下面是进行身份验证的代码,生成Authorization标头并调用API.
不幸的是,我在API上发出请求后收到401 Unauthorized
错误GET
.
但是,当我捕获Fiddler中的流量并重放它时,对API的调用成功,我可以看到所需的200 OK
状态代码.
[Test]
public void RedirectTest()
{
HttpResponseMessage response;
var client = new HttpClient();
using (var authString = new StringContent(@"{username: ""theUser"", password: ""password""}", Encoding.UTF8, "application/json"))
{
response = client.PostAsync("http://host/api/authenticate", authString).Result;
}
string result = response.Content.ReadAsStringAsync().Result;
var authorization = JsonConvert.DeserializeObject<CustomAutorization>(result);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authorization.Scheme, authorization.Token);
client.DefaultRequestHeaders.Add("Accept", "application/vnd.host+json;version=1");
response =
client.GetAsync("http://host/api/getSomething").Result;
Assert.True(response.StatusCode == HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,Authorization标头丢失.
但是,在Fiddler中,标题成功传递.
知道我做错了什么吗?
我如何将以下对象Car绑定到gridview?
public class Car { long Id {get; set;} Manufacturer Maker {get; set;} } public class Manufacturer { long Id {get; set;} String Name {get; set;} }
原始类型很容易绑定,但我发现无法为Maker显示任何内容.我想让它显示Manufacturer.Name.它甚至可能吗?
怎么办呢?我是否还必须将ManufacturerId存储在Car中,然后使用制造商列表设置lookupEditRepository?
当用户将文件上传到我的Web应用程序时,我希望显示更有意义的动画gif.我有什么可能吗?
编辑:我正在使用.Net,但我不介意有人向我展示平台不可知版本.
目前要向API接口发送参数化GET请求,我正在编写以下代码:
api/master/city/filter?cityid=1&citycode='ny'
Run Code Online (Sandbox Code Playgroud)
但我发现URL长度限制为2,083个字符.
为了避免这种情况,我想在内容体中以json格式发送参数以获取GET请求.
但是,我发现HttpClient的Get方法都不允许发送内容正文.对于POST,我可以看到HttpClient中有一个名为PostAsync的方法允许内容体.
有没有办法为不在URL中的GET请求发送参数以避免URL长度限制?
c# ×6
.net ×5
ajax ×1
android ×1
asp.net ×1
constructor ×1
data-binding ×1
exif ×1
get ×1
httpmodule ×1
inheritance ×1
javascript ×1
oop ×1
proxy ×1
request ×1
rest ×1
tortoisesvn ×1